mazurka project

68
Mazurka Project 29 June 2006 CHARM Symposium Craig Stuart Sapp

Upload: deacon-watson

Post on 03-Jan-2016

84 views

Category:

Documents


5 download

DESCRIPTION

Mazurka Project. 29 June 2006 CHARM Symposium. Craig Stuart Sapp. Sections. Overview Power Measurements Manual Correction Automatic Alignment Experiments Performance Simulations Initial Analysis. Top-Down Overview. Mazurka Project. Data Entry. Data Analysis. Year 1 focus. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mazurka Project

Mazurka Project

29 June 2006

CHARM Symposium

Craig Stuart Sapp

Page 2: Mazurka Project

Sections

1. Overview2. Power Measurements3. Manual Correction4. Automatic Alignment 5. Experiments6. Performance Simulations7. Initial Analysis

Page 3: Mazurka Project

Top-Down Overview

Mazurka Project

Data Entry Data Analysis

Year 1 focusYear 2 focus

How to measure performance features fromaudio?

What to do with measuredfeatures?

Page 4: Mazurka Project

Top-Down Overview

Mazurka Project

Data Entry Data Analysis

Score Preparation

Automatic Alignment Manual CorrectionAudio Preparation

Beat Tapping

Page 5: Mazurka Project

Data Entry Process

Automatic Alignment Manual CorrectionBeat Tapping

• Tapping to beats in audio• Alignment of taps to audio times• Previously done with non-graphical program• Evaluating process in Sonic Visualiser

• tapping alignment to audio done automatically• time resolution not as accurate? (maybe 10 ms instead of 5 ms)

• Tapping accuracy is about 50/60 ms away from beat on average for mauzurkas, or 25 ms away from beat for a steady tempo.

Page 6: Mazurka Project

Data Entry Process

Automatic Alignment Manual CorrectionBeat Tapping

• Refines taps by searching for score notes in neighborhood• Estimates and locates non-beat notes• Measures event amplitudes (loudness)

• Improves on tapping positions by 4-5x for modern recordings • 2-3x improvement for historic (noisy) recordings

Page 7: Mazurka Project

Data Entry Process

Automatic Alignment Manual CorrectionBeat Tapping

• Fix obvious errors in automatic alignment

• Verify automatic alignment by listening to clicks and music simultaneously

Page 8: Mazurka Project

Reverse Conducting• Orange = individual taps (multiple sessions) which create bands of time about 100 ms wide.

• Red = average time of individual taps for a particular beat

• Blue = actual beat onset times

Good localization, but not accurate average

Poor localization, but accurate average

Typically one beat delay in response

Page 9: Mazurka Project

Power Measurements(for manual corrections)

Page 10: Mazurka Project

MzPowerCurve• Sonic Visualiser plugin to do various power measurements

• #1 raw power measurements – average and weighted

• #2 smoothed power – useful for basic dynamics measurements

• #3,4 smoothed power slope – useful for manual corrections of note attacks (for percussive instruments such as piano).

http://sv.mazurka.org.uk/MzPowerCurve

Page 11: Mazurka Project

Window and Hop

Overlapping In this example

Page 12: Mazurka Project

Raw and Smoothed power

Note attack Note attack

(Measuring power every 10 ms, with a 10 ms window.)

• Smoothed power useful for getting basic dynamics levels.

Need to smooth to remove beatings and other quick artifacts.

Page 13: Mazurka Project

Smoothing Filter• Using a filter called an exponential smoother:

Englishish: The current output equals the current input times the value k, plus the previous output times the value 1-k.

• All filters delay the input. Since this filter feeds back on itself, the filter will delay some frequencies more than others:

Delays for k = 0.3

Page 14: Mazurka Project

Symmetric Filtering

Page 15: Mazurka Project

Filtering Direction

Page 16: Mazurka Project

Smoothing Direction• Avoid the funny delays by symmetric filtering

• Then slope of smoothed power aligns nicely with percussive note attacks

no

te a

ttack

• symmetric filtering is best for localizing attacks

• reverse filtering is best for dynamics estimation

Page 17: Mazurka Project

Smoothed Power Slope

• smoothing factor of about 0.2 gives best results over a variety of conditions

Attack ½ between measurementsAttack on measurements

misses

Page 18: Mazurka Project

Power Slope for Correcting

Not helpful for this beat (no peak)

Page 19: Mazurka Project

Non-Synchronous Hands

70 ms separation

• Pianist is probably conveying a sense of relaxation at this point in music

• > 30 ms separation may be significant

Page 20: Mazurka Project

Advantages/Disadvantages

• Time domain analysis, so localization can be better than for frequency analysis metrics (E.g. Earis & Bello methods)

• Ignores frequency content, so not always or accurate.

•Good for instruments with percussive attacks (i.e. piano, drums)

• Probably not good for non-percussive instruments: voice, violin, woodwinds, brass, etc.

Page 21: Mazurka Project

Manual Correction

Page 22: Mazurka Project

Beats + Offbeats

scaled power slope:

waveform:

beat beat beatoffbeat

Page 23: Mazurka Project

Advantage of Having the Score

meaningless peaks(due to beating)

• If you don’t have a score, you are wasting your time.

Page 24: Mazurka Project

Large-scale View of Beats/Offbeats

• Layer clicks can be played with different timbres/loudness.

Page 25: Mazurka Project

Probable Entry Scenario0. Become familiar with the performance. (Score already entered)

• Tap to performance in Sonic Visualiser

• Cursory check of beat positions with onset annotations

• Interpolate off-beat positions based on score

• View/listen to audio with beats/off-beats and automatic annotations

• Automatic adjustments of the onset times of beats/off-beats

• Careful manual proof listening/reading of the automatically adjusted times

• Extract secondary performance features such as dynamics and non-simultaneous chord notes.

(10 min)

(5 min)

(10 min)

(30 min)

red: manual time estimates for a 5 minute piece

(15 min)

about 2 hours for 5 minutes of music

Page 26: Mazurka Project

Automatic Alignment Evaluation

Page 27: Mazurka Project

Summary

• Earis system parameter search optimization

1. wavenumber (k)2. low-pass filter order (LPF)3. tuning factor

• Other evaluation/exploration for the system:

1. search window method2. square/Gaussian window method3. recursive processing 4. wanderer identification 5. removing harmonics of previous event6. symmetric LPF filtering

• Automatic alignment improves accuracy about 4-5x for modern recordings and 2-3x for historic recordings when compared to reverse conducting accuracy.

Page 28: Mazurka Project

k Parameter Sensitivity

k = wave number (how many cycles of a sinewave) to analyze with

Page 29: Mazurka Project

LPF Parameter

Page 30: Mazurka Project

Tuning parameter

Page 31: Mazurka Project

Windowing Methods   a  =   [ -0.33 ioi : 0.33 ioi ]   b  =   [ -0.50 ioi : 0.50 ioi ]   c  =   [ -0.67 ioi : 0.67 ioi ]   d  =   [ -0.33 ioi : 0.67 ioi ]   e  =   [ -1.00 ioi : 0.67 ioi ]   f   =   [ -100 ms : 100 ms ]   g  =   [ -200 ms : 200 ms ]   h  =   [ -300 ms : 300 ms ]   i   =   [ -400 ms : 400 ms ]   j   =   [ -500 ms : 500 ms ]   k  =   [ -200 ms : 500 ms ]  l    =   [ -1 sd : 1 sd ] m  =   [ -2 sd : 2 sd ] n   =   [ -3 sd : 3 sd ] o   =   [ -4 sd : 4 sd ] p   =   [ -5 sd : 5 sd ] q   =   [ -2 sd : 4 sd ]

• IOI is best method

Page 32: Mazurka Project

Hybrid Window Shape

                        all beats       good beatsChiu 1999:             100%           60%Friedman 1930:        75%           50%

Page 33: Mazurka Project

Recursion effect on localization

Page 34: Mazurka Project

Recursion & Wanderingmodern recording

historic recording

Page 35: Mazurka Project

Wandering

wandering

not wandering

Page 36: Mazurka Project

Wanderers

Page 37: Mazurka Project

Wanderers (2)

• events which the analysis method cannot “see”.

Page 38: Mazurka Project

Wandering (3)

Page 39: Mazurka Project

Selective Harmonics

• Removing shared harmonics with previous events didn’t help: more wanderers.

• Remove shared harmonics with previous event to improve attack identification and remove potentially beating harmonics.

Page 40: Mazurka Project

Selective Harmonics (2)

Page 41: Mazurka Project

Bello Onsets• Spectral measurements used to identify event onset locations• Can give false positivies and false negatives• Does not utilize a score

http://mazurka.org.uk/auto/onset

false negative false positive

LH/RH?

Page 42: Mazurka Project

Onset Snapping

Chiu 1999, Mazurka 7/2:   iteration 1 mean deviation: 10.5 ms   bello snapping md:            13.4 ms

Friedman 1930, Mazurka 7/2:   iteration 1 mean deviation: 22.0 ms   bello snapping md:           22.1 ms

• Snap earis to bello if a bello onset is less than 50 ms away.

Page 43: Mazurka Project

Stereo Differences

Page 44: Mazurka Project

Stereo Comparison

Page 45: Mazurka Project

Experiments

Page 46: Mazurka Project

Note Onset Time Resolution

zoom in

rightchannel

leftchannel

• Play one of these clicks and ask listener: did it come before or after the start of the piano note?

piano note

Page 47: Mazurka Project

Note Onset Time Resolution

• Very accurate to distinguish which came first when difference is > 60 ms.

• 75% accuracy or better outside -21.2 to +22.0 ms range around note attack.

• Symmetric about the note onset.

zone of confusion

Page 48: Mazurka Project

Tapping Accuracy

• Tap for 30 minutes to a constant tempo

• 50% of taps occur within +/- 25 ms of actual event

• 95% of taps occur within +/- 50 ms of actual event

faster slower~25% ~25%

-50ms +50ms+25ms+25ms

• For Mazurkas (significant tempo changes), accuracy is about twice as much (50% occur within 50 ms of actual event).

Page 49: Mazurka Project

Unpredictable Tempo Changes• Tapping to an unknown sudden change in tempo

stimulus:

• Suddenly faster:

responses:

average:

Same data as a tempo plot:

Page 50: Mazurka Project

Unpredictable Tempo Changes (2)

• Tapping to an unknown sudden change in tempo

stimulus:

• Suddenly slower:

responses:

average:

Same data as a tempo plot:

Page 51: Mazurka Project

Predictable Tempo Changes

• Tapping to an known sudden change in tempo:

Page 52: Mazurka Project

Predictable Tempo Changes

Page 53: Mazurka Project

Tempo JND

• How little can the tempo change before it is noticed?

60.0 63.33:

60.0 62.14:

60.0 62.05:

60.0 62.210:

61.05

60.67 61.33

60.28 60.55 60.83 61.10 61.38 61.65 61.93

Page 54: Mazurka Project

Tempo JND (2)

Page 55: Mazurka Project

Performance Simulations

Page 56: Mazurka Project

Performance Feature Layers

constant

beat

event

notes

Tempo:

http://mazurka.org.uk/ana/midi

Page 57: Mazurka Project

Performance Components

Tempo/Timing Dynamics

1. Average tempo (of entire piece)

2. Beat-to-beat tempo

3. Sub-beat timings (continuous tempo)

4. Non-simultaneous events (LH/RH, arpgggios)

1. Score dynamics

2. Composite loudness

3. LH/RH loudness

4. Individual note loudness

Page 58: Mazurka Project

PerfViz

info(matchFileVersion,2.0).info(scoreFileName,'STDIN').info(midiFileName,'pid9048-06-corbsdpv.mid'). info(midiClockUnits,480). info(midiClockRate,500000). info(keySignature,[an,minor]). info(timeSignature,3/4). info(approximateTempo,102.4). snote(n1,[e,n],5,0:3,0,1,0,1,[])-note(1,[e,n],5,1656,2428,2428,43). snote(n2,[f,n],5,1:1,0,3/16,1,1.75,[])-note(2,[f,n],5,2428,2925,2925,49). snote(n3,[e,n],5,1:1,3/16,1/16,1.75,2,[])-note(3,[e,n],5,2925,3090,3090,41). snote(n4,[a,n],3,1:2,0,1,2,3,[])-note(4,[a,n],3,3090,3366,3366,40). snote(n5,[d,n],4,1:2,0,1,2,3,[])-note(5,[d,n],4,3090,3366,3366,40). snote(n6,[f,n],4,1:2,0,1,2,3,[])-note(6,[f,n],4,3090,3366,3366,40). snote(n7,[d,n],5,1:2,0,1,2,3,[])-note(7,[d,n],5,3090,3642,3642,40). snote(n8,[a,n],3,1:3,0,1,3,4,[])-note(8,[a,n],3,3642,3912,3912,43). snote(n9,[d,n],4,1:3,0,1,3,4,[])-note(9,[d,n],4,3642,3912,3912,43). snote(n10,[f,n],4,1:3,0,1,3,4,[])-note(10,[f,n],4,3642,3912,3912,43). snote(n11,[f,n],5,1:3,0,1,3,4,[])-note(11,[f,n],5,3642,4181,4181,39). snote(n12,[f,n],5,2:1,0,2,4,6,[])-note(12,[f,n],5,4181,5301,5301,62). snote(n13,[a,n],3,2:2,0,1,5,6,[])-note(13,[a,n],3,4649,4975,4975,39). snote(n14,[c,n],4,2:2,0,1,5,6,[])-note(14,[c,n],4,4649,4975,4975,39).

• 3D performance worm visualiser by Martin Gasser (Vienna)

MIDI file + Match file

Page 59: Mazurka Project

PerfViz (2)

3 Axes:1. Time2. Tempo3. Loudness

Page 60: Mazurka Project

Initial Analysis

Page 61: Mazurka Project

Beat Durations

mazurka 2nd beat accentuation

long

er b

eat

shorter beat

Page 62: Mazurka Project

Beat Durations (2)

Page 63: Mazurka Project

Tempo and Style

Beat-duration plot

Rokudan no shirabe; Kin’ichi Nakanoshima (1904-1984)

JVC VICG-60397

Page 64: Mazurka Project

Average tempo over time

Page 65: Mazurka Project

Average tempo over time (2)

Page 66: Mazurka Project

Mazurka in F Major, Op. 68, No. 3

Rubinstein 1938

Rubinstein 1961

Chiu 1999

MM134

MM129

MM115

Page 67: Mazurka Project

Repeats

Page 68: Mazurka Project

Dynamics