在将音频引入我们的语音检测系统之前,我正在使用sox重新采样音频,但是我遇到了版本14.3的sox,在默认情况下将自动抖动添加到重新采样操作,这是我们不想要的。 / p>
如果我们知道我们总是使用sox≥14.3,这不会有问题,因为我们可以使用新的-D
标志来禁用它:
sox original.wav -Dr 8000 new.wav
但是,我们无法保证我们将使用sox≥14.3,因此我需要某种方法来指定-D标志(如果需要),否则将其保留(因为它在无法识别时会出错)。
有什么想法吗?
答案 0 :(得分:0)
我的第一个想法是:
# assume -D flag is available to disable automatic dithering
sox original.wav -Dr 8000 new.wav
# if -D flag isn't available (sox < 14.3), then dithering isn't automatic
if [$? -ne 0]; then
sox original.wav -r 8000 new.wav
fi
检查版本号似乎可能是一种痛苦,而且不是很有前瞻性。
唯一的主要缺点是,如果出现其他错误,则尝试两次操作。