
几乎从来没有实时的合唱.
在分析背后的真正原因之前,我们需要简要描述一下实时合唱的样子.
简而言之,有以下几点:
1. 伴奏播放: 因为这是两个人的合唱,所以如果在各自的手机上播放该伴奏,则该伴奏将不同步. 效果肯定会不同步,因此最简单的控制方法是让伴奏播放,以确保两个人在同一秒钟内听到相同的音符;
2. 双方都必须实时听到对方的声音: 彼此之间只有在更接近我们在KTV的体验之前,对方才能听到对方的声音;
3. 声音质量必须得到保证: 这也是所有K歌场景的基本要求.
当然,我们还可以添加MV屏幕同步显示,人声效果和其他功能.

尽管要求很少,但很难实现. 有两个主要问题需要解决. 让我们分析一下两个人一起唱歌的情况:
第一个困难: 合唱的同步
在效果方面,我们可以考虑尝试在KTV私人房间中跟随伴奏的节奏. 在“实时合唱”(以下称为“实时合唱”)中也是如此,并且还必须实现使两个人的声音与背景音乐同步和同步的效果. 也就是说,任何合唱,对方的声音和伴奏都是同步的.
要实现此效果,您需要确保端到端延迟小于100ms,甚至更低. 因为对于用户来说,很明显不用网络唱歌软件,不同步的人声和伴奏可以听到超过100毫秒的声音,这可能慢了半个单词,甚至一个单词.
但是问题是确保低延迟非常困难. 为什么这么说?
在合唱演唱和伴奏的传输过程中,数据传输的多个阶段将被延迟. 但是减少每个数据传输阶段的延迟的方法是不同的. 我们在这里仅作简要分析. 有关更多详细信息,您可以阅读我们之前发送的文章.
合唱演唱和伴奏的传播过程如下:


1. 设备上的音频延迟
这里提到了两种设备: 收集端和回放端,即记录歌声和听歌的两部手机.
设备上的延迟包括收集端的收集,预处理和编码,回放端的接收,解码和后处理以及编码和解码后的端网络延迟.
最后的延迟主要与硬件性能,使用的编算法以及音频和视频数据量有关.
设备端的音频延迟也可以细分为以下几点: 音频获取延迟,编延迟,音频回放延迟,音频处理延迟,终端网络延迟. 每个阶段的延迟数据未在此处列出. 如果您有兴趣,请阅读文章.

如果最终要减少音频延迟,则需要针对不同型号优化编算法,以减少由音频采集,编和音频处理引起的延迟. 同时,如果合唱效果较差,则延迟也与设备和系统的性能密切相关(想要了解与系统的关系及其原因,可以看到此答案). 设备的性能,也会影响合唱效果.
2. 从设备到服务器的延迟
可以理解为手机将歌声发送到服务器并将歌声从服务器发送到另一台手机的时间.
以下主要因素会影响收集端与服务器之间以及服务器与回放端之间的延迟: 客户端与服务之间的物理距离,客户端与服务器的网络运营商,网络速度,负载,以及终端网络的网络类型等.
3. 服务器之间的延迟
有时两部手机可能未连接到同一服务器,因此歌曲将在服务器之间传输,这也需要时间.
在服务器之间,骨干网可能在数据传输过程中发生拥塞,因此肯定会导致更长的延迟,并且在合唱过程中会卡住或不同步. 有必要知道,当骨干网络状况良好时,将所有数据从上海传输到美国需要100-130ms.

此过程需要合唱产品的人们优化网络传输策略,避免出现拥塞节点,并选择“最近”节点进行传输. 我不会在这里详细介绍.
第二个难题: 高音质
声音质量必须至关重要,因为我们要展示的是唱歌. 但是为了确保音质不用网络唱歌软件,肯定会增加延迟. 因此可以看出,需要生产产品的人可以找到一种平衡.
一般过程和困难如上所述. 以上三个延迟称为“端到端延迟”. 如果要将端到端延迟降低到100ms,甚至低于80ms,这将很困难. 更不用说高音质了.
摘要
对于一个应用程序,要解决以上困难,1.您需要音频,视频和网络体系结构方面的人员; 2.部署网络节点,优化网络传输策略并减少网络延迟需要大量金钱和时间,而且要对数千种手机型号进行编码和解码优化以确保合唱效果.
对于应用程序团队而言,实现功能或为用户购买更多歌曲版权并改善产品操作和体验是否会付出如此巨大的代价?结果是显而易见的,这样的事情需要的团队来实现. 最后,专注于实时通信技术的Agora已开始提供“实时合唱场景解决方案”,很快您将在不同的应用程序中体验实时合唱.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-184941-1.html
北洋哪点占优
早就不喝这玩意儿
直接问问他