2007:Multiple Fundamental Frequency Estimation & Tracking

From MIREX Wiki
Revision as of 03:48, 17 July 2007 by MertBay (talk | contribs) (mert bay)

Description

That a complex music signal can be represented by the F0 contours of its constituent sources is very useful concept for most music information retrieval systems. There have been many attempts at multiple (aka polyphonic) F0 estimation and melody extraction, a related area. The goal of multiple F0 estimation and tracking is to identify the active F0s in each time frame and to track notes and timbres continuously in a complex music signal. In this task, we would like to evaluate state-of-the-art multiple-F0 estimation and tracking algorithms. Since F0 tracking of all sources in a complex audio mixture can be very hard, we are restricting the problem to 3 cases:

1. Estimate active fundamental frequencies on a frame-by-frame basis.

2. Track note contours on a continuous time basis.

3. Track timbre on a continous time basis.


Since no one has shown interest in working on stereo input, for now, all input will be monoaural.

Data

Since estimating and extracting F0 contours of all sources is a challenging task, the number of sources will be limited to 2 to 5 pitched instruments (no percussion), thus forming duets, trios, quartets and quintets. Recently we made a recording of a woodwind quintet performing a 9 minute piece, where each instrument is recorded on a separate track. From the original recording we can extract short clips of mixtures of 2 to 5 instruments. The current development set and more information about this data can be found at:

      Development Set for MIREX 2007 MultiF0 Estimation  Tracking Task

We are also planning to synthesize another set by sampling real instrument notes playing different pitches and use a portion of data from the dataset of the Audio Melody Extraction task of MIREX 2006 .

Annotating the ground truth data is an important issue. The ground truth is determined by first performing F0 detection on monophonic files then manually correcting the errors. For the second subtask (tracking note contours) the note onsets and offsets are manually determined by a musician.

Evaluation

Subtask I (F0 Estimation): Systems should attempt to get the max. # of sources from the input and then report the fundamental frequencies of these sources for every 10ms. If the number of detected F0s for that frame is less then the max. # of sources, the F0s for rest of the sources are assumed to be 0 Hz.

For the evaluation, we suggest you report the statistics TP + TN / (TP+TN+FP+FN) where

TP(True positive): Reported F0 is in the ground truth. That is, the reported F0 must be within a quarter-tone range (+- 3%) of one of the ground truth F0s for a particular frame. (Note that any element of the ground truth F0s can only be matched with only one detected F0.)

TN(True negative): Reported F0 of 0 Hz, is in the ground truth.

FP(False positive): Reported F0 is not in the ground truth.

FN(False negative): Reported 0 Hz, is not in the ground truth.


Subtask II (note tracking): For each note, systems are going to report an F0 and its onset and offset values. We can evaluate this subtask 2 different ways. The first way is to represent the reported notes and ground truth in a matrix (piano roll), then report the amount of overlap and mismatch between and detected and ground truth piano rolls. The second way, is to put a threshold on the onset and offset values of the reported notes. For example, if the onset and offset of the reported note is within 50 ms of the onset and offset of a ground truth note that matches its pitch, then it is considered as true, otherwise false. Of course, the first evaluation method is more relaxed than the second one.


Subtask III (Timbre Tracking): This subtask can be evaluated similar to the first one, reporting TP + TN / (TP+TN+FP+FN). This time, systems will output an F0 contour for each instrument, reporting an F0 every 10 ms. Then each detected F0 contour will be evaluated against the corresponding ground-truth F0 contour (the one that results in the minimum error among the other ground truth F0 contours.)

Comments

chunghsin yeh

Reading the above suggestion we don't understand exactly how the contours are defined. If a contour is like a melody the problem seems ill-posed. Therefore, we suppose the different contours are related to f0 note contours. The task would then consist of multiple levels of evaluation using different data sets.

1. single frame evaluation

 using either artificially mixed monophonic samples:
 -- mixing with equal/non-equal energy
 -- random mix or musical mix
 or midi recordings as suggested above

Note, however, that even with midi recordings, the ground truth is not perfect, because note end events will not necessarily align with the end of the instruments sound, unless you are not planning to interrupt the sound. One may define a tolerance range after the note off event, where the f0 of the note may or may not be detected by the algorithms. The tolerance areas are not going to be evaluated as long as the f0 detected in this area is the correct f0 of the previous note.

2. multiple frames (tracking) evaluation

  using the midi database as above.

We're willing to share our single frame database (artificial mixtures) as well as some scripts for building the reference data.

cyeh(at)ircam.fr


mert bay

Thanks for you comments Chunghsin. Contour is all the F0`s generated by a single instrument. We should make this case feasible by constraining each instrument to play continously, one note at a time and each one having a distinct timbre. So the participants will not only have to extract all the F0`s per frame, also associate the extracted F0`s with the correct timbre.

Since more people are working only on estimation, we can clearly separate the evaluations (with tracking or single frame estimation) to two different tasks so that people can only perform the F0 estimation per frame basis if they don`t want to attempt tracking. No tracking score will be reported for them.

To annotate the ground truth from midis, we can synthesize each instrument separately, use a monophonic pitch detector to estimate the F0`s. Then manually verify it.

It is great that you are willing to share data. Do you have monophonic recordings of instruments playing solo passages or just single notes? If you have solo passages, we can also use it for tracking evaluation dataset. We can mix them artificially. The mix might not be musically meaningful however it will be good to obtain accurate ground truth.


chunghsin yeh

F0 contour detection as you have defined can only be done for case 1: "Multiple instruments active at the same time but each playing monophonically ..."

To our understanding, there are two levels of F0 tracking:

1. tracking note contours without taking into account the instrument timbre (possible for case 1-3)

2. tracking note contours with similar instrument timbre (for case 1 only)

Therefore, our suggestion would be to have three levels of evaluation: single frame, note contour and instrument contour.

We have artificial mixtures of single notes using databases of McGill, Iowa, IRCAM amd RWC. We also have a collection solo instrument recordings but we would like to study the rights issues.

cyeh(at)ircam.fr

mert bay

Yes, the instrument tracking can only be done feasibly for case 1. We can have these 3 levels of evaluation as you said, with different datasets and participants can submit their systems to whichever is suitable. I guess we won`t have problem about creating a dataset from artificial mixtures of single notes. We are planning to organize a recording session, to record each instrument separately in a quintet but at the end we`ll only have a limited amount of data. We appreciate if you can share your collection of instrument recordings. That data will not be public, only be used for evaluation purposes.

Eric Nichols

I am interested in participating, although I hope that this task ends up using real audio recordings for the competition this year. I am not particularly interested in the results of using artificially synthesized audio -- even though it may ease the creation of ground truth, it seems to invite different sorts of solutions than one would develop for the general case of polyphonic audio recognition.

I suggest that this task uses real recordings that have been annotated. This annotation can be accomplished by performing an automated match between a score/MIDI file and audio recording, and then the automated match can be hand-tuned to ensure reliable ground truth. I agree that the task should deal with monophonic audio.

I don't see why the distinction should be made between monophonic and polyphonic instruments -- a system to track multiple f0s should handle two flutes in the same mammer as a funny "polyphonic flute", just as it should handle a monophonic line on a piano as well as chords on a piano. I suppose this is because I am biased by an interest in reducing audio to "piano reduction"-type scores, and I'm not as interested in detecting the particular instruments playing each note.

I would furthur suggest starting with rather simple instrumental pieces, to facilitate creation of the annotation and to simplify the problem domain, which is very complex. For example, small chamber pieces such as duos, trios, quartets, etc., simple piano pieces and perhaps even simple examples of full orchestral music could be included.


Mert Bay

I would like to announce that we are now using an acoustic audio recording of a professional woodwind quintet (flute, bassoon, clarinet,horn, oboe) playing a 9 minute piece by Beethoven, recorded close mic`ed. Each performer is recorded on a separate track. We can get the ground truth using a monophonic pitch detector and then hand correct the contours. Combinations of 2, 3, 4, or 5 out of the 5 tracks of approx. 30 second incipits can be used as our dataset. I`ll upload a portion of the data as a development set once the the recordings are completed.


The polyphonic instruments will cause problems with most trackers, although there are no problems for F0 estimation (then evaluate on frame by frame basis). Do you suggest that the systems should output the F0`s of the polyphonic instrument in on track? We can create another category for that if more than 3 people want their system to be evaluated in that category.

The reason for evaluation based on note contours is that some systems which track according to the continuity of the spectrum tend to lock onto a note of a particular instrument without taking into account the timbre but when the note ends and its energy gets weaker, the system will start to track another note of another intrument. If your system can perform tracking on the instrument level fine, then it shouldn`t be a problem for you to segment the note boundaries. Ofcourse, you don`t have to be evaluated on that if you don`t want to.

As a discussed above, for right now three levels of evaluation is being considered

1. Evaluate the F0 esimators: Frame by frame basis. Systems should output the active frequencies in each frame. This dataset can have polyphonic instruments.

2. Evaluate F0 trackers on the note level. Each system should output an F0 contour for each note from each instrument. This data can also have polyphonic instruments

3. Evaluate F0 trackers on the instrument level. Each system should output the F0 contour of each instrument.

Eric Nichols

Thanks for the clarification. I still have a few more questions. I'm mostly interested in version 1 of the task above, if I understand things correctly. Our algorithm outputs a set of sounding notes at each frame, without tracking individual instruments. Please correct me if this is wrong, but I think that this means that task 1 is the correct one for this system.

I also would like to know what is meant by frequency tracking -- our system outputs symbolic sets of sounding notes (i.e. MIDI numbers), not actual frequency in Hz. Is this task concerned with tracking the fine-tuning of each note over time?

Finally, in the proposed task, are the instruments known ahead of time, for use in training/tuning algorithms for those particular sounds? For instance, should the participating systems be tuned for flute, bassoon, clarinet, horn, and oboe?

Mert Bay

Since your algorithm peforms only F0 estimation not tracking, first evaluation criteria is suitable for you. For the first criteria, the estimated F0s will be evaluated as correct if it is in a semitone range (+ or - quarter tone) of the ground truth F0s for that frame. Every reported F0 will be checked against the closest F0 in the ground truth. The algorithms will report a set of F0s every 10 ms. I suggest, the systems should know the total number of sources in the piece before hand. However each source will not be active in every frame. For the second criteria, we have to decide on a reasonable range for onset / offset timings for the reported notes as opposed the ground truth timings. Third criteria will be evaluated like the first one except this time each reported F0-track for the whole piece will be evaluated against the closest ground truth F0 track. If the instrument is not active, the system should report an F0 of 0Hz, or midi note number 0.

For the 3rd evaluation criteria, the systems will have the oppurtunity to be tuned for the instruments which is not necessary for F0 estimation. That`s why we will soon release a small training set of individual tracks of a woodwind quintet playing a highly counterpuntal piece.

graham poliner

Thanks for organizing the multiple f0 evaluation Mert. We certainly appreciate how much work it takes to develop such a test set. We will likely participate in the first two subtasks (our algorithm estimates discrete notes without regard for instrument type), but we have a few questions:

Regarding the frame-level evaluation metric, is it essential to provide the maximum number of sources (f0's in the above context) as an input to the algorithms? It may simplify the problem beyond what is necessary. If I understand the proposed evaluation metric correctly, the definition of TN is a function of the total number of potential voices; however, this may lead to biases in the algorithms based on the specific music in the test set. For example, in the case where an instrument/note is almost always 'off', the submitted algorithms would be rewarded for underestimating the number of frames in which the f0 is voiced and visa versa. The proposed metric has the benefit that it is bounded by 0 and 1, but there are alternative metrics that don't require knowledge of the total number of potential voiced f0s. We would be in favor of reporting error metrics, rather than pseudo-accuracy, as defined in the NIST rich transcription meeting and Poliner and Ellis. (The numbers may be generally lower, but they will likely be more informative.) We could also report a frame-level version of the accuracy metric proposed by Dixon which allows us to report a metric bounded by 0 and 1 without knowledge of the total number of possible voices.

For the note-level evaluation metric, perhaps we could more formally state the the definition of note onset/offset rather than to be "manually determined" by a musician. We could use some fraction of the relative energy of the note and/or the formal definition developed for the onset detection task. In addition, the offset is of much less perceptual importance, and for instruments like a piano, a great deal of energy persists long after the note is over according to the musical score when the pedals are used. As such, we would be in favor of a formal definition and tight tolerance (e.g. 50 ms) for the onset, but with a more relaxed tolerance for the offset -- something like the metric proposed by Ryynanen and Klapuri in which a note is marked correctly transcribed when the onset is within a fixed tolerance window and the offset is within a (relative) fraction of the length of the note. How will issues such as vibrato and glissando be treated for the note-level evaluation?

Finally, we have a test set of polyphonic piano recordings (44kHz, mono) with aligned MIDI ground truth that we would be glad to contribute to the evaluation. We'd also be willing to help annotate in order to avoid using artificial mixtures or synthesized recordings in the evaluation.

mert bay

Thanks for your comments Graham. Sorry for the late reply, I have been traveling recently and do not have access to internet very often, will go back to normal on july 23rd. It is true that in the above metric true negatives are a function of the maximum number of voices. Underestimating the voiced f0s will increase the number of TN`s, However it will also increase the number of FN`s. We are open to different evaluation metrics, we (imirsel and participants) have to discuss and come up with an agreement soon. I`ll check out the references you`ve sent. For the note level evaluation, having a fixed tolerance for the onset and relative tolerance for the offset makes sense. For the ground truth, we can set a relative amplitude threshold for each note`s onset and offset. We will only include audio with less than one semitone vibrato and no glissando in the test set for note-level evaluation. We really appreciate if you can share some data from your polyphonic piano recordings.

Potential Participants

If you might consider participating, please add your name and email address here and also please sign up for the Multi-F0 mail list: Multi-F0 Estimation Tracking email list

  • Koji Egashira (egashira (at) hil_t_u-tokyo_ac_jp)

Moderators

Mert Bay mertbay@uiuc.edu,Andreas Ehmann aehmann@uiuc.edu,Anssi Klaupri klap@cs.tut.fi