Friday, February 20, 2009

Iowa notes separated successfully

I've been working on some onset detection algorithms and trying to separate the IOWA music samples so I can build up a database of instrument notes. The code I use is based on an adaptation of Mikel Gainza's code...which in turn is based on the following papers:

Duxbury, C. et al. - Complex Domain Onset Detection for Musical Signals
Bello, J.P. et al. - On the use of phase and energy for musical onset detection in the complex domain


I got the algorithms working in MATLAB today. Here's a run through of a simple example:

Music sample: Tuba, file: Tuba.pp.C1B1.aiff

Processed using complex onset detection:

Time plot





Onsets detected





Smoothed onsets





Smoothed onsets with applied threshold





Detected peaks for note C1





Resultant note wav files:

All the resultant .wav files from this example can be found here.

I'm going to add a front end in Matlab so the various parameters can be manipulated to suit the wav file under investigation. This should prove a useful tool for many once it is completed.

No comments:

Post a Comment