捕获 SOX“-n stat”的输出

捕获 SOX“-n stat”的输出

我正在尝试捕获/传输以下内容的输出:

arecord -f S16_LE -qd 5 文件 && sox 文件 -n stat

输出:

读取样本:8000 长度(秒):1.000000 缩放比例:2147483647.0 最大幅度:0.992188 最小幅度:-0.992188 中线幅度:0.000000 平均范数:0.093221 平均幅度:-0.015338 RMS 幅度:0.232947 最大增量:0 .617188 最小增量: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 

相关内容