Mercurial > dottes
changeset 567:cb7a4eff9d5b
Have learner tunes play only the melody.
Do this by telling timidity to mute all tracks but the first.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Tue, 06 Sep 2016 20:48:32 +0100 |
parents | 912d53652d8d |
children | c6568aedca9e |
files | dottes.html.learnertune makeWebAudio.sh |
diffstat | 2 files changed, 14 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/dottes.html.learnertune Tue Sep 06 20:27:01 2016 +0100 +++ b/dottes.html.learnertune Tue Sep 06 20:48:32 2016 +0100 @@ -21,8 +21,8 @@ <div class="grid_12 dottes-body"> <div class="dottes-tune-display"> - <img src="../img/learner.png">Work out the tune or play along - with these audio players. They play the tune repeatedly. There's + <img src="../img/learner.png">Work out the melody or play along + with these audio players. They play the melody repeatedly. There's a variety of speeds to choose from. You can also download the audio files. </div> @@ -59,14 +59,14 @@ </div> <div class="dottes-tune-footer-centre"> <audio controls loop> - <source src="../@MASTERBOOKE@/@TUNE@.mp3" type="audio/mpeg" /> - <source src="../@MASTERBOOKE@/@TUNE@.ogg" type="audio/ogg" /> + <source src="../@MASTERBOOKE@/normal-@TUNE@.mp3" type="audio/mpeg" /> + <source src="../@MASTERBOOKE@/normal-@TUNE@.ogg" type="audio/ogg" /> <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> - <param name="FileName" value="@TUNE@.mp3" /> + <param name="FileName" value="normal-@TUNE@.mp3" /> <param name="autoStart" value="false" /> <param name="autoplay" value="false" /> <param name="playCount" value="100000" /> - <object type="audio/mpeg" data="@TUNE@.mp3"> + <object type="audio/mpeg" data="normal-@TUNE@.mp3"> <param name="controller" value="true" /> <param name="autoplay" value="false" /> <param name="playCount" value="100000" />
--- a/makeWebAudio.sh Tue Sep 06 20:27:01 2016 +0100 +++ b/makeWebAudio.sh Tue Sep 06 20:48:32 2016 +0100 @@ -18,13 +18,13 @@ # Make MP3 and OGG files for the input .abc. Since we're listening to # a doorbell playing the tunes, go for lowest quality (and hence smallest) -# MP3 and OGG. +# MP3 and OGG. $1 is the input filename, $2 is optional args for timidity. makeaudiofiles() { name=`basename $1 .abc` abc2midi $1 -o $builddir/${name}.mid - timidity -OwM -o $builddir/${name}.wav $builddir/${name}.mid + timidity -OwM $2 -o $builddir/${name}.wav $builddir/${name}.mid lame -m m -V 9 --quiet $builddir/${name}.wav $builddir/${name}.mp3 # Timidity can generate OGG directly. But we need to generate WAV # for lame, and oggenc produces smaller output. OGG is needed for @@ -38,6 +38,9 @@ # Make audio for a new tempo for the abc file $1, giving the output files # the same name with a prefix $2. The new tempo is the original tempo # (120 used if not specified), multiplied by $3 and divided by $4. +# These audio files are for Learner use; I've found that having the +# chords thumping away can make it hard to distinguish the melody, so +# arrange for timidity to mute everything except the melody track. makeaudiofortempo() { name=`basename $filename .abc` @@ -58,7 +61,7 @@ # Insert new tempo and delete old. Old may not exist, # so do this rather than overwrite. sed -e "/^Q:/d" -e "/^K:/aQ: ${notelenprefix}${newtempo}" $1 > $builddir/$newspeedfilename - makeaudiofiles $builddir/$newspeedfilename + makeaudiofiles $builddir/$newspeedfilename --mute=0,-1 rm $builddir/$newspeedfilename } @@ -70,6 +73,7 @@ # Now make 1/4, 1/2 and 3/4 speed audio. makeaudiofortempo $filename "veryslow" 1 4 - makeaudiofortempo $filename "slow" 1 2 + makeaudiofortempo $filename "slow" 2 4 makeaudiofortempo $filename "littleslow" 3 4 + makeaudiofortempo $filename "normal" 4 4 done