Mercurial > dottes
view makeWebAudio.sh @ 386:e09ff88ab469
Pigwidgeon doesn't have -r in ln. So do it another way.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Sat, 31 Aug 2013 00:38:45 +0100 |
parents | e5f59f0e7dd5 |
children | c5d404bf68a3 |
line wrap: on
line source
#!/bin/bash # # Make audio required for the website but not for the book. # They go into web/<book>. # if [ $# != 1 ]; then echo "Usage: makeWebAudio.sh <book dir name>" 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 -Ow -o $builddir/${tmpname}.wav $builddir/${tmpname}.mid lame --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 -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