cat、ddなどの標準的なLinuxツールからのデータ(特定のバイト数または特定の時間)を保持するバッファー付きパイプを構築することは可能ですか?
たとえば、定義された量のパケット、オーディオデータ、またはその他のものを収集します。
例えば。delaybuffer
そのようなことをするためのスクリプトを作成するには:
arecord | delaybuffer 16000 | aplay
録音されたオーディオを16000バイト遅延して再生します。
それを行う別の方法は、ddを使用することです(バッファがdistに存在しない場合)。
arecord | dd ibs=16000 iflag=fullblock oflag=dsync | aplay
フラグについてはよくわかりません。一度にブロックをバーストするよりも良い方法があるかもしれません。
buffer
仕事をするというツールがあります。(Debianパッケージへのリンク-他のディストリビューションでも利用できる可能性があります。)
バッファは共有メモリを使用して、可変入力データレートを一定出力データレートに変換します。
cdparanoia
以下は、出力の読み取りを開始する前に、オーディオCDのトラック7を抽出するための4秒間のハンディキャップを示しています。コマンドラインCDプレーヤーとしてうまく機能します。
cdparanoia 7 ~/temp.wav & sleep 4 ; tail -f -c +1 ~/temp.wav | aplay