【问题标题】:Record audio from AirPod Pros at higher sample rate than 16kHz以高于 16kHz 的采样率从 AirPod Pro 录制音频
【发布时间】: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项目并测试一下吗? stackoverflow.com/questions/69851479/…
  • 我认为这是硬件问题——AirPod Pro 无法以高于 16kHz 的采样率进行录制,因此软件不允许这样做。如果你对相反的问题感兴趣——下采样——我发现这个很棒post

标签: swift audio ios13 avaudioengine


【解决方案1】:

在启动 AVAudioEngine 实例之前尝试调用以下命令

AVAudioSession.sharedInstance().setCategory(.playAndRecord)
try AVAudioSession.sharedInstance().setPreferredSampleRate(44_100)

【讨论】:

  • 不幸的是,它没有解决问题。我的预感是 AirPods 硬件的采样率是 16kHz,所以我们的速率是有限的。在AVAudioSession.sharedInstance().setPreferredSampleRate() 的文档中,他们提到“要使用的硬件采样率。可用范围取决于设备,通常为 8000 到 48000 赫兹。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-06
  • 2022-07-14
  • 2012-06-18
  • 1970-01-01
  • 2017-03-04
  • 2014-02-20
相关资源
最近更新 更多