2009-07-21
TiMidity++ で WAVE ファイルを作って,lame で MP3 にエンコーディングするスクリプトを作ってみた.
スクリプト (midi2mp3) †
#! /bin/sh
usage="usage: midi2mp3 MIDI-FILES"
if [ $# -eq 0 ]; then
echo ${usage}
exit 1
fi
for i in $@; do
if [ -f $i ]; then
fn=`basename $i | sed 's/\(.\+\)\(\..\{1,10\}$\)/\1/'`
echo "convert $i to ${fn}.wav ..."
timidity -A40,60a -Ow $i -o ${fn}.wav
echo "convert ${fn}.wav to ${fn}.mp3 ..."
lame -b 128 ${fn}.wav ${fn}.mp3
rm ${fn}.wav
fi
done
使い方 †
保存先のディレクトリに移動して,
midi2mp3 ../midi/test1.mid ../midi/test2.mid
とすれば,カレントディレクトリに test1.mp3, test2.mp3 が作成される.