以 script 產生 5000 首 mp3

5000 首 mp3 ?!
去哪裡生啊,靈機一動,不如使用 script 來產生,快又有效。
最早的一個版本是拿一個樣板的 mp3 來複製,可是又怕內容有版權問題,所以後來改用 Text to Speech 的軟體來將文字轉成聲音…
我的環境:Fecora Core 5
會用到的套件:Festival (text2wave)、lame (轉 wave 為 mp3)、id3tag (為轉好的 mp3 上 id3 tag)。
程式碼如下:

#!/bin/sh
#
# run2.sh
# This script is used to generate short songs.
# You can decide how many songs should be generated by modify LIMITSONGS variable.
#
# Dependency:
# festival (Text to speech by text2wave)
# lame (convert wave to mp3)
# id3tag (tag the generated mp3)
#
# Tested environment:
# Fedora Core 5
#
ITER=1
LIMITSONGS=5002
((TOTAL=LIMITEDSONGS – 1))
while (($ITER text.txt
text2wave -F 19200 -o $WAVEFILE text.txt
lame $WAVEFILE $NEWFILENAME
id3tag –artist=$ARTIST –album=$ALBUM –song=$TITLE –genre=classic –track=$ITER –desc=”generated by script.” –total=$TOTAL $NEWFILENAME
((ITER = ITER + 1 ))
rm -f $WAVEFILE
done
rm -f text.txt
echo “done.”

LIMITESONGS 用來控制要產生的數量。
TEXT 則是要說的文字,目前 festival 還不支援中文,所以只能放一些英文字串。
托福,也因此我學到 bash script 裡面可以運算變數內容,作加減乘除,以前我以為只能運算文字內容而已,真的是不經一事不長一智。