使用SoX生成声谱图

3

我正在尝试使用SoX程序生成频谱图。根据文档,我应该尝试以下步骤来创建频谱图:

sox output.wav -n spectrogram

我得到了以下错误信息,而不是频谱图:

sox FAIL formats: can't determine type of `spectrogram'

我正在运行Ubuntu 12.04操作系统。

对我来说似乎工作正常。你确定你有一个名为 output.wav 的文件,并且你输入的就是这个文件名吗?(另外,我认为这个问题更适合在超级用户论坛上提问) - Xymostech
你正在使用哪个操作系统? - Boedy
(Arch)Linux。我也有sox 14.4.1版本。你用的是哪个版本? - Xymostech
14.4.1也是如此。我刚在OS X上安装了它,看起来运行良好。我将尝试进行全新安装。 - Boedy
已修复。感谢您确认它在您的系统上正常工作 :) - Boedy
4个回答

7
我知道为什么会出现这种情况。你从http://sox.sourceforge.net/sox.html的文档中复制了这个命令,如果手动输入应该可以正常工作。文档中的一些符号对你来说字符集不正确。

2
为了补充Dima Melnik的答案,在线手册已经用 Unicode 字符替换了期望的 ASCII 字符。如果您逐字复制spectrogram示例,您认为正在输入的-n(字节\x2d \x6e)实际上是−n(字节\xe2 \x88 \x92 \x6e,UTF-8 中第一个字符为 U+2212 MINUS SIGN)。sox 尝试将−n解析为文件名,并变得混乱。

1
我自己构建SoX时遇到了这个问题。缺少libpng会创建一个没有频谱图效果的二进制文件。换句话说,您的命令正在尝试打开名为“spectrogram”的文件。运行

sox -h

并检查是否具有此效果。


1
这是如何做到的,
sox output.wav -n spectrogram

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接