次の出力をキャプチャ/転送しようとしています。
arecord -f S16_LE -qd 5 ファイル&& sox ファイル -n stat
出力:
サンプルを読む:8000長さ(秒):1.000000スケール:2147483647.0最大振幅:0.992188最小振幅:-0.992188中線振幅:0.000000平均標準:0.093221平均振幅:-4.0 .6 17188最小増分: 0.000000平均増加:0.001067 RMS増加:0.009643約周波数:52音量調整:1.008
jsonに変換するにはデータをキャプチャする必要があります。問題は、「SOX」が標準出力をキャプチャ/パイプするために一般的に使用する方法に反しているようです。どんな提案がありますか?
答え1
Soxはこの出力をstderrに送信します。
stderrをリダイレクトするには、以下を実行してください。
arecord -f S16_LE -qd 5 file && sox file -n stat 2> output.txt
またはパイプに送信します(例wc
:)。
arecord -f S16_LE -qd 5 file && sox file -n stat 2>&1 | wc