以高于 16kHz 的采样率从 AirPod Pro 录制音频
Posted
技术标签:
【中文标题】以高于 16kHz 的采样率从 AirPod Pro 录制音频【英文标题】:Record audio from AirPod Pros at higher sample rate than 16kHz 【发布时间】:2020-12-24 21:29:40 【问题描述】:是否可以通过 AirPod Pro 的麦克风以高于 16kHz 的采样率录制音频?
我正在使用audioEngine
接入麦克风总线:
let node = audioEngine.inputNode
let recordingFormat = node.outputFormat(forBus: 0)
node.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) [unowned self] (buffer, _) in
self.request!.append(buffer)
audioEngine.prepare()
do
try audioEngine.start()
catch
fatalError("\t[Error] There was a problem starting speech recognition")
似乎默认采样率(在 recordingFormat
中找到)是 16000Hz,我很难指定更高的采样率。
与来自 iPhone 麦克风的录音(其采样率为 44100Hz)相比,此特定采样率返回的录音质量相当低。
【问题讨论】:
您好!我知道这是不被接受的。但是很长一段时间我无法解决这个问题。你可以帮帮我吗?我会很感激。我在我所在的地区找不到 AirPods Pro。你能打开我的小xcode项目并测试一下吗? ***.com/questions/69851479/… 我认为这是硬件问题——AirPod Pro 无法以高于 16kHz 的采样率进行录制,因此软件不允许这样做。如果你对相反的问题感兴趣——下采样——我发现这个很棒post 【参考方案1】:在启动 AVAudioEngine
实例之前尝试调用以下命令
AVAudiosession.sharedInstance().setCategory(.playAndRecord)
try AVAudioSession.sharedInstance().setPreferredSampleRate(44_100)
【讨论】:
不幸的是,它没有解决问题。我的预感是 AirPods 硬件的采样率是 16kHz,所以我们的速率是有限的。在AVAudioSession.sharedInstance().setPreferredSampleRate()
的文档中,他们提到“要使用的硬件采样率。可用范围取决于设备,通常为 8000 到 48000 赫兹。”以上是关于以高于 16kHz 的采样率从 AirPod Pro 录制音频的主要内容,如果未能解决你的问题,请参考以下文章
如何在 linux/android 平台上设置高于 44.1kHz 的音频采样率?
如何将 8 kHz 音频采样率提高到 16 kHz STM32