许多移动应用在很大程度上依赖于低延迟音频功能,例如一些游戏、合成器和数字音频工作站[Digital Audio Workstations,DAWs],交互式音频应用和乐器模拟应用,以及即将成为下一波潮流的虚拟现实应用,在苹果的平台上[App Store+iOS设备]发展兴盛——并让App Store和iOS开发者获得的巨大收益而Android上是基本不存在的。
Android的10毫秒问题,是对造成目前这个巨大差异的极端技术难题的一个简单理解,它阻碍了这类收费应用在目前Android平台上的可用性和发布。
由于害怕糟糕的音频性能造成的负面口碑对品牌和专业声誉带来打击,发行商和开发者并不愿意把这些成功的iOS音频应用[需要约10ms的音频延迟性能]移植发布到Android平台上。
iOS在这些应用领域获得的收入数据,而有强烈购买欲望的消费者由于目前的技术问题无法在Android上获得这类应用导致客户流失。如果你考虑到所谓的“下一个10亿”消费者将是“移动平台为主”的时候,就能理解这个问题和机遇有多大的规模。
而我们正解决这个问题,这篇解读以Google Nexus 9的实际延迟数据对Android 的10毫秒问题提供了一个易于理解的概述。
Android的10毫秒问题和音频通道的延迟是如何影响应用开发者和Android OEM厂商的
尽管音乐类应用在iOS App Store的下载量中只占3%,但音乐应用分类的创收排名位列第三,仅次于游戏和社交网络。这表明,像App Store/iOS设备这样能提供低延迟性能的平台上的音乐应用能带来非常可观的收益比例。
而在Android上就完全是另一回事了,音乐类应用的收入甚至进不了创收应用分类的前五。绝大多数安卓设备受困于极高的音频延迟,无法让开发者在Android上构建这类应用,以满足消费者的需求。因此,由于Android的10毫秒问题,Google和Android应用开发者就将这几十亿美元的蛋糕留给了苹果和iOS。
这篇解释的目的,音频回路延迟可以简单概括为一段音频输入移动设备,经过一些必要的处理后,从同一设备输出的时间差。正如任何音乐人会告诉你的,我们人类在约10毫秒左右的延迟是最适合的,任何明显更高的延迟会给我们带来干扰。
乐器应用和音效应用:音乐家无法在舞台上演奏,使用Android设备的演奏者总比其它人慢半拍。甚至无法用于练习。
DJ无法进行节拍匹配,因为他们在耳机听到的信号要远远落后于播放给听众的主信号。使用循环滚动或回声等效果也是非常困难的。
游戏:声音效果,例如爆炸和枪声会卡顿延迟几帧,使游戏音频“超脱”于视觉效果,这种糟糕的用户感受,无法带来身临其境的游戏体验。
VoIP应用,如Skype:如果用户使用的是Android手机,整体的音频延迟要高于网络延迟。也就是说,“通过”安卓所花费的时间比数据包在各大洲之间传输的时间要更长。
虚拟现实[VR]:当用户转头,音频“跟随”变化太晚,破坏了三维音频的体验。去试试Paul McCartney的Google纸板眼镜的app就是一个例子。Google将会在虚拟现实领域将十亿美元的收入拱手让给苹果。
为了教导和提醒技术行业的领导者,应用开发者,技术人员,产品经理,管理人员,记者,企业家,音乐家,受Android的10毫秒问题影响的所有玩家和投资者,其存在对任何人都没有好处。你正在阅读的正是由我们Superpowered开发的一篇解读,对整个Android音频链和潜在的瓶颈作易于消化的概述分析。
我们的目标是团结一致,挑战Android的10毫秒音频回路延迟,并将它转换成一个鼓励创新的机会,提供更好的用户体验,给Google Play用户、Android开发者、Android OEM厂商和整个Android生态系统带来获益。
关于音频延迟的注意事项:
毫秒(毫秒):一秒钟的1/1000。大多数的延迟使用这一测量单位,并发生在这个时间尺度。
采样(或帧):表示音频流中的一个离散数字点(数字)。采样是软件将类似声波的连续信号转换成样本序列。样本是独立音频通道的数量。对于一个单通道信号,一个样本意味着一个数字。一个两声道信号的样本意味着两个数字等,以此类推。
我们测量的是在以最好的条件下音频信号流的整体延迟:
在Android的原生层音频[Android NDK]使用的是谷歌推荐的低延迟配置建议。不幸的是大多数安卓应用程序不遵循谷歌的低延迟推荐。
在Andorid设备上配置得当,就可以使用“Fast Mixer混音器”用于音频输入和输出的通道。除了最新的Nexus机型[Nexus 9],大多数厂商并没未对Android系统配置支持Fast Mixer,因此这些设备的回路延迟将明显更高。可查看Superpowered's Mobile Audio Census and Latency Test App了解许多流行的Android设备的延迟测试数据。
使用文本解释Android 5.0 Lollipop音频通道的延迟