forked from CryHavoc/dottes
Have learner tunes play only the melody.
Do this by telling timidity to mute all tracks but the first.
This commit is contained in:
parent
fbb29b836b
commit
11ed898309
|
@ -21,8 +21,8 @@
|
||||||
|
|
||||||
<div class="grid_12 dottes-body">
|
<div class="grid_12 dottes-body">
|
||||||
<div class="dottes-tune-display">
|
<div class="dottes-tune-display">
|
||||||
<img src="../img/learner.png">Work out the tune or play along
|
<img src="../img/learner.png">Work out the melody or play along
|
||||||
with these audio players. They play the tune repeatedly. There's
|
with these audio players. They play the melody repeatedly. There's
|
||||||
a variety of speeds to choose from. You can also download the
|
a variety of speeds to choose from. You can also download the
|
||||||
audio files.
|
audio files.
|
||||||
</div>
|
</div>
|
||||||
|
@ -59,14 +59,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="dottes-tune-footer-centre">
|
<div class="dottes-tune-footer-centre">
|
||||||
<audio controls loop>
|
<audio controls loop>
|
||||||
<source src="../@MASTERBOOKE@/@TUNE@.mp3" type="audio/mpeg" />
|
<source src="../@MASTERBOOKE@/normal-@TUNE@.mp3" type="audio/mpeg" />
|
||||||
<source src="../@MASTERBOOKE@/@TUNE@.ogg" type="audio/ogg" />
|
<source src="../@MASTERBOOKE@/normal-@TUNE@.ogg" type="audio/ogg" />
|
||||||
<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
|
<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="autoStart" value="false" />
|
||||||
<param name="autoplay" value="false" />
|
<param name="autoplay" value="false" />
|
||||||
<param name="playCount" value="100000" />
|
<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="controller" value="true" />
|
||||||
<param name="autoplay" value="false" />
|
<param name="autoplay" value="false" />
|
||||||
<param name="playCount" value="100000" />
|
<param name="playCount" value="100000" />
|
||||||
|
|
|
@ -18,13 +18,13 @@ mkdir -p $builddir
|
||||||
|
|
||||||
# Make MP3 and OGG files for the input .abc. Since we're listening to
|
# 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)
|
# 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()
|
makeaudiofiles()
|
||||||
{
|
{
|
||||||
name=`basename $1 .abc`
|
name=`basename $1 .abc`
|
||||||
|
|
||||||
abc2midi $1 -o $builddir/${name}.mid
|
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
|
lame -m m -V 9 --quiet $builddir/${name}.wav $builddir/${name}.mp3
|
||||||
# Timidity can generate OGG directly. But we need to generate WAV
|
# Timidity can generate OGG directly. But we need to generate WAV
|
||||||
# for lame, and oggenc produces smaller output. OGG is needed for
|
# for lame, and oggenc produces smaller output. OGG is needed for
|
||||||
|
@ -38,6 +38,9 @@ makeaudiofiles()
|
||||||
# Make audio for a new tempo for the abc file $1, giving the output files
|
# 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
|
# 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.
|
# (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()
|
makeaudiofortempo()
|
||||||
{
|
{
|
||||||
name=`basename $filename .abc`
|
name=`basename $filename .abc`
|
||||||
|
@ -58,7 +61,7 @@ makeaudiofortempo()
|
||||||
# Insert new tempo and delete old. Old may not exist,
|
# Insert new tempo and delete old. Old may not exist,
|
||||||
# so do this rather than overwrite.
|
# so do this rather than overwrite.
|
||||||
sed -e "/^Q:/d" -e "/^K:/aQ: ${notelenprefix}${newtempo}" $1 > $builddir/$newspeedfilename
|
sed -e "/^Q:/d" -e "/^K:/aQ: ${notelenprefix}${newtempo}" $1 > $builddir/$newspeedfilename
|
||||||
makeaudiofiles $builddir/$newspeedfilename
|
makeaudiofiles $builddir/$newspeedfilename --mute=0,-1
|
||||||
rm $builddir/$newspeedfilename
|
rm $builddir/$newspeedfilename
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,6 +73,7 @@ find $booke -name "*.abc" | sort |
|
||||||
|
|
||||||
# Now make 1/4, 1/2 and 3/4 speed audio.
|
# Now make 1/4, 1/2 and 3/4 speed audio.
|
||||||
makeaudiofortempo $filename "veryslow" 1 4
|
makeaudiofortempo $filename "veryslow" 1 4
|
||||||
makeaudiofortempo $filename "slow" 1 2
|
makeaudiofortempo $filename "slow" 2 4
|
||||||
makeaudiofortempo $filename "littleslow" 3 4
|
makeaudiofortempo $filename "littleslow" 3 4
|
||||||
|
makeaudiofortempo $filename "normal" 4 4
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue