mir_eval
¶mir_eval
(documentation, paper) is a Python library containing evaluation functions for a variety of common audio and music processing tasks.
mir_eval
was primarily created by Colin Raffel. This notebook was created by Brian McFee and edited by Steve Tjoa.
mir_eval
?¶Most tasks in MIR are complicated. Evaluation is also complicated!
Any given task has many ways to evaluate a system. There is no one right away.
For example, here are issues to consider when choosing an evaluation method:
mir_eval
tasks and submodules¶bss_eval
in Matlab)mir_eval
¶pip install mir_eval
If that doesn't work:
pip install --no-deps mir_eval
mir_eval has tools for display and sonification.
import librosa.display
import mir_eval.display
Common plots: events
, labeled_intervals
pitch, multipitch, piano_roll segments, hierarchy, separation
librosa.display.specshow(S, x_axis='time', y_axis='mel')
mir_eval.display.events(ref_beats, color='w', alpha=0.8, linewidth=3)
mir_eval.display.events(est_beats, color='c', alpha=0.8, linewidth=3, linestyle='--')
y_harm, y_perc = librosa.effects.hpss(y, margin=8)
plt.figure(figsize=(12, 4))
mir_eval.display.separation([y_perc, y_harm], sr, labels=['percussive', 'harmonic'])
plt.legend()
Audio(data=numpy.vstack([
mir_eval.sonify.chords()