如何使用 sox 验证 fifo 的统计信息?

How to verify the stats of a fifo using 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

请参阅 了解我是如何做到的。

我需要为 sox 提供哪些选项才能忽略 header。 如果可能,我想提供 header 详细信息作为命令行。

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

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

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

干杯。