如何使用sox验证fifo的统计数据?

时间:2017-07-11 09:22:11

标签: python linux python-multithreading sox

我使用arecord录制了一个wav文件,我将使用

将其重定向到fifo

arecord -d 1 -c 2 -r 48000 -f S32_LE > myfifo

但是如何使用sox获取此数据呢?

sox myfifo -n stat

给出

sox FAIL formats: can't open input file myfifo: WAVE: RIFF header not found

请参阅this Question我是如何做到的。

我需要给sox选择哪些选项来忽略标题。 如果可能的话,我想提供标题详细信息作为命令行。

1 个答案:

答案 0 :(得分:0)

应告知sox该文件是原始类型。 使用sox -t raw

现在让我们解决问题。

使用mkfifo创建一个fifo然后将其中的内容添加到其中

mkfifo temp.wav
arecord -c 2 -r 48000 -b 32 > temp.wav

现在将袜子应用于它。

sox -t raw -r 48000 -b 32 -c 2 -e signed-integer temp.wav -n stat trim 0 1

因为它是原始的,您需要指定速率,位深度,通道和编码格式。

现在它可以正常运行而不会出现任何错误。

干杯。