Add Horn in F transposition.
authorJim Hague <jim.hague@laicatc.com>
Wed, 20 Feb 2013 13:03:40 +0000
changeset 216 64b84dea3337
parent 215 3c9d9654d4a1
child 217 a8a46fd79d5c
Add Horn in F transposition.
makeAll.sh
makeHornInF.sh
web/index.html
--- a/makeAll.sh	Wed Feb 20 12:48:02 2013 +0000
+++ b/makeAll.sh	Wed Feb 20 13:03:40 2013 +0000
@@ -20,3 +20,6 @@
 
 ./makeCello.sh $1
 makeABooke $1-Cello cello
+
+./makeHornInF.sh $1
+makeABooke $1-HornInF "horn in F"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/makeHornInF.sh	Wed Feb 20 13:03:40 2013 +0000
@@ -0,0 +1,39 @@
+#!/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
+
+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.
+        abc2abc $tmpfile -e -t $transpose > $outdir/$name.abc
+        rm $tmpfile
+    done
--- a/web/index.html	Wed Feb 20 12:48:02 2013 +0000
+++ b/web/index.html	Wed Feb 20 13:03:40 2013 +0000
@@ -62,25 +62,45 @@
         knowledge or ability to do that. Instead, they are automatically
         generated from the concert pitch originals using a typically very
         simple method.
-      <p>I hope you find them useful.
+      <p>I hope you find them useful.</p>
 
-        <div class="dottes-container">
-          <div class="dottes-transpose-instrument">
-            <div class="dottes-transpose-instrument-item dottes-transpose-instrument-name">
-              <h1>Cello</h1>
-            </div>
-            <div class="dottes-transpose-instrument-item dottes-transpose-how">
-              <p>Transpose down one or two octaves depending on the range in the
-                tune, and use the bass clef.
-            </div>
-            <div class="dottes-transpose-instrument-item dottes-transpose-tune-types">
-              <ul class="tune-type-list">
-                <li><a href="Morris-Cello">Morris</a></li>
-                <li><a href="Session-Cello">Session</a></li>
-              </ul>
-            </div>
+      <div class="dottes-container">
+        <div class="dottes-transpose-instrument">
+          <div class="dottes-transpose-instrument-item dottes-transpose-instrument-name">
+            <h1>Cello</h1>
+          </div>
+          <div class="dottes-transpose-instrument-item dottes-transpose-how">
+            <p>Transpose down one or two octaves depending on the range in the
+              tune, and use the bass clef.
+          </div>
+          <div class="dottes-transpose-instrument-item dottes-transpose-tune-types">
+            <ul class="tune-type-list">
+              <li><a href="Morris-Cello">Morris</a></li>
+              <li><a href="Session-Cello">Session</a></li>
+            </ul>
           </div>
         </div>
+      </div>
+      <div class="dottes-container">
+        <div class="dottes-transpose-instrument">
+          <div class="dottes-transpose-instrument-item dottes-transpose-instrument-name">
+            <h1>Horn in F</h1>
+          </div>
+          <div class="dottes-transpose-instrument-item dottes-transpose-how">
+            <p>Transpose up a fifth, or down a seventh depending on the
+              range in the tune. To avoid scaring less able horn players such
+              as myself, the transposed score will prefer going below middle C
+              to going above the top G on the stave. Able horn players
+              can transpose in their heads anyway, so don't need this.
+          </div>
+          <div class="dottes-transpose-instrument-item dottes-transpose-tune-types">
+            <ul class="tune-type-list">
+              <li><a href="Morris-HornInF">Morris</a></li>
+              <li><a href="Session-HornInF">Session</a></li>
+            </ul>
+          </div>
+        </div>
+      </div>
     </div>
 
   </div>