2016-06-18 6 views
4

私のアプリは、非常に正確な熱補正水晶発振器(TCXO)を備えた外付けUSBマイクロフォンを使用しています。サンプルレートは48KHzです。 カメラキットのコネクタからiOSに接続します。 私はEZAudioライブラリを使用していますが、iOSは正確な48KHzではなく、オーディオサンプリングのための独自の内部クロックソースを保持しているようです。iOSのUSBオーディオデバイスを使用した外部クロックソース

私は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) 
} 

UPDATE:@Rhythmic Fistmanに おかげで、好ましいサンプル・レートを設定するには、部分的に問題を解決しました。 iOSからのリサンプリングはもう必要なく、TCXOはクロックマスターソースのままです。 しかし、信号がバッファ内の空のサンプルのように見えるようになりました。この問題は、記録の長さが悪化するにつれて悪化しています。もちろん、ハードウェアを接続するために雷のポートが必要なので、簡単にデバッグするのは本当に難しいです! 7分後の波形の

スクリーンショット:15分後の波形の

enter image description here

スクリーンショット:

enter image description here

答えて

1

アクティブにする前には48kHzのオーディオセッションの優先サンプルレートを設定していそれは助ける?

session.setPreferredSampleRate(48000) 

それはクロックソースに何かをするかどうかはわからない、またはそれも入力(または出力)のサンプリング・レートに影響を与える場合、それはショットの価値があります。

+0

私はちょうど(EZAudioでは実装されていない)試してみましたが、残念ながらうまくいきません。 – jcr

+0

明らかに私の48KHzよりも低いサンプリングレートを設定できるようになったので、実際にはiOSが受信したオーディオデータをリサンプリングして、確実に避けたいものです。 – jcr

+0

マイクをセットアップする前に 'session.sampleRate'レポートは何を報告しますか? 'EZMicrophone'を実行して' inputFormat'に何が起こるかを知ることができますかhttps://github.com/syedhali/EZAudio/blob/master/EZAudio/EZMicrophone.m#L246? –

関連する問題