Code: Select all
$ fluidsynth -C no -R no -n -i -L 2 -r 48000 \
-a file -o audio.file.name="temp.RAW" \
/usr/share/sounds/sf2/FluidR3_GM.sf2 \
/home/user/file.MID
$ sox -s -2 -c 2 -r 48000 temp.RAW \
-s -2 -c 2 -r 48000 temp.WAV
The script looks like this, with the option of 1 parm for the input .MID file. Or two parms for the soundfont and .MID as the 2nd parm.
Code: Select all
#!/bin/sh
if [ ! $1 ]; then
echo "USAGE: fs2wave file.mid"
exit 0
fi
FILE_RAW="temp_test.raw"
FILE_WAV="temp_test.wav"
MIDI_INPUT=$1
SOUNDFONT="/usr/share/sounds/sf2/FluidR3_GM.sf2"
if [ $2 ]; then
SOUNDFONT=$1
MIDI_INPUT=$2
fi
OTHERPARM=" -C no -R no -n -i "
AUDIOPARM=" -L 2 -r 48000 "
FILERAW=" -a file -o audio.file.name="$FILE_RAW" "
echo -e "\nCreating -"$FILE_RAW"- ..."
fluidsynth $OTHERPARM \
$AUDIOPARM \
$FILERAW \
$SOUNDFONT \
$MIDI_INPUT
SOXINPUT=" -s -2 -c 2 -r 48000 "$FILE_RAW" "
SOXOUTPUT=" -s -2 -c 2 -r 48000 "$FILE_WAV" "
echo -e "\nConverting -"$FILE_RAW"- to -"$FILE_WAV"- ..."
sox $SOXINPUT \
$SOXOUTPUT
exit 0