gpt4 book ai didi

iphone - iOS:错误的麦克风输入延迟测量结果

转载 作者:行者123 更新时间:2023-11-28 22:33:51 25 4
gpt4 key购买 nike

我正在运行一项测试来测量我的 iPhone 应用程序的基本延迟,结果令人失望:播放测试应用程序为 50 毫秒。该应用程序只是拾取麦克风输入并使用相同的渲染回调播放它,不涉及其他音频单元或处理。因此,对于这样一个基本场景来说,结果似乎太糟糕了。我需要一些指导来查看结果是否有意义,或者我的测试是否存在设计缺陷。

测试的基本思路是拥有三个角色:

  1. 我的手指弹响作为引用声源。
  2. 作为第一个简单的 iOS 播放应用程序(使用内置麦克风)#1 的听众。
  3. 一台 Mac(带有 USB 麦克风和 Audacity)作为 #1 的第二个听众和iOS 输出的唯一监听器(通过连接的扬声器iOS 耳机插孔)。

然后,在 Audacity 处于录音模式的情况下,Mac 会从我的手指中拾取声音,并在近距离范围内从 iOS 扬声器中“克隆”声音。最后我简单地目视观察了Audacity录制轨道中的波形,并测量了两个录制快照的峰值之间的时间间隔。

这绝不是一个 super 精确的测量,但至少应该以这种方式消除 Mac 录制管道的固有延迟。所以误差应该主要来自峰值距离测量,我认为它应该比音频管道延迟小得多,可以忽略不计。

我预计延迟为 20 毫秒或更低,但显然结果给了我 50~60 毫秒。我的 ASBD 使用 kAudioFormatFlagsCanonical 和 kAudioFormatLinearPCM 作为格式。

最佳答案

50 毫秒比采样率为 44.1 kHz 的大小为 1024 的 2 个音频缓冲区(一个输出,一个输入)的持续时间多大约 4 毫秒。

17 毫秒比 2 个长度为 256 的缓冲区的持续时间多大约 5 毫秒。

所以看起来 iOS 音频延迟约为 5 毫秒加上两个缓冲区的持续时间(音频输出缓冲区持续时间加上填充输入缓冲区所需的时间)......在您的特定 iOS 设备上。

一些 iOS 设备可能支持更短的 128 个样本的音频缓冲区大小。

关于iphone - iOS:错误的麦克风输入延迟测量结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16679537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com