我有一组来自http://theremin.music.uiowa.edu/MISpiano.html的立体声 .AIFF 钢琴样本
每个样本之前有约 5 秒的静默,然后淡入约 30 秒的静默;即它继续远低于我的听力阈值。
我想修剪两端。这将涉及淡出,以避免急剧的不连续性。
此外,我只对左声道感兴趣。
如何从我的 OS X 终端完成此操作?
π
PS牵着你的马,我自己来回答这个:)
我有一组来自http://theremin.music.uiowa.edu/MISpiano.html的立体声 .AIFF 钢琴样本
每个样本之前有约 5 秒的静默,然后淡入约 30 秒的静默;即它继续远低于我的听力阈值。
我想修剪两端。这将涉及淡出,以避免急剧的不连续性。
此外,我只对左声道感兴趣。
如何从我的 OS X 终端完成此操作?
π
PS牵着你的马,我自己来回答这个:)
开始了:
for filePath in IN/*.aiff
do
# Trim silence both ends
# http://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/
./sox $filePath ./TMP/1_trim.wav silence 1 0.1 1% 1 0.1 0.5%
# LEFT channel
# https://www.nesono.com/node/275
./sox TMP/1_trim.wav ./TMP/2_mono.wav remix 1
# Get length (seconds)
# http://stackoverflow.com/questions/4534372/get-length-of-wav-from-sox-output
# file_length=`./sox ./TMP/2_mono.wav 2>&1 -n stat | grep Length | cut -d : -f 2 | cut -f 1`
file_length=`./soxi -D ./TMP/2_mono.wav`
# amount to truncate
trunc=$(echo "$file_length*0.75" | bc -l)
# http://stackoverflow.com/questions/965053/extract-filename-and-extension-in-bash
filename=$(basename "$filePath")
# fade out
# http://www.benmcdowell.com/blog/2012/01/29/batch-processing-audio-file-cleanup-with-sox/
./sox ./TMP/2_mono.wav ./OUT/$filename fade t 0 $file_length $trunc
done