【发布时间】:2014-06-19 12:41:48
【问题描述】:
我正在尝试为几个我不知道总持续时间(以秒为单位)的波形文件创建淡入和淡出。我阅读了手册,但我看到的所有示例看起来我需要知道文件的完整长度。 有人可以在不知道 wav 文件的完整长度的情况下发布 5 秒内淡出和 7 秒内淡出的示例吗?
【问题讨论】:
我正在尝试为几个我不知道总持续时间(以秒为单位)的波形文件创建淡入和淡出。我阅读了手册,但我看到的所有示例看起来我需要知道文件的完整长度。 有人可以在不知道 wav 文件的完整长度的情况下发布 5 秒内淡出和 7 秒内淡出的示例吗?
【问题讨论】:
您可以使用一个简单的 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
【讨论】:
来自 sox 手册页:
fade [type] 淡入长度 [stop-position(=) [fade-out-length]]
...
如果可以从输入文件头中确定音频长度 和任何先前的影响,然后 -0(或者,出于历史原因,0)可能 为停止位置指定以指示 a 的通常情况 在输入音频流的末尾结束的淡出。
所以在 5 秒内淡出,在 7 秒内淡出:
sox input.waw output.waw fade 5 -0 7
【讨论】: