Changeset dccfad2 for src/onset/onset.c


Ignore:
Timestamp:
Mar 27, 2017, 11:02:07 AM (7 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, sampler
Children:
e8b47ce
Parents:
93579e5
Message:

src/onset/onset.c: improve specflux parameters

Experiments using Sebastian Böck database of 27770 onsets (1h42m) [1],
showed that adding compression and adaptive-whitening always
out-performs the raw spectral flux function.

Using shorter windows affects overall results, but decreases the delay.

With the following parameters:

threshold=0.05 win_s=2048 hop_s=1024 novelty=specflux delay_ms=26.6

Strict accuracy / onset: F 75.184 | P 82.478 | R 69.075 | F3 70.216
mir_eval accuracy / file: F 73.749 | P 81.078 | R 71.662 | F3 72.504
Deviation (ms) δ -0.314 | σ 15.396 | δ. 10.89 | σ. 10.88
Total onsets in database: # 27770 | OK 19182 | FP 4075 |

threshold=0.18 win_s=512 hop_s=256 novelty=specflux delay_ms=13.3

Strict accuracy / onset: F 73.200 | P 74.419 | R 72.020 | F3 72.253
mir_eval accuracy / file: F 71.674 | P 76.937 | R 73.973 | F3 74.259
Deviation (ms) δ -0.576 | σ 17.521 | δ. 13.44 | σ. 11.25
Total onsets in database: # 27770 | OK 20000 | FP 6875 |

Note that, unlike in [1], onsets are not combined before evaluation.

[1] Evaluating the online capabilities of onset detection methods,
Sebastian Böck, Florian Krebs and Markus Schedl (ISMIR 2012)
http://www.cp.jku.at/research/papers/Boeck_etal_ISMIR_2012.pdf

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/onset/onset.c

    r93579e5 rdccfad2  
    317317    aubio_onset_set_compression (o, 0.02);
    318318  } else if (strcmp (onset_mode, "specflux") == 0) {
    319     aubio_onset_set_threshold (o, 0.25);
     319    aubio_onset_set_threshold (o, 0.18);
    320320    aubio_onset_set_awhitening(o, 1);
    321     aubio_onset_set_compression (o, 20.);
     321    aubio_spectral_whitening_set_relax_time(o->spectral_whitening, 100);
     322    aubio_spectral_whitening_set_floor(o->spectral_whitening, 1.);
     323    aubio_onset_set_compression (o, 10.);
    322324  } else if (strcmp (onset_mode, "specdiff") == 0) {
    323325  } else {
Note: See TracChangeset for help on using the changeset viewer.