2010-11-06 79 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