forked from CryHavoc/dottes
Add experimental Alto Recorder (C Fingering) instrument.
This should produce the bookes and website, but the website is not linked into the main page yet.
This commit is contained in:
parent
59a15ba81f
commit
17e20305b0
|
@ -7,7 +7,7 @@
|
|||
# The output is given in purely numeric form, to avoid needing to
|
||||
# re-parse it in an external script. A single line is printed with
|
||||
# the highest note followed by a space and the lowest note. Middle C ('C') is
|
||||
# 100. D an octave about ('d') is 108. D an octave above that ('d'') is
|
||||
# 100. D an octave above ('d') is 108. D an octave above that ('d'') is
|
||||
# 205. D below middle C ('d,') is 94. And so on.
|
||||
#
|
||||
# For example:
|
||||
|
|
|
@ -41,6 +41,9 @@ makeASingleBooke()
|
|||
|
||||
./makeHornInF.sh $1
|
||||
makeATransposedBooke $1-HornInF $1 "horn in F"
|
||||
|
||||
./makeAltoRecorderCFingering.sh $1
|
||||
makeATransposedBooke $1-AltoRecorderCFingering $1 "alto recorder, C fingering"
|
||||
}
|
||||
|
||||
makeBumperBooke()
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Transpose a book for alto recorder with C fingering.
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "Usage: makeAltoRecorderCFingering.sh <book dir name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Transpose up (return 0) if bottom note was < F (< C for recorder).
|
||||
transposeup()
|
||||
{
|
||||
(($3 < 103))
|
||||
}
|
||||
|
||||
dir=`pwd`
|
||||
|
||||
booke=$dir/$1
|
||||
outdir=$dir/$1-AltoRecorderCFingering
|
||||
|
||||
mkdir -p $outdir
|
||||
|
||||
# Copy book component items.
|
||||
cp $booke/*.txt $outdir
|
||||
|
||||
echo "Alto Recorder (C Fingering)" > $outdir/instrument.txt
|
||||
|
||||
find $booke -name "*.abc" | sort |
|
||||
while read filename
|
||||
do
|
||||
name=`basename $filename .abc`
|
||||
range=`./abcrange.py $filename`
|
||||
|
||||
# Transpose concert pitch down a fifth.
|
||||
# If there are any notes below 'F' (recorder 'C'), transpose
|
||||
# up a seventh instead.
|
||||
transpose=-5
|
||||
if transposeup $range; then
|
||||
transpose=7
|
||||
fi
|
||||
|
||||
# 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/$name.abc
|
||||
rm $outdir/$name.abc.tmp
|
||||
done
|
Loading…
Reference in New Issue