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