The following instructions are guidelines for creating an alignment
score for Andrews system.
Tapping to a performance
- Download (or located on your computer) the compressed file for the
recording of the performance which you will reverse conduct.
- Run towave.exe to convert file to .wav. In a
command-line terminal you can type:
towave filename
From windows, if you have a desktop icon for towave.exe, you can
drag the icon of the compressed soundfile onto the towave icon
to decompress it.
- Start Sonic Visualiser (SV) and load the .wav file with the recording
to which you will tap. You can load the file by going to the
"File" menu in SV and choosing "Import Audio File...".
- After the audio file has been loaded into SV, apply two analysis
plugins, the first being "Attack detector: Attack detector function"
and the second being "PowerCurve: scaled power slope". You apply
plugins by choosing them from the menu "Layer->Analysis Plugins...".
Color the attack detector function black, and set its style to
"curve".
Color the scaled power slope blue, and leave the line style
as dots connected with lines.
- Add a blank layer for the tapping data: "Layer->Add New Time Instants Layer".
- Position cursor at start of sound file
- Press space bar to start playing sound
- Press Keypad-Enter on the beats of the music. If you are using a laptop
without a keypad, you will probably need to open a virtual keyboard to
tap with the mouse. To open the virtual keyboard go to the
"start" menu at the bottom of the screen in Windows. Then go
to the program list and select "Accessories --> Accessibility -->
On-screen Keyboard.
- When the performance is finished, save the newly
created time instant layer by selecting
File->Export Annotation Layer...
Choose the "Save as type" to be "Text file (.txt).
Save with the pidname of the performance followed by "-raw.txt", or
call the file "raw.txt".
- Open up a cygwin terminal and change directory to the location of the
raw.txt file.
- Run the command:
./makemeasurelabels file-raw.txt > file-bars.txt
This will create an annotation file which labels the beats in
terms of measures and beats rather than successive counting the
beats.
This step is not necessary, but is useful to make sure that
you do not miss a beat in the reverse conducting.
- Also save the "Attack detector function" layer to a file, called
attacks.txt.
- Run the command:
./snaptopeaks bars.txt attacks.txt > newtaps.txt
- Delete the saved tapped layer in Sonic Visualiser by going to
Layer -> Delete Layer
Make sure that you deactivate the play button on the layer before
you delete it.
Or just change the color of the old tap layer from purple to orange.
(and deslect the play option for the layer).
- Load the new measure/beat number annotation file:
File -> Import Annoation Layer...
- The New annotation layer should now be visible with the waveform of the
audio for the performance.
- Now go through the audio file, adjusting each tapped beat
to line up wth the audio event for the beat. Beats which have no
event should be about halfway between other beats, or whatever sounds
best when playing back the beat taps.
Time instants can be moved in Sonic Visualiser by clicking on the
edit mode button which is in the toolbar and looks like a four-way aarrow.
Make sure that you have the tapping layer on top which you change to
edit mode.
- After correcting the beat locations and verify by listening that the
taps are on the beat, save the new annotation
file as *-clean.txt, where * is the pid number for the performance.
- Note the repetitions occuring in the file (for example, was
both the first and second endings played in each section).
- At the top of the pid*-clean.txt file, add a header following this
template:
Where
performance-id = performance ID number
- title = the full title of the piece
- trial = the trial number (always 01/01)
- date = the date on which the tapped data was created (year/month/day/)
prepend a 0 if there is only one digit in the month or day entry.
- reverse-conductor = name of the person who did the reverse conducting taps.
- performer = name of the pianist who played the performance
- performance-date = year of the performance
- label = recording label of the CD from which tapping was done.
- At this point the data file should be emailed to Craig and Nick.
Craig will prepare the data to give to Andrew's program using the
following guidelines:
Aligning taps to score and generating data for Andrew's system
- Create a directory called .../info/revcond/pid*
where * is the pid number of the performance.
- copy the pid*-clean.txt file to the new directory.
- Change to the new directory and run:
ln -s ../Makefile.performance Makefile
- Copy a humdrum score file for the performance and edit the
repeats to match the performance. The file should be called pid*.score
- run the command:
../bin/sv2revcond pid*-clean.txt 3 > pid*-01.tap
Where "3" in this case means that the music in the tapping file starts
on beat 3 (a pickup beat before the first measure). If there is no
pickup beat, you can specify "1" or nothing since the default is to
assume starting at the beginning of the measure.
- Now type:
source /etc/profile.d/humdrum.sh
make allsingle
-
If there were no errors, then go to the parent directory and type
make
to build the index with the new directory information listed.
Updating the cross-referencing on each performance page is
not yet automatic, but should be made so in the future.
- The final output to give to Andrew's alignment system
will be .../info/revcond/pid*/pid*.notes
|