MTG / essentia

C++ library for audio and music analysis, description and synthesis, including Python bindings
http://essentia.upf.edu
GNU Affero General Public License v3.0
2.86k stars 534 forks source link

Add a real example test to PitchYin and PitchYinFFT unittests #377

Open dbogdanov opened 8 years ago

dbogdanov commented 8 years ago

Current test only checks if the algorithms' output has changed. A Mozart piece is used, but the reference pitch values are the values PitchYin / PitchYinFFT algorithms have output for it in the past.

This test now fails after updates introduced by #376 and should be updated with new "fake" reference values.

Add a new test with real reference values. Several monophonic recordings of various instruments playing scales from GoodSounds might work.

Ideally, we need three types of tests:

It will be very helpful for Q/A purposed if these tests can generate reports with plots.

oriolromani commented 8 years ago

For bullet 4 we can create a reference annotations in a semi manual way as it was done for the pitch annotations of MedleyDB. They use Tony software to first estimate the fundamental frequency using pYin algorithm and then refine it manually. Here is an example plot of a comparison with PithcYinFFT essentia's algorithm. image

dbogdanov commented 8 years ago

To summarize our previous discussions: