3

私は現在、FPGAを介してPCに接続された小さなmicrohponeに取り組んでいます。FPGAは、UART/USBを介して生のデータストリームをコンピューターに吐き出します。データを記録、再生、分析することができます。

しかし、「ライブ」オーディオストリームを直接再生することはできません。

動作するのは、カスタムメイドのCプログラムを使用してデータストリームをPCM raw形式で保存し、ファイルのコンテンツをaplayにパイプすることです。しかし、それはデータストリームに10秒の遅れを追加します...デモやテストにはあまり適していません。

tail -f snd.raw | aplay -t raw -f S16_LE -r 9000

誰かが別のアイデアを持っていますか、オーディオストリームを私の耳に速く入れるにはどうすればよいですか?どして

cat /dev/ttyUSB0 | aplay

うまくいかない?(何も起こりません)

これまでのところありがとう
マーヴィン

4

2 に答える 2

1

オーディオバッファをサウンドカードに直接ストリーミングできるAPIが必要です。Linuxでは行っていませんが、この目的でFMODを使用しました。この質問で別のAPIを見つけるかもしれません。SDLは人気があるようです。

一般的な考え方は、ストリーミングバッファを設定してから、cプログラムが着信バイトを配列に詰め込むことです。サイズは、着信ストリームの遅延とジッターのバランスをとるように選択されます。配列がいっぱいになったら、それをAPIに渡し、最初の再生中に別の配列を埋め始めます。

于 2009-12-02T18:31:25.073 に答える