makeWebAudio.sh
author Jim Hague <jim.hague@acm.org>
Fri, 22 Feb 2013 01:09:37 +0000
changeset 223 0ef955669a9a
parent 197 makeWebItems.sh@8f352063f277
child 369 e5f59f0e7dd5
permissions -rwxr-xr-x
Make transposed tunes use the original audio. The aim of MIDI and MP3 is to allow the user to hear what a tune sounds like. For transposed bookes, I think this should be reused from the main booke page, because hearing it at the transposed pitch isn't a major help. And in fact given the way cello transposition is done, the sound won't be transposed anyway. And Jane hasn't complained. This will speed up building the bookes by removing audio generation, the slowest process, from the transposed bookes.

#!/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

        mv $builddir/${tmpname}.mid $builddir/${name}.mid
        mv $builddir/${tmpname}.mp3 $builddir/${name}.mp3
        rm $builddir/${tmpname}.wav
    done