view makeCello.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 3c9d9654d4a1
children 7b98278d6e8b
line wrap: on
line source

#!/bin/bash
#
# Copy a booke to cello-friendly form. Bass clef, transposed down 2 octaves.
#
# It would be easier to do with transpose in dottes.fmt, but I can't get
# that to work properly for a 2 octave downward transpose.
#
# This relies on abcm2ps >= 6.0 but does not check for it.

if [ $# != 1 ]; then
    echo "Usage: makeCello.sh <book dir name>"
    exit 1
fi

dir=`pwd`

booke=$dir/$1
outdir=$dir/$1-Cello

mkdir -p $outdir

# Copy book component items.
cp $booke/*.txt $outdir

find $booke -name "*.abc" | sort |
    while read filename
    do
        # Move down either one octave or two, depending on the range
        # of the tune. If there are any notes below middle C, transpose
        # down one octave. The default is to transpose down two octaves.
        middle="d"
        if grep -v "^[A-Z]:" $filename | sed -e 's/"[^"]*"//g' | grep -q "[A-Z],"; then
            middle="D"
        fi
        name=`basename $filename .abc`
        sed -e "/^ *K:/s/$/ clef=bass middle=$middle/" $filename > $outdir/$name.abc
    done