如何使用 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
因为它是原始的,所以您需要指定速率、位深度、通道和编码格式。
现在它可以正常工作而不会出现任何错误。
干杯。
我使用 arecord 录制一个 wav 文件,然后使用
将其重定向到 fifoarecord -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
因为它是原始的,所以您需要指定速率、位深度、通道和编码格式。
现在它可以正常工作而不会出现任何错误。
干杯。