gpt4 book ai didi

ios - iOS 中带 USB 音频设备的外部时钟源

转载 作者:可可西里 更新时间:2023-11-01 06:03:04 29 4
gpt4 key购买 nike

我的应用使用带有非常精确的热补偿 quartz 振荡器 (TCXO) 的外部 USB 麦克风。采样率为 48KHz。我通过相机套件连接器将它插入 iOS。我正在使用 EZAudio 库,一切正常,除了 iOS 似乎为音频采样保留了自己的内部时钟源,而不是我准确的 48KHz。

我阅读了有关 CoreAudio 的所有文档,但在使用闪电音频时没有找到任何与时钟源相关的内容。

有什么方法可以选择内部或外部时钟源吗?

谢谢!

var audioFormatIn = AudioStreamBasicDescription(mSampleRate: Float64(48000),
mFormatID: AudioFormatID(kAudioFormatLinearPCM),
mFormatFlags: AudioFormatFlags(kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked),
mBytesPerPacket: 2,
mFramesPerPacket: 1,
mBytesPerFrame: 2,
mChannelsPerFrame: 1,
mBitsPerChannel: 16,
mReserved: 0)

func initAudio()
{
let session : AVAudioSession = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try session.setMode(AVAudioSessionModeMeasurement)
try session.setActive(true)
}
catch {
print("Error Audio")
}
self.microphone = EZMicrophone(microphoneDelegate: self, withAudioStreamBasicDescription: audioFormatIn)
}

更新:感谢@Rhythmic Fistman,设置首选采样率部分解决了问题。不再从 iOS 重新采样,TCXO 仍然是时钟主源。但是信号现在很快被缓冲区中似乎是空样本的东西破坏了。这个问题随着录音长度越来越严重。当然,因为我需要lightning接口(interface)来插硬件,所以想要轻松debug真的很困难!

7分钟后的波形截图:

enter image description here

15分钟后的波形截图:

enter image description here

最佳答案

在激活之前将 Audio Session 的首选采样率设置为 48kHz 有帮助吗?

session.setPreferredSampleRate(48000)

我不知道它是否会对时钟源产生任何影响,或者它是否会影响输入(或输出)采样率,但值得一试。

关于ios - iOS 中带 USB 音频设备的外部时钟源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37899789/

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