Mercurial > dottes
diff makeWebAudio.sh @ 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 | f1c4abe4fc75 |
children | ce5c7214f9aa |
line wrap: on
line diff
--- 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