私の質問は少し抽象的ですが、十分な根拠があります。マイクのオーディオ データをスピーカーにループさせる C で記述された JACK スクリプトを正常に実行しましたが、再生中に自分でオーディオのストリームを変更する方法を知りたいです。高(または低)周波数(完全にカット)。私の理解では、オーディオはアナログ信号として送信され、デジタル値に変換されます(特定の範囲内)。
私はこの 2 つの方法のうちの 1 つを強制されていると思います。1 つの方法は、各値を処理し、それが望ましくない周波数を下回っているかどうか (または周波数を上回っているか) を確認してから、値を次のように変更することだと思います。 0 (または、再生中のオーディオの空白スポットを防ぐための最後のループ サイクルの前の値)。私が推測している2番目の方法は、JACKが周波数スペクトルによって割り当てられた値の完全な配列をバッファに提示することです。どうすればこれを行うことができますか?(将来、生データを使って他のことをしたいと思っていますが、これは生のオーディオ処理に慣れるための素晴らしいスタートだと思います)
ここに私の簡略化されたコードがあります: http://pastebin.com/Hmiumqkz 「フロート」であるはずのin値を 印刷しようとしたことがわかります。そこから周波数をフィルタリングできると思いましたが、そうではありませんこのコードを実行してもコンソールに何も出力されないので、マイクをスピーカーにループバックするだけですが、コンソールへの出力はありません.....
注: Gstreamer、ALSA、NAudio、irrKang、および Phonon ライブラリを使用するプログラムのコンパイルとテストは既に成功していますが、これらのライブラリでは、OS とオーディオに必要な生のオーディオ データとの間で必要な相互互換性を得ることができません。プロジェクト、私が尋ねるのは、「簡単」にするためだけに「他のライブラリ」を使用するように怠惰に報告する前に、よく考えてください.