Difference between revisions of "Op27"

From CCARH Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 34: Line 34:
 
Also select the <i>Normalize Visible Area</i> button which is just above and to the left of the <i>Butterfly</i> text in the Waveform options panel.  This setting will automatically scale up quiet waveforms and scale down loud waveforms so that the full range of the display pane shows the waveform amplitude.  See the following figure which has the red arrow pointing to the normalization button:
 
Also select the <i>Normalize Visible Area</i> button which is just above and to the left of the <i>Butterfly</i> text in the Waveform options panel.  This setting will automatically scale up quiet waveforms and scale down loud waveforms so that the full range of the display pane shows the waveform amplitude.  See the following figure which has the red arrow pointing to the normalization button:
  
[[File:op27-normalize.png|500px|thumb|center|View after <i>Butterfly</i> display is selected.]]
+
[[File:op27-normalize.png|500px|thumb|center|View after local normalization button is selected.]]
  
 
An optional setup is to change the waveform color to orange.  I do this to minimize the waveform display so that plugin analysis data is more visible:
 
An optional setup is to change the waveform color to orange.  I do this to minimize the waveform display so that plugin analysis data is more visible:
  
[[File:op27-orangewaveform.png|500px|thumb|center|View after <i>Butterfly</i> display is selected.]]
+
[[File:op27-orangewaveform.png|500px|thumb|center|View after orange waveform is selected.]]
 +
 
 +
=== Running the plugins ===
 +
 
 +
Now you are ready to run the plugins.  The primary plugin to use is <i>Spectral Reflux...Onset Times</i>.  This plugin places a <i>time instant</i> at every location in the file which the plugin things is a note onset (or more precisely, an event where the spectral energy changes significantly).  To run this plugin go to <b>Transform &rarr; Analysis by Plugin Name &rarr; Spectral Reflux &rarr; Onset Times...</b> (It will also be found in <b>Transform &rarr; Recent Plugins</b> after you have used it). 
 +
 
 +
A parameter control window for the plugin will appear, as shown below.  I almost always use the default settings.  So just press the {{keypress|OK}} button to start the analysis.
 +
 
 +
[[File:op27-onsettimesparameters.png||thumb|center|Onset Times parameters.]]
 +
 
 +
You will see a green progress bar in the lower left corner of the main pane while the plugin is working. It is probably best if you do not do anything in the editor while the plugin is working, as this will slow down the processing or may hang the program (depending on the version of Sonic Visualiser).
 +
 
 +
[[File:op27-progressbar.png|500px|thumb|center|Display of the Plugin progress bar at about 40% complete.]]
 +
 
 +
Once the plugin has completed the analysis, you should see a set of vertical lines added to the display pane.  In this case the lines are pink/purple.  Notice that there is a new tab in the control panel on the right which is opened to the new time instants layer settings.
 +
 
 +
[[File:op27-onsettimes.png|500px|thumb|center|Display of onset markers after plugin has finished processing.]]
 +
 
 +
I also hide the display of the timeline vertical lines and ticks so that it is easier to concentrate on the onset time markers.  Press the {{keypress|#}} key to toggle the timeline display:
 +
 
 +
[[File:op27-notimeline.png|500px|thumb|center|Press {{keypress|#}} to hide the timeline.]]
 +
 
 +
Try listening to the audio along with the clicks.  Press the space bar to start playing the sound file.  Whenever an onset line is crossed by the playback cursor, a tap sound is played.  The default sound is loud and obnoxious.  Change the default timbre for the sound of time instants on the layer to <i>click</i> by pressing on the mixer button on the time instant layer as illustrated below, then select <i>click</i> from the <b>Program</b> drop-down list.
 +
 
 +
[[File:op27-clicksound.png|500px|thumb|center|Selecting the click timbre for time instants.]]
 +
 
 +
You can also adjust the loudness of the onset clicks by clicking on the layer volume know on the time instant control panel, and then moving mouse up/down or left/right to make the clicks louder or softer.  For careful listening, I often put the clicks in one stereo channel and the original audio in another channel by panning the clicks with the panning know on its control panel, and then panning the audio waveform (click on the layer 3 tab to go to waveform control panel and pan in the opposite direction).  Also note the global volume control for all audio output at the bottom right of the Sonic Visualiser window.
 +
 
 +
 
 +
[[File:op27-volumepan.png|500px|thumb|center|Volume and panning controls for the onset time layer.]]
 +
 
 +
You can zoom in and out of the waveform as shown in the previous few illustrations by pressing the {{keypress|Up}} and {{keypress|Down}} arrow keys.  Navigation forward and backwards in time can be done by pressing the {{keypress|Left}} and {{keypress|Right}} arrow keys.
 +
 
 +
==== Spectral Reflux: Scaled Spectral Flux Function ====
 +
 
 +
Another useful output of the Spectral Reflux plugin is the <i>Scaled Spectral Flux Function</i> output.  This is the intermediate output from the Spectral Reflux plugin from which onset times are measured.  The peaks in the flux function are interpreted as onset times.  Sometimes an onset is missed because the peak does not exceed the triggering threshold.  Seeing the function on-screen will help when you need to manually add a time instant in these cases. 
 +
 
 +
Run the <b>Transform &rarr; Analysis by Plugin Name &rarr; Spectral Reflux &rarr; Scaled Spectral Flux Function</b> plugin.  After the plugin has completed, change the line color to black and the <b>Plot Type</b> to <i>Curve</i>.  This will generate a continuous black curve at the bottom of the waveform display.  Notice that the purple onset times align with the peaks of the black function.
 +
 
 +
[[File:op27-fluxfunction.png|500px|thumb|center|Adding the display of the flux function.]]
 +
 
 +
 
 +
== Event labeling ==
 +
 
 +
Time instants automatically detected by the <i>Spectral Reflux Onset Times</i> plugin need to be cleaned so that there is only one onset for each score event.  Here is the opening of the first movement showing the first six <i>events</i> in the score:
 +
 
 +
[[File:op27-scoreevents.png|500px|thumb|center|First six score events.]]
 +
 
 +
The onset time instants in Sonic Visual have labels attached to them.  These are floating-point numbers which indicate the relative spectral activity for the detected onset.  These labels must be changed so that they are labeled from 1 at the beginning of the audio file and incremented by one for each successive event.
 +
 
 +
To relabel the onset time instants, follow these steps:
 +
# click on the control-panel tab for the onsets (the fourth tab in the example) in order to place the onset layer on top of the pane.
 +
# press {{keypress|Control|a}} to select all time instants in the layer.  The pane which change from white to a bluish color indicating an active selection.
 +
# Select the menu item <b>Edit &rarr; Number New Instants with &rarrl; Simple counter</b> (this setting will be remembered for the rest of the session).
 +
# Select the menu item <b>Edit &rarr; Renumber Selected Instants</b>.  This should enumerate the time instants in the layer starting at 1.
 +
# If the first number is not 1, then you will have to go to <b>Edit &rarr; Set Numbering Counters...</b> and then set the Coarse counter to 1 in the window which appears.  Then repeat the previous action in this list.
 +
 
 +
=== Deleting extra onsets ===
 +
 
 +
Here is what the opening of the first movement of Op. 27 should now look like in Sonic Visualiser (click three times on the image below to view at full size):
 +
 
 +
[[File:op27-enumeratedevents.png|500px|thumb|center|First six events with a double attack on event 3.]]
 +
 
 +
Note that the labels appear to skip #3 where the red arrow is pointing.  This is due to a double attack where the dyad in the score is not attacked at precisely the same time.  One of these onsets must be removed.  Which one to remove is dependent on how you perceive the event.  You can zoom in with the {{keypress|Up}} arrow key to see the two closely spaced onsets in more detail as shown in the following figure:
 +
 
 +
[[File:op27-zoom34.png|500px|thumb|center|Zoom-in on double attack on event 3 of movement 1.]]
 +
 
 +
Using the measure tool on the top taskbar in Sonic Visualiser, note that there is a 10 millisecond difference between the two onset times (this is the measuring resolution of the Spectral Reflux plugin).  I would choose the second onset in this case since the first note is softer (inferred by the weaker spectral activity) so in a sense, it acts like a grace note to the second louder note. 
 +
 
 +
The <i>Harmonic Spectrogram &rarr; Spectrogram</i> plugin can be used to look at the pitch information for the events in more detail.  To use, add another pane to the Sonic Visualiser window with <b>Pane &rarr; Add New Pane</b>.  A black bar on the far left of the window will indicate which pane is active.  In this case the new pane will be active.  Go to <b>Transform &rarr; Analysis by Plugin Name &rarr; Harmonic Spectrogram &rarr; Spectrogram...</b>.  This will open the following window:
 +
 
 +
[[File:op27-harmonicspectrogramcontrols.png||thumb|center|Harmonic Spectrogram control panel.]]
 +
 
 +
Usually the default options are good enough, but this is a tough case.  Choose 10 Harmonics and set the Method to <i>Complex Summation</i>.  You can also set the Min and Max pitch to the range of the notes in the event, or you can zoom in later by pressing {{keypress|z}} to make the zoom wheels visible. 
 +
 
 +
The resulting spectrogram is shown below.  The first note at event 3 is the F{{music|sharp}}3 and the second is G4.  The pianist is probably voicing the dyad to enhance their independence with a focus on the top voice: playing the first note softer will allow it to be heard more distinctly when played before the louder note than after it.
 +
 
 +
[[File:op27-harmonicspectrogram.png|500px|thumb|center|Harmonic Spectrogram display of event 3 with added pitch labels in red.]]
 +
 
 +
Once you have decided which onset to delete, return to the top pane (by clickong on the gray region on the far left of the top pane so that the black bar moves to the top pane.  Then click on the eraser tool, and finally click on the time instant line you want to remove:
 +
 
 +
[[File:op27-deleteonset.png|500px|thumb|center|First onset time instant deleted.]]
 +
 
 +
For this particular case, you could also delete one of the time instants and place the other half-way between the two onsets.  The time instants can be renumbered as described at the start of this section.

Latest revision as of 08:46, 18 January 2012

This page describes data entry and processing for performances of Webern's Piano Variations, Op. 27.

Install Software

Download Sonic Visualiser

Download Sonic Visualiser (current version 1.9) from http://sonicvisualiser.org/download.html for either Windows or Linux. In Windows, unzip the downloaded program installation file and store the executable in any location on your computer.

Download Mazurka Plugings

Next, create the directory C:\Program Files\Vamp Plugins. On a 64-bit Windows computer, instead create the directory C:\Program Files (x86)\Vamp Plugins. Then download the file http://sv.mazurka.org.uk/download/windows/mazurka-plugins.dll from the webpage http://sv.mazurka.org.uk/download and save the dll file in the newly created directory.

Verify Installation

Double-click on the executable for Sonic Visualsier. Then go Transform → Analysis by Maker → The Mazurka Project. You should see a list of plugin options as shown in the plugin below (click three times on the image for full size):

Verify that Mazurka Plugins have been installed.


Using the Mazurka Plugins

Here is a step-by-step description of how I load an audio file and add plugin data on to various layers in Sonic Visualiser.

Load an audio file

Load and audio file by going to File → Open... (or type Ctrl+O as a keyboard shortcut to open a file). Select an audio file from the file browsing window which appears. If the audio file is in stereo, the display in Sonic Visualiser after loading will look like this:

View immediatly after a file has been loaded.

Since stereo information will not be important, switch to a monophonic display. To do this, click on the Waveform tab at the far right of the main display pane. For this particular example, it is the third tab which you can also open with the keyboard shortcut Alt+3. When the waveform options are display, select Butterfly or Mean instead of Separate. Refer to the red arrow in the following image which points to the change:

View after Butterfly display is selected.

Also select the Normalize Visible Area button which is just above and to the left of the Butterfly text in the Waveform options panel. This setting will automatically scale up quiet waveforms and scale down loud waveforms so that the full range of the display pane shows the waveform amplitude. See the following figure which has the red arrow pointing to the normalization button:

View after local normalization button is selected.

An optional setup is to change the waveform color to orange. I do this to minimize the waveform display so that plugin analysis data is more visible:

View after orange waveform is selected.

Running the plugins

Now you are ready to run the plugins. The primary plugin to use is Spectral Reflux...Onset Times. This plugin places a time instant at every location in the file which the plugin things is a note onset (or more precisely, an event where the spectral energy changes significantly). To run this plugin go to Transform → Analysis by Plugin Name → Spectral Reflux → Onset Times... (It will also be found in Transform → Recent Plugins after you have used it).

A parameter control window for the plugin will appear, as shown below. I almost always use the default settings. So just press the OK button to start the analysis.

Onset Times parameters.

You will see a green progress bar in the lower left corner of the main pane while the plugin is working. It is probably best if you do not do anything in the editor while the plugin is working, as this will slow down the processing or may hang the program (depending on the version of Sonic Visualiser).

Display of the Plugin progress bar at about 40% complete.

Once the plugin has completed the analysis, you should see a set of vertical lines added to the display pane. In this case the lines are pink/purple. Notice that there is a new tab in the control panel on the right which is opened to the new time instants layer settings.

Display of onset markers after plugin has finished processing.

I also hide the display of the timeline vertical lines and ticks so that it is easier to concentrate on the onset time markers. Press the # key to toggle the timeline display:

Press # to hide the timeline.

Try listening to the audio along with the clicks. Press the space bar to start playing the sound file. Whenever an onset line is crossed by the playback cursor, a tap sound is played. The default sound is loud and obnoxious. Change the default timbre for the sound of time instants on the layer to click by pressing on the mixer button on the time instant layer as illustrated below, then select click from the Program drop-down list.

Selecting the click timbre for time instants.

You can also adjust the loudness of the onset clicks by clicking on the layer volume know on the time instant control panel, and then moving mouse up/down or left/right to make the clicks louder or softer. For careful listening, I often put the clicks in one stereo channel and the original audio in another channel by panning the clicks with the panning know on its control panel, and then panning the audio waveform (click on the layer 3 tab to go to waveform control panel and pan in the opposite direction). Also note the global volume control for all audio output at the bottom right of the Sonic Visualiser window.


Volume and panning controls for the onset time layer.

You can zoom in and out of the waveform as shown in the previous few illustrations by pressing the and arrow keys. Navigation forward and backwards in time can be done by pressing the and arrow keys.

Spectral Reflux: Scaled Spectral Flux Function

Another useful output of the Spectral Reflux plugin is the Scaled Spectral Flux Function output. This is the intermediate output from the Spectral Reflux plugin from which onset times are measured. The peaks in the flux function are interpreted as onset times. Sometimes an onset is missed because the peak does not exceed the triggering threshold. Seeing the function on-screen will help when you need to manually add a time instant in these cases.

Run the Transform → Analysis by Plugin Name → Spectral Reflux → Scaled Spectral Flux Function plugin. After the plugin has completed, change the line color to black and the Plot Type to Curve. This will generate a continuous black curve at the bottom of the waveform display. Notice that the purple onset times align with the peaks of the black function.

Adding the display of the flux function.


Event labeling

Time instants automatically detected by the Spectral Reflux Onset Times plugin need to be cleaned so that there is only one onset for each score event. Here is the opening of the first movement showing the first six events in the score:

First six score events.

The onset time instants in Sonic Visual have labels attached to them. These are floating-point numbers which indicate the relative spectral activity for the detected onset. These labels must be changed so that they are labeled from 1 at the beginning of the audio file and incremented by one for each successive event.

To relabel the onset time instants, follow these steps:

  1. click on the control-panel tab for the onsets (the fourth tab in the example) in order to place the onset layer on top of the pane.
  2. press Control+a to select all time instants in the layer. The pane which change from white to a bluish color indicating an active selection.
  3. Select the menu item Edit → Number New Instants with &rarrl; Simple counter (this setting will be remembered for the rest of the session).
  4. Select the menu item Edit → Renumber Selected Instants. This should enumerate the time instants in the layer starting at 1.
  5. If the first number is not 1, then you will have to go to Edit → Set Numbering Counters... and then set the Coarse counter to 1 in the window which appears. Then repeat the previous action in this list.

Deleting extra onsets

Here is what the opening of the first movement of Op. 27 should now look like in Sonic Visualiser (click three times on the image below to view at full size):

First six events with a double attack on event 3.

Note that the labels appear to skip #3 where the red arrow is pointing. This is due to a double attack where the dyad in the score is not attacked at precisely the same time. One of these onsets must be removed. Which one to remove is dependent on how you perceive the event. You can zoom in with the arrow key to see the two closely spaced onsets in more detail as shown in the following figure:

Zoom-in on double attack on event 3 of movement 1.

Using the measure tool on the top taskbar in Sonic Visualiser, note that there is a 10 millisecond difference between the two onset times (this is the measuring resolution of the Spectral Reflux plugin). I would choose the second onset in this case since the first note is softer (inferred by the weaker spectral activity) so in a sense, it acts like a grace note to the second louder note.

The Harmonic Spectrogram → Spectrogram plugin can be used to look at the pitch information for the events in more detail. To use, add another pane to the Sonic Visualiser window with Pane → Add New Pane. A black bar on the far left of the window will indicate which pane is active. In this case the new pane will be active. Go to Transform → Analysis by Plugin Name → Harmonic Spectrogram → Spectrogram.... This will open the following window:

Harmonic Spectrogram control panel.

Usually the default options are good enough, but this is a tough case. Choose 10 Harmonics and set the Method to Complex Summation. You can also set the Min and Max pitch to the range of the notes in the event, or you can zoom in later by pressing z to make the zoom wheels visible.

The resulting spectrogram is shown below. The first note at event 3 is the F3 and the second is G4. The pianist is probably voicing the dyad to enhance their independence with a focus on the top voice: playing the first note softer will allow it to be heard more distinctly when played before the louder note than after it.

Harmonic Spectrogram display of event 3 with added pitch labels in red.

Once you have decided which onset to delete, return to the top pane (by clickong on the gray region on the far left of the top pane so that the black bar moves to the top pane. Then click on the eraser tool, and finally click on the time instant line you want to remove:

First onset time instant deleted.

For this particular case, you could also delete one of the time instants and place the other half-way between the two onsets. The time instants can be renumbered as described at the start of this section.