Mercurial > dottes
view makeHornInF.sh @ 223:0ef955669a9a
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.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Fri, 22 Feb 2013 01:09:37 +0000 |
parents | 1a9d937b7765 |
children | 7b98278d6e8b |
line wrap: on
line source
#!/bin/bash # # Transpose a book for Horn in F. if [ $# != 1 ]; then echo "Usage: makeFHorn.sh <book dir name>" exit 1 fi dir=`pwd` booke=$dir/$1 outdir=$dir/$1-HornInF mkdir -p $outdir # Copy book component items. cp $booke/*.txt $outdir find $booke -name "*.abc" | sort | while read filename do name=`basename $filename .abc` tmpfile=$outdir/$name.abc.tmp # Strip out guitar chords first. This has the advantage of removing # text with arbitary lower case characters too. sed -e "s/\"[^\"]*\"//g" $filename > $tmpfile # Transpose concert pitch up a fifth. # If there are any notes at or above C above middle C, transpose # down a seventh instead. transpose=5 if grep -v "^[A-Z]:" $tmpfile | sed -e 's/"[^"]*"//g' | grep -q "[a-g]"; then transpose=-7 fi # Transpose. By default abc2abc will report errors in the output, # but this messes up output formatting so stop it. Also force all # output to be in treble clef; some lower tunes with the odd high # note will otherwise appear in bass clef, which is not what this # crap horn player wants. abc2abc $tmpfile -e -t $transpose | \ sed -e "/^ *K:/s/$/ clef=treble/" > $outdir/$name.abc rm $tmpfile done