2010-11-06 80 views
0

我有一个Web应用程序,它可以让人们作出的声音效果的持续时间。有时声音效果不到0.55秒。在这种情况下,他们可能无法在Chrome浏览器中正常播放。我想知道一个命令行音频处理实用程序,它将使我能够填充短于0.55秒的声音,并将声音持续时间增加至少0.55秒。Linux命令延长音频文件

我已经看过成无畏的批量处理,但无法弄清楚如何使用它的命令行上。我也研究过使用sox,但找不到延长声音的最短时间选项。

回答

3

使用

sox -n silence.wav trim 0.55 

产生的沉默0.55s长的文件。

然后

sox -m -v 1 yourfile.wav silence.wav -t wav outfile 
0

检查SoX你应该能够做到这一点。它是一个音频工具包(多平台)。首先在声音的末尾添加足够的沉默,然后剪掉合适的部分。

1

做一个沉默的0.55s WAV。然后将其与您的文件连接起来。它将有0.55s以上的...所以你可能想要削减它。

sox yourfile.wav silence.wav outfile.wav trim 0 0.55 

编辑:它似乎可以使用-n作为文件名生成沉默。因此,它看起来像:

sox yourfile.wav -n outfile.wav trim 0 0.55 

如果yourfile.wav具有采样率超过48000不同,你需要以这种速度产生的沉默也为串联工作:

sox yourfile_at_44100.wav -r 44100 -n outfile.wav trim 0 0.55 

如果你想要做的只有实际上短于0.55的文件,您可能需要通过使用soxi来检查它们的持续时间来过滤它们。

+0

我怎么知道多少下调?我不想削减任何非沉默部分的音频。 – 2010-11-06 19:31:24

+0

@Daniel X Moore:这就是我为什么写soxi的原因:你只需要在小于.55s的文件上执行此操作。用一些grep/awk来检查条件的shell循环应该这样做。 – liori 2010-11-07 11:36:07

+0

请举例?我认为混合技术是更简单的方法,因为它可以处理任何文件长度。 – 2010-11-07 23:20:50