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 Unit Tests for Tonal Extractor Algorithm #1403

Open cvf-bcn-gituser opened 8 months ago

cvf-bcn-gituser commented 8 months ago

The Extractor folder contains unit tests for key, level, music, rhythm descriptors and tuning frequency. Until now the tonal extractor has had no unit tests.

The unit tests added use the same general "boiler plate" of assertion tests that are typical of an extractor (silent test, valid config, etc.) as well as some tests on real audio, with some variation on config parameters. There is scope for adding more output checks on the more complex outputs such as chords_histogram, chords_progression. etc.

The idea behind capturing reference values for "chord changes rate", "key strength" for given audio files, is to support future regression testing on algorithm optimization and also to provide values to compare with other libraries.

cvf-bcn-gituser commented 8 months ago

FYI: See above pull request @palonso , @dbogdanov , @ffont