【发布时间】:2012-11-02 07:50:51
【问题描述】:
我想使用 sox 更改我拥有的每个音乐文件夹中每个 mp3 的音高。我是用 bash 写的:
function pitch_mp3 {
for mp3 in /home/mp3s/*/*.mp3
do
cd "$(dirname "$mp3")"
output=$(basename "$mp3" .mp3)PITCHED.mp3
sox -S "$mp3" -C 192 "$output" pitch 50
done
}
它将音高添加到例如 01song.mp3 并且输出文件是 01songPITCHED.mp3。 但发生的情况是 sox 第一次完成这项工作,然后再次循环浏览文件夹并将音高添加到已经音高的 mp3-s,因此它们的文件名原来是 01songPITCHEDPITCHED.mp3。当我注意到时我停止了它,所以我不知道它是否会第三次添加音高等等。
为什么以及如何解决这个问题?
【问题讨论】: