2017-11-07 18 views
3

まず、このフレームワークを作成する際の印象的な仕事のために、AudioKit:iPhoneのマイク入力を処理し、VOIPフレームワークで使用するためにマイク入力として処理可能な出力を作成します。

私の挑戦は:私はAKMicrophoneを使って自分のiPhoneのマイク入力をつかんで、AKPitchshifterフィルターとAKMixerで処理し、イヤホンでピッチシフトされた出力を聞くことができました。私は今、処理された出力は、私が使用していますVOIPフレームワークのマイク源になることをことをしたい

import AudioKit 

var micBooster: AKBooster? 

var pitchShifter: AKPitchShifter? 


func processMic() { 

    let mic = AKMicrophone() 

    let micMixer = AKMixer(mic) 

    micBooster = AKBooster(micMixer) 

    pitchShifter = AKPitchShifter(micBooster, shift: 8) 

    micBooster!.gain = 10 

    AudioKit.output = pitchShifter 

    AudioKit.start() 

} 

:ここでは、コード(processMicは()私のUIでボタンタップから呼び出されるテストの目的のためである)です。これは可能でしょうか?すべての感謝の気持ちで助けてください。

ありがとうございます!

答えて

1

あなたがしたいと思うのは、必要なソースオーディオを含むノードをタップすることだと思います。 AudioKitはタップ例の数提供しています:

https://github.com/AudioKit/AudioKit/tree/master/AudioKit/Common/Taps

をそして、あなたはあなたもオーディオのプロットは、同様にガイドとして作られています方法を使用することができます。

https://github.com/AudioKit/AudioKit/blob/master/AudioKit/Common/User%20Interface/AKNodeOutputPlot.swift

はこのプロットからデータをつかみます特定のノードを作成してプロットしますが、データを取得してVOIPコンポーネントのソースバッファとして使用します。

+1

ありがとう@Aurelius - 私はちょうど私の奥行きからかなり早く抜けましたが、オーディオバッファをつかんでAKで処理することができます.VOIPフレームワークは「ダム」です入力を受け取る方法を制御することができない限り、提示されたとおりにマイク入力を見るだけです。私があなたの答えから理解していないビットは、あなたのAKNodeOutputPlot.swiftコードのように、データをプロットするのではなく、処理されたデータをバッファに戻して、 VOIPフレームワークのために。再度、感謝します –

関連する問題