我正在尝试捕获/传输以下内容的输出:
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