SOX和淡入淡出

时间:2014-06-19 12:41:48

标签: sox libsox

我试图为几个波形文件创建淡入和淡出,但我不知道总持续时间(以秒为单位)。我阅读了手册,但我看到的示例看起来都需要知道文件的全长。 有人可以在不知道wav文件全长的情况下在5秒内发布淡出淡出的示例并淡出7秒吗?

2 个答案:

答案 0 :(得分:10)

您可以使用简单的bash脚本,如下所示:

#! /bin/bash

WAV_IN=$1
WAV_OUT=$2

FADE_IN_L="0:5"
FADE_OUT_L="0:7"

LENGTH=`soxi -d $WAV_IN`

sox $WAV_IN $WAV_OUT fade $FADE_IN_L $LENGTH $FADE_OUT_L

soxi -d返回wav文件的长度。有关soxi的更多信息,请参阅sox documentation

您可以按如下方式运行此bash脚本:

./fadeWav test.wav faded.wav

答案 1 :(得分:0)

在sox联机帮助页上:

  

淡入[类型]淡入长度[停止位置(=)[淡入长度]]

     

...

     

如果可以从输入文件头中确定音频长度   以及任何先前的效果,则可能为-0(或出于历史原因为0)   指定停止位置以指示   淡入淡出到输入音频流的结尾。

所以要在5秒钟内淡出,然后淡出7秒:

sox input.waw output.waw fade 5 -0 7