Piano Evaluation for Level Normalisation » History » Version 24

Chris Cannam, 2014-07-17 10:13 PM

1 1 Chris Cannam
h1. Piano Evaluation for Level Normalisation
2 1 Chris Cannam
3 1 Chris Cannam
Lack of normalisation for Vamp plugin inputs is a problem when analysing quiet recordings (see #1028).
4 1 Chris Cannam
5 1 Chris Cannam
Testing using a small set of piano recordings, quickly evaluating performance across the first 30 seconds under a number of different normalisation / level management regimes.
6 1 Chris Cannam
7 3 Chris Cannam
h3. Input files
8 1 Chris Cannam
9 1 Chris Cannam
|Filename|Signal max approx|
10 4 Chris Cannam
|@31.wav@|0.57|
11 4 Chris Cannam
|@MAPS_MUS-bach_846_AkPnBcht.wav@|0.12|
12 4 Chris Cannam
|@MAPS_MUS-chpn_op7_1_ENSTDkAm.wav@|0.33|
13 4 Chris Cannam
|@MAPS_MUS-scn15_7_SptkBGAm.wav@|0.13|
14 4 Chris Cannam
|@mz_333_1MINp_align.wav@|0.10|
15 2 Chris Cannam
16 2 Chris Cannam
The plugin has one internal threshold parameter, which can be lowered to find quieter notes (at the expense of course of more false positives). We don't really want to expose this (or any continuous controls) as a parameter. But we need to have approximately predictable input levels, for this threshold to be meaningful.
17 2 Chris Cannam
18 3 Chris Cannam
h3. Methods
19 2 Chris Cannam
20 2 Chris Cannam
|Name|Hg revision|Description|
21 11 Chris Cannam
|@norm@|commit:d721a17f3e14|Normalise to 0.50 max before running plugin (can't do this in plugin, it's the reference case)|
22 4 Chris Cannam
|@as-is@|commit:d721a17f3e14|No normalisation|
23 4 Chris Cannam
|@to-date@|commit:d9b688700819|Track max signal level _so far_, adjust each sample so that max is at 0.50|
24 23 Chris Cannam
|@r2@,@r3@,@r4@|commit:b5a8836dd2a4|Preprocess with "Flatten Dynamics":/projects/flattendynamics at 0.02, 0.03 and 0.04 target RMS levels respectively|
25 1 Chris Cannam
26 3 Chris Cannam
h3. Results
27 3 Chris Cannam
28 3 Chris Cannam
Reporting only the note onset F-measure for the first 30 seconds of each piece.
29 3 Chris Cannam
30 24 Chris Cannam
|Filename|@norm@|@as-is@|@to-date@|@r2@|@r3@|@r4@|
31 24 Chris Cannam
|@31.wav@|50|33|40|45|47|48|
32 24 Chris Cannam
|@MAPS_MUS-bach_846_AkPnBcht.wav@|87|15|62|64|85|87|
33 24 Chris Cannam
|@MAPS_MUS-chpn_op7_1_ENSTDkAm.wav@|33|31|31|11|25|31|
34 24 Chris Cannam
|@MAPS_MUS-scn15_7_SptkBGAm.wav@|73|16|61|50|57|67|
35 24 Chris Cannam
|@mz_333_1MINp_align.wav@|66|3|58|42|60|64|
36 7 Chris Cannam
37 10 Chris Cannam
The precision (_proportion of correct onsets among detected onsets, or 1 minus the false-positive rate_) and recall (_proportion of correctly-detected onsets among all ground-truth onsets, or true-positive rate_) vary as you would hope:
38 10 Chris Cannam
39 10 Chris Cannam
 * when the resulting audio level is quieter than the @norm@ case, precision is high and recall is low but the F-measure is worse than the @norm@ case
40 10 Chris Cannam
 * when the resulting audio level is louder than the @norm@ case, precision is low and recall is high and the F-measure is still worse than the @norm@ case
41 10 Chris Cannam
42 12 Chris Cannam
This suggests that our threshold (which happens to be 6) is moderately well-suited to the @norm@ case, at least to optimise F-measure (this might not be the most perceptually useful measure though).
43 13 Chris Cannam
44 14 Chris Cannam
h4. For different piano template sets
45 14 Chris Cannam
46 17 Chris Cannam
The above results are all generated using four piano templates, numbered 1-3 plus @pianorwc@.
47 17 Chris Cannam
48 17 Chris Cannam
Here are results using the @norm@ and @as-is@ methods, but with different sets of piano templates: first with three templates (1-3) and then with each template in turn as the only one.
49 17 Chris Cannam
50 19 Chris Cannam
The template turns out not to make an enormous difference -- perhaps because these recordings contain nothing but piano?
51 13 Chris Cannam
52 13 Chris Cannam
|Filename|@norm@/all|@as-is@/all|@norm@/3of4|@as-is@/3of4|@norm@/1|@as-is@/1|@norm@/2|@as-is@/2|@norm@/3|@as-is@/3|@norm@/rwc|@as-is@/rwc|
53 22 Chris Cannam
|@31.wav@|50|33|51|30|50|34|44|42|50|32|56|36|
54 22 Chris Cannam
|@MAPS_MUS-bach_846_AkPnBcht.wav@|87|15|86|16|86|24|75|20|73|10|71|18|
55 22 Chris Cannam
|@MAPS_MUS-chpn_op7_1_ENSTDkAm.wav@|33|31|32|32|31|22|29|31|35|34|32|28|
56 22 Chris Cannam
|@MAPS_MUS-scn15_7_SptkBGAm.wav@|73|16|71|19|71|12|68|14|72|17|70|15|
57 22 Chris Cannam
|@mz_333_1MINp_align.wav@|66|3|68|1|63|4|67|2|67|1|63|3|
58 20 Chris Cannam
59 20 Chris Cannam
h4. For "generic" template set
60 20 Chris Cannam
61 20 Chris Cannam
The above results all use template sets with only piano templates in them.
62 20 Chris Cannam
63 20 Chris Cannam
Here are results using the @norm@ and @as-is@ methods, but with the full set of instrument templates (four pianos plus all the rest).
64 21 Chris Cannam
65 21 Chris Cannam
|Filename|@norm@|@as-is@|
66 21 Chris Cannam
|@31.wav@|49|37|
67 21 Chris Cannam
|@MAPS_MUS-bach_846_AkPnBcht.wav@|79|34|
68 21 Chris Cannam
|@MAPS_MUS-chpn_op7_1_ENSTDkAm.wav@|31|28|
69 21 Chris Cannam
|@MAPS_MUS-scn15_7_SptkBGAm.wav@|67|16|
70 21 Chris Cannam
|@mz_333_1MINp_align.wav@|63|5|