Add Alto Sax transposition.

This commit is contained in:
Jim Hague 2020-02-03 10:49:27 +00:00
parent 2697206ce7
commit 483f9d4f38
3 changed files with 77 additions and 0 deletions

View File

@ -66,6 +66,9 @@ makeASingleBooke()
./makeAltoRecorderCFingering.sh $1 ./makeAltoRecorderCFingering.sh $1
makeATransposedBooke $1-AltoRecorderCFingering $1 "alto recorder, C fingering" makeATransposedBooke $1-AltoRecorderCFingering $1 "alto recorder, C fingering"
./makeAltoSax.sh $1
makeATransposedBooke $1-AltoSax $1 "alto saxophone"
} }
makeABumperBooke() makeABumperBooke()
@ -98,12 +101,14 @@ makeBumperBookes()
local cellobumper local cellobumper
local hornbumber local hornbumber
local recorderbumper local recorderbumper
local saxbumper
for booke in "$@" for booke in "$@"
do do
cellobumper+=("${booke}-Cello") cellobumper+=("${booke}-Cello")
hornbumper+=("${booke}-HornInF") hornbumper+=("${booke}-HornInF")
recorderbumper+=("${booke}-AltoRecorderCFingering") recorderbumper+=("${booke}-AltoRecorderCFingering")
saxbumper+=("${booke}-AltoSax")
done done
makeABumperBooke "${cellobumper[@]}" makeABumperBooke "${cellobumper[@]}"
for f in Bumper*.pdf for f in Bumper*.pdf
@ -123,6 +128,12 @@ makeBumperBookes()
t=$(echo $f | sed -e "s/.pdf/-AltoRecorderCFingering.pdf/") t=$(echo $f | sed -e "s/.pdf/-AltoRecorderCFingering.pdf/")
mv $f ./web/$t mv $f ./web/$t
done done
makeABumperBooke "${saxbumper[@]}"
for f in Bumper*.pdf
do
t=$(echo $f | sed -e "s/.pdf/-AltoSax.pdf/")
mv $f ./web/$t
done
} }
declare buildBookes declare buildBookes

48
makeAltoSax.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/bash
#
# Transpose a book for alto saxophone
if [ $# != 1 ]; then
echo "Usage: makeAltoSax.sh <book dir name>"
exit 1
fi
dir=`pwd`
booke=$dir/$1
outdir=$dir/$1-AltoSax
mkdir -p $outdir/Compact
# Copy book component items.
cp $booke/*.txt $booke/*.md $booke/image.jpg $outdir
echo "Alto Saxophone" > $outdir/instrument.txt
find $booke -name "*.abc" |
while read filename
do
name=`basename $filename .abc`
dir=`dirname $filename`
basedir=`basename $dir`
compact=""
if [ "$basedir" = "Compact" ]; then
compact="Compact/"
fi
range=`./abcrange.py $filename`
# Transpose concert pitch down a minor third.
transpose=-3
# There's no point in having transposed chords. Remove from the
# abc before transposing. Some badly formed chord items can give
# erroneous output from abc2abc (like, strings of binary gibberish).
sed -e "s/\"[^\"]*\"//g" $filename > $outdir/$name.abc.tmp
# Transpose. By default abc2abc will report errors in the output,
# but this messes up output formatting so stop it.
abc2abc $outdir/$name.abc.tmp -e -t $transpose > $outdir/$compact$name.abc
rm $outdir/$name.abc.tmp
done

View File

@ -134,6 +134,24 @@
</div> </div>
</div> </div>
</div> </div>
<div class="dottes-transpose-container">
<div class="dottes-transpose-instrument">
<div class="dottes-transpose-instrument-item dottes-transpose-instrument-name">
<h1>Alto saxophone</h1>
</div>
<div class="dottes-transpose-instrument-item dottes-transpose-how">
<p>Transpose down a third. As with horns, good sax players
can do this in their heads anyway.</p>
</div>
<div class="dottes-transpose-instrument-item dottes-transpose-tune-types">
<ul class="tune-type-list">
<li><a href="Morris-AltoSax">Morris</a></li>
<li><a href="Session-AltoSax">Session</a></li>
<li><a href="Library-AltoSax">Library</a></li>
</ul>
</div>
</div>
</div>
</div> </div>
<div class="dottes-body"> <div class="dottes-body">