オーディオデバイス(ライン入力)で録音し、左右のチャンネルを別のプロセスに割り当てたいです。もちろん個別に録音することもできます。私が望むものは次のとおりです(たとえば、再生コマンド)。
arecord (left channel only) -q -D plughw:1,0 -f S16_LE -r 22050 | play -t raw -r 22050 -b 16 -e signed -q -
arecord (right channel only) -q -D plughw:1,0 -f S16_LE -r 22050 | play -t raw -r 22050 -b 16 -e signed -q -
(デバイスやリソースを使用することもできますか?)または同様のもの
"arecord | splitchannels (leftchannel | process 1) (rightchannel | process 2)"
それともこれに似ているかもしれません
"arecord | tee >(getleftchannel | process1) >(getrightchannel | process2) > /dev/null"
集中的なウェブ検索で役に立つ結果が出なかったから..
どうすればいいのかご存知ですか?
ありがとう
答え1
より多くのウェブ検索と失敗した試みの最後に解決策を見つけました。 「sox remix」が動作しました。だから私が使ったコマンドは次のようになります(サンプルターゲットを再び再生します)。
arecord -q -D plughw:1,0 -f S16_LE -r 22050 -c2 | tee >(sox -t raw -r 22050 -b 16 -e signed -c 2 - -t raw -r 22050 -b 16 -e signed -c 1 - remix 1 | play -t raw -r 22050 -b 16 -e signed -q -) >(sox -t raw -r 22050 -b 16 -e signed -c 2 - -t raw -r 22050 -b 16 -e signed -c 1 - remix 2 | play -t raw -r 22050 -b 16 -e signed -q -) >/dev/null
リミックス1は左チャンネルを提供し、リミックス2は右チャンネルを提供します。