#!/bin/bash # # Make audio required for the website but not for the book. # They go into web/. # if [ $# != 1 ]; then echo "Usage: makeWebAudio.sh " exit 1 fi dir=`pwd` booke=$dir/$1 builddir=$dir/web/$1 mkdir -p $builddir # Now, for each tune, make the tune bitmap and sound. Do this to temp # files and rename into place to make updates as atomic as possible. find $booke -name "*.abc" | sort | while read filename do name=`basename $filename .abc` tmpname=${name}.tmp abc2midi $filename -o $builddir/${tmpname}.mid timidity -OwM -o $builddir/${tmpname}.wav $builddir/${tmpname}.mid lame -m m -V 9 --quiet $builddir/${tmpname}.wav $builddir/${tmpname}.mp3 # Timidity can generate OGG directly. But we need to generate WAV # for lame, and oggenc produces smaller output. OGG is needed for # Firefox's audio tag. FF doesn't support MP3, some others support # MP3 but not OGG. oggenc -Q -q 0 -o $builddir/${tmpname}.ogg $builddir/${tmpname}.wav mv $builddir/${tmpname}.mid $builddir/${name}.mid mv $builddir/${tmpname}.mp3 $builddir/${name}.mp3 mv $builddir/${tmpname}.ogg $builddir/${name}.ogg rm $builddir/${tmpname}.wav done