comparison makeWebAudio.sh @ 399:aeef7b1ca0ad

Make 1/4, 1/2 and 3/4 speed audio for tunes. Name them 'veryslow', 'slow' and 'littleslow'.
author Jim Hague <jim.hague@acm.org>
date Mon, 02 Sep 2013 10:15:56 +0100
parents ae9c05d2aafd
children f1c4abe4fc75
comparison
equal deleted inserted replaced
398:454505e7a7bb 399:aeef7b1ca0ad
37 mv $builddir/${tmpname}.mp3 $builddir/${name}.mp3 37 mv $builddir/${tmpname}.mp3 $builddir/${name}.mp3
38 mv $builddir/${tmpname}.ogg $builddir/${name}.ogg 38 mv $builddir/${tmpname}.ogg $builddir/${name}.ogg
39 rm $builddir/${tmpname}.wav 39 rm $builddir/${tmpname}.wav
40 } 40 }
41 41
42 # Make audio for a new tempo for the abc file $1, giving the output files
43 # the same name with a prefix $2. The new tempo is the original tempo
44 # (120 used if not specified), multiplied by $3 and divided by $4.
45 makeaudiofortempo()
46 {
47 name=`basename $filename .abc`
48 newspeedfilename="$2-${name}.abc"
49
50 # Prepare new speed audio files.
51 # The tempo is either a plain number, or <notelen>=<number>.
52 tempo=`$dir/abcfield.py --field Q $1`
53 if [ -z $tempo ]; then
54 echo "Warning: $1 has no tempo. Using 120."
55 tempo="120"
56 fi
57 pos=`expr index $tempo '='`
58 numtempo=${tempo:pos}
59 notelenprefix=${tempo:0:pos}
60 # Calculate new tempo.
61 newtempo=$(( ( $numtempo * $3 ) / $4 ))
62 # Insert new tempo and delete old. Old may not exist,
63 # so do this rather than overwrite.
64 sed -e "/^Q:/d" -e "/^K:/aQ: ${notelenprefix}${newtempo}" $1 > $builddir/$newspeedfilename
65 makeaudiofiles $builddir/$newspeedfilename
66 rm $builddir/$newspeedfilename
67 }
68
42 # Generate audio files and slow speed (currently half speed) audio files. 69 # Generate audio files and slow speed (currently half speed) audio files.
43 find $booke -name "*.abc" | sort | 70 find $booke -name "*.abc" | sort |
44 while read filename 71 while read filename
45 do 72 do
46 makeaudiofiles $filename 73 makeaudiofiles $filename
47 74
48 name=`basename $filename .abc` 75 # Now make 1/4, 1/2 and 3/4 speed audio.
49 slowspeedfilename="slowspeed-${name}.abc" 76 makeaudiofortempo $filename "veryslow" 1 4
50 77 makeaudiofortempo $filename "slow" 1 2
51 # Prepare slow speed audio files. 78 makeaudiofortempo $filename "littleslow" 3 4
52 # The tempo is either a plain number, or <notelen>=<number>.
53 tempo=`$dir/abcfield.py --field Q $filename`
54 if [ -z $tempo ]; then
55 echo "Warning: $filename has no tempo. Using 120."
56 tempo="120"
57 fi
58 pos=`expr index $tempo '='`
59 numtempo=${tempo:pos}
60 notelenprefix=${tempo:0:pos}
61 # Make new tempo half original speed.
62 newtempo=$(( $numtempo / 2 ))
63 # Insert new tempo and delete old. Old may not exist,
64 # so do this rather than overwrite.
65 sed -e "/^Q:/d" -e "/^K:/aQ: ${notelenprefix}${newtempo}" $filename > $builddir/$slowspeedfilename
66 makeaudiofiles $builddir/$slowspeedfilename
67 done 79 done