【发布时间】:2018-09-30 11:28:59
【问题描述】:
我想以低于 44100 Hz(理想情况下为 8000 Hz)的采样率录制音频文件。 Audiokit 可以吗?我怎么能这样做?
Apple doc 表示采样率通常在 8000 到 48000 Hz 之间(取决于设备)。我用的是 iPhone 5S。
我想降低采样率,因为我正在使用 vDSP 进行一些信号处理。 44100Hz的计算时间太长了。
当我尝试设置时
AKSettings.sampleRate = Double(22050) // I also tried with 16000, 8000
在设置会话之前:
do {
try AKSettings.setSession(category: .playAndRecord, with: .defaultToSpeaker)
} catch {
AKLog("Could not set session category.")
}
我可以在日志中看到 AKNodeRecorder 文件的持续时间是 5 秒,但它似乎记录得更快(从 0 秒到 5 秒的实际时间是 2.5 秒):
AKNodeRecorder: recording
AKNodeRecorder writing (file duration: 0.1 seconds)
AKNodeRecorder writing (file duration: 0.2 seconds)
...
...
AKNodeRecorder writing (file duration: 5.0 seconds)
updatePCMBuffer() read 110250 frames into buffer
此外,输出文件具有指定的采样率和持续时间(22050 Hz 和 5 秒),但值都等于 0。
我阅读了this post 关于这个问题的信息。我想知道是否有更新以及解决方案是否仍在继续,正如 ryanfrancesconi 所写:
- 录制音频文件
- 另存为.wav
- 使用 AKConverter 以新的采样率对其进行转换
- 打开文件
- 进行信号处理
谢谢!
【问题讨论】:
-
我相信 Ryan 的解决方案仍然是最相关的。 Dave O'Neill,也是核心团队的成员,我认为他有一些策略来处理采样率问题,当他有时间解决这些问题时。