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

标签 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 格式:无法打开输入文件 myfifo:WAVE:未找到 RIFF header

参见 this Question关于我是怎么做到的。

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

最佳答案

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

现在让我们来解决这个问题。

使用 mkfifo 创建一个 fifo,然后向其中记录一些内容

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

现在在上面涂上 socks 。

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

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

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

干杯。

关于python - 如何使用 sox 验证 fifo 的统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45030418/

相关文章:

python - 对单独的表以及 pyodbc.connection 和游标的范围执行多个插入查询

python - 在函数内部导入 : is memory reclaimed upon function exit?

python - 安装 scikit-learn 0.15 (Python)

linux - ssh 登录我的树莓派有一些保修

python - 执行器何时(以及如何)将控制权交还给事件循环?

python - 如何在 Pygame 中翻转图像,在我的代码中遇到问题?

linux - 更改 DNS 缓存中的站点地址

c++ - 如何检查CPUID(EAX=14H,ECX=0)?

python - 在__main__中调用While循环函数吗?

python - 在 python 中并行化这个嵌套的 for 循环