Difference between revisions of "2007:Multiple Fundamental Frequency Estimation & Tracking"

From MIREX Wiki
(Emmanuel Vincent)
(Submission Format)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Description==
 
==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:
+
That a complex music signal can be represented by the F0 contours of its constituent sources is a 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.
 
1. Estimate active fundamental frequencies on a frame-by-frame basis.
Line 11: Line 11:
 
==Data==
 
==Data==
  
A recording of   fifth variation from L. van Beethoven Variations from String Quartet Op.18 N.5.  Each part is recorded separately while the performer is listening to the other parts through headphones. Later the parts are mixed to a mono 44.1kHz/16bits  file.
+
A woodwind quintet transcription of the fifth variation from L. van Beethoven's Variations for String Quartet Op.18 No. 5.  Each part (flute, oboe, clarinet, horn, or bassoon) was recorded separately while the performer listened to the other parts (recorded previously) through headphones. Later the parts were mixed to a monaural 44.1kHz/16bits  file.
 +
 
 
Synthesized pieces using RWC MIDI and RWC samples. Includes pieces from Classical and Jazz collections. Polyphony changes from 1 to 4 sources.
 
Synthesized pieces using RWC MIDI and RWC samples. Includes pieces from Classical and Jazz collections. Polyphony changes from 1 to 4 sources.
 +
 
Polyphonic piano recordings generated using a disklavier playback piano.
 
Polyphonic piano recordings generated using a disklavier playback piano.
So, there will be 6, 30-sec clips for each polyphony (2-3-4-5). So a total of 30 examples, plus there will be 10 30-sec polyphonic piano clips. Please email me about your estimated running time (in terms of n times realtime), if we believe everybodyΓÇÖs algorithm is fast enough, we can increase the number of test samples. (There were 90 x real-time algo`s for melody extraction tasks in the past.)
+
 
All files will be in 44.1kHz / 16 bit wave format. Development set can be found at
+
So, there are 6, 30-sec clips for each polyphony (2-3-4-5) for a total of 30 examples, plus there are 10 30-sec polyphonic piano clips. Please email me about your estimated running time (in terms of n times realtime), if we believe everybodyΓÇÖs algorithm is fast enough, we can increase the number of test samples. (There were 90 x real-time algo`s for melody extraction tasks in the past.)
[http://www.ews.uiuc.edu/~mertbay/mirex07/multiF0.htm          Development Set for MIREX 2007 MultiF0 Estimation  Tracking Task]
+
 
 +
All files are in 44.1kHz / 16 bit wave format. The development set can be found at
 +
[https://www.music-ir.org/evaluation/MIREX/data/2007/multiF0/index.htm          Development Set for MIREX 2007 MultiF0 Estimation  Tracking Task]
 +
 
 +
Send an email to [mailto:mertbay@uiuc.edu mertbay@uiuc.edu] for the username and password.
  
 
==Evaluation==
 
==Evaluation==
  
For task 1 (frame level evaluation), systems will report a number of active pitches every 10ms. Precision (the portion of correct retrieved pitches to all pitches that was retrieved for that frame) and recall (the portion of correct pitches to  all ground truth pithces for that frame) will be reported. A returned pitch is assumed to be correct if it is around a semi tone interval (+ - 3%) of a ground truth pitch for that frame. One ground truth pitch can only be associated with one returned pitch.
+
For Task 1 (frame level evaluation), systems will report the number of active pitches every 10ms. Precision (the portion of correct retrieved pitches for all pitches retrieved for each frame) and Recall (the ratio of correct pitches to  all ground truth pitches for each frame) will be reported. A Returned Pitch is assumed to be correct if it is within a half semitone  (+ - 3%) of a ground-truth pitch for that frame. Only one ground-truth pitch can be associated with each Returned Pitch.
 
Also  as suggested, an error score as described in [http://www.hindawi.com/GetArticle.aspx?doi=10.1155/2007/48317 Poliner and Ellis p.g. 5 ] will be calculated.  
 
Also  as suggested, an error score as described in [http://www.hindawi.com/GetArticle.aspx?doi=10.1155/2007/48317 Poliner and Ellis p.g. 5 ] will be calculated.  
 
The frame level ground truth  will be calculated by [http://www.ircam.fr/pcm/cheveign/sw/yin.zip YIN] and hand corrected.
 
The frame level ground truth  will be calculated by [http://www.ircam.fr/pcm/cheveign/sw/yin.zip YIN] and hand corrected.
  
For task-2 (note tracking), again precision (the number of correctly transcribed ground truth notes to the  number of ground truth notes for that input clip) and recall (# of correctly transcribed ground truth notes to the number of transcribed notes). A ground truth note is assumed to be correctly transcribed if the system returns a note that is with in a semitone interval of that note AND the returned note`s onset is within a 50ms range( + - 25ms) of the onset of the ground truth note, and its offset is within 20% range of the ground truth note`s offset. Again, one ground truth note can only be associated with one transcribed note.
+
For Task 2 (note tracking), again Precision (the ratio of correctly transcribed ground truth notes to the  number of ground truth notes for that input clip) and Recall (ratio of correctly transcribed ground truth notes to the number of transcribed notes) will be reported. A ground truth note is assumed to be correctly transcribed if the system returns a note that is within a half semitone (+ - 3%) of that note AND the returned note`s onset is within a 50ms range( + - 25ms) of the onset of the ground truth note, and its offset is within 20% range of the ground truth note`s offset. Again, one ground truth note can only be associated with one transcribed note.
  
 
The ground truth for this task will be annotated by hand. An amplitude threshold relative to the file/instrument will be determined. Note onset is going to be set to the time where its amplitude rises higher than the threshold  and the offset is going to be set to the the time where the note`s amplitude decays lower than the threshold. The ground truth is going to be set as the average F0 between the onset and the offset of the note.
 
The ground truth for this task will be annotated by hand. An amplitude threshold relative to the file/instrument will be determined. Note onset is going to be set to the time where its amplitude rises higher than the threshold  and the offset is going to be set to the the time where the note`s amplitude decays lower than the threshold. The ground truth is going to be set as the average F0 between the onset and the offset of the note.
In the case of legato, the onset/offset is going to be set to the time where the F0 deviates more than 3% of the average F0 through out the the note up to that point. There is not going to be any vibrato larger than a semitone in the test data.
+
In the case of legato, the onset/offset is going to be set to the time where the F0 deviates more than 3% of the average F0 through out the the note up to that point. There is not going to be any vibrato larger than a half semitone in the test data.
 
 
  
 
Different statistics can also be reported if agreed by the participants.
 
Different statistics can also be reported if agreed by the participants.
Line 45: Line 50:
  
 
For each task, the format of the output file is going to be different:
 
For each task, the format of the output file is going to be different:
For the first task, F0-estimation on frame basis, the output will be a file where each row has a number of active F0s in that frame, separated by a tab for every 10ms increments.
+
For the first task, F0-estimation on frame basis, the output will be a file where each row has a  time stamp and a number of active F0s in that frame, separated by a tab for every 10ms increments.
 
 
 
Example :
 
Example :
  ''F01 F02 F03 ''
+
  ''time F01 F02 F03 ''
  ''F01 F02 F03 F04''
+
  ''time F01 F02 F03 F04''
  ... ... ... ...
+
  ''time ... ... ... ...''
  
 
which might look like:
 
which might look like:
  
  ''146.83 220.00 349.23''
+
  ''0.78 146.83 220.00 349.23''
  ''349.23 146.83 369.99 220.00 ''
+
  ''0.79 349.23 146.83 369.99 220.00 ''
  .... ... ... ...
+
  ''0.80 ... ... ... ...''
... ... ... ...
 
  
 
For the second task,  for each row, the file should contain  the onset, offset and the F0 of each note event separated by a tab, ordered in terms of onset times:
 
For the second task,  for each row, the file should contain  the onset, offset and the F0 of each note event separated by a tab, ordered in terms of onset times:
Line 69: Line 73:
 
  0.72 1.02 220.00
 
  0.72 1.02 220.00
 
  ... ... ...
 
  ... ... ...
 +
The DEADLINE is Friday August 31.
  
 
==Poll==
 
==Poll==
Line 82: Line 87:
 
==Comments==
 
==Comments==
  
===chunghsin yeh===
+
See the [[ Discussion Page for Multiple Fundamental Frequency Estimation & Tracking]]
 
 
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.
 
 
 
===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.
 
 
 
===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 [http://nist.gov/speech/tests/rt/rt2004/spring/ NIST rich transcription meeting] and [http://www.hindawi.com/GetArticle.aspx?doi=10.1155/2007/48317 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 [http://citeseer.ist.psu.edu/dixon00computer.html 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 [http://www.cs.tut.fi/~mryynane/ryynklapuri_polytrans_final.pdf 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.
 
 
 
===Pierre Leveau (and participants from ENST)===
 
 
 
Mert, thank you for organizing this contest. It is indeed quite difficult to get all the evaluations of the multi-f0 estimation "harmonized". Sorry for the late contribution to the discussion, we hope it is not too late. After some discussions with potential ENST participants, we would like to have some information about the following points:
 
 
 
- Will the instruments be finally restricted to the subset you mentioned (i.e. clarinet, oboe, flute, horn, bassoon)? In this case, one could train instrument-specific models to perform the tasks. The piano has been mentioned in the comments. In our opinion, the 3rd task cannot be performed in a straightforward manner if the  piano is involved, even alone in the musical piece. Finally, why not create 5 "subsubtasks" (I-mono instru, II-mono instru., III-mono instru., I-piano, II-piano)? Many people have worked only on the piano, others only on monophonic instruments, and some of them may fear to submit algorithms for multi-f0 detection in a too open context. I guess it would demand some extra work and discussions, it is only a suggestion.
 
 
 
- We wonder about the evaluation of the second task. Depending on the evaluation protocol, the algorithms will not be tuned in the same manner. We find the symbolic evaluation more relevant than the overlap one, because it is more consistent with the goals of WAV2MIDI systems that are being developed.
 
 
 
- Fixing the maximum polyphony before the submission is a good idea. 5-voices polyphony seems to be difficult enough to provide some challenge.
 
 
 
- It the instruments are not restricted to the aforementioned subsets, which F0_min and F0_max can be expected?
 
 
 
===mert bay===
 
 
 
Hi Pierre, it is great that we are having more participants. To answer your questions.
 
 
 
- Only the third task, "the timbre tracking" part will be restricted to the subset you wrote to make it more feasible. Participants can use the training set which includes the solo instrument recordings to train their algorithms on specific instruments. For the frame level and note level evaluation, we`ll have different music. I agree it is a good idea to have a polyphonic piano subtask, since there is a lot of work using on piano transcription using NMF like methods. Also we`ll get piano recordings from Graham, recorded using a disklavier playback piano so the ground truth is ready.  I am not sure about monophonic pitch detection since most monophonic pitch detections systems are already very accurate. However as a MIREX rule, if there are more than 3 participants interested in that, we can run it.
 
 
 
-The second task is going to be evaluated symbolically. I`ll update the evaluation part soon.
 
 
 
- I think we should  have  a poll about this among the participants,  I suggest the algorithms take max polyphony as input and do their processing according to that. At the end we report statistics on different polyphony levels (from 2-5) for each algorithm. 
 
 
 
- 60Hz to 2kHz.
 
 
 
===Emmanuel Vincent===
 
 
 
Hi all! I agree with Graham's comments about evaluation issues.
 
 
 
Our system is based on NMF, so this would be great if test excerpts were somewhat long (the 30s duration mentioned above is perfect).
 
 
 
Also I am not sure what is the correspondence between time instants and pitch annotations in the development data:
 
* is the first 10ms time frame centered at t=0s (i.e. the first annotation corresponds to t=0s and the last to t=53.99s)?
 
* or does the first 10ms time frame start at t=0s (i.e. the first annotation corresponds to t=0.005s and the last to 53.995s)?
 
 
 
Please also mention the maximum computation time allowed.
 
 
 
===Mert Bay===
 
Hi Emmanuel. Actually, the window size that generated the ground truth was 46ms. So the first two windows were note centered at 10ms. The centers were at 23ms,33ms,43ms..... since there is some silence in the beginning and end , there shouldn`t be any difference. You can use whatever window size you like, the lowest F0 in the data will be 55Hz.
 
The maximum computation time allowed will be 30 hours for everything.
 
 
 
===Emmanuel Vincent===
 
Two remarks about the evaluation measures:
 
 
 
1) I suggest that the correct onset detection threshold be defined as +/- 50 ms instead of +/- 25 ms. Indeed a +/- 50 ms threshold was already chosen for the MIREX 2006 onset detection task. There are two reasons for this:
 
* string instruments have weak onsets that cannot be defined precisely
 
* the 46 ms window used for ground truth transcription induces a low precision on ground truth onsets on the order of +/- 23 ms
 
 
 
2) I agree with the principle of the 20% note duration threshold for correct offset detection. However this threshold will be smaller than the one used for onsets for notes shorter than 250 ms (which happens quite often). I suggest that this threshold be replaced by the maximum of 20% note duration and 50 ms.
 
  
 
== Potential Participants ==
 
== Potential Participants ==
Line 252: Line 102:
 
* Ruohua Zhou (ruouhua.zhou@qmul.ac.uk)
 
* Ruohua Zhou (ruouhua.zhou@qmul.ac.uk)
 
* Arshia Cont (acont (_at_) ucsd.edu)
 
* Arshia Cont (acont (_at_) ucsd.edu)
 +
* Chuan Cao and Ming Li ({ccao,mli} (at) hccl.ioa.ac.cn)
 +
* Graham Poliner and Dan Ellis ({graham,dpwe} (at) ee.columbia.edu)
  
 
==Moderators==
 
==Moderators==
 
Mert Bay [mailto:mertbay@uiuc.edu mertbay@uiuc.edu],Andreas Ehmann [mailto:aehmann@uiuc.edu aehmann@uiuc.edu],Anssi Klaupri [mailto:klap@cs.tut.fi klap@cs.tut.fi]
 
Mert Bay [mailto:mertbay@uiuc.edu mertbay@uiuc.edu],Andreas Ehmann [mailto:aehmann@uiuc.edu aehmann@uiuc.edu],Anssi Klaupri [mailto:klap@cs.tut.fi klap@cs.tut.fi]

Latest revision as of 13:15, 29 August 2007

Description

That a complex music signal can be represented by the F0 contours of its constituent sources is a 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. (as in audio-to-midi). This task will also include a piano transcription sub task.

3. Track timbre on a continous time basis. - This task has been CANCELED due to lack of participation.

Data

A woodwind quintet transcription of the fifth variation from L. van Beethoven's Variations for String Quartet Op.18 No. 5. Each part (flute, oboe, clarinet, horn, or bassoon) was recorded separately while the performer listened to the other parts (recorded previously) through headphones. Later the parts were mixed to a monaural 44.1kHz/16bits file.

Synthesized pieces using RWC MIDI and RWC samples. Includes pieces from Classical and Jazz collections. Polyphony changes from 1 to 4 sources.

Polyphonic piano recordings generated using a disklavier playback piano.

So, there are 6, 30-sec clips for each polyphony (2-3-4-5) for a total of 30 examples, plus there are 10 30-sec polyphonic piano clips. Please email me about your estimated running time (in terms of n times realtime), if we believe everybodyΓÇÖs algorithm is fast enough, we can increase the number of test samples. (There were 90 x real-time algo`s for melody extraction tasks in the past.)

All files are in 44.1kHz / 16 bit wave format. The development set can be found at Development Set for MIREX 2007 MultiF0 Estimation Tracking Task.

Send an email to mertbay@uiuc.edu for the username and password.

Evaluation

For Task 1 (frame level evaluation), systems will report the number of active pitches every 10ms. Precision (the portion of correct retrieved pitches for all pitches retrieved for each frame) and Recall (the ratio of correct pitches to all ground truth pitches for each frame) will be reported. A Returned Pitch is assumed to be correct if it is within a half semitone (+ - 3%) of a ground-truth pitch for that frame. Only one ground-truth pitch can be associated with each Returned Pitch. Also as suggested, an error score as described in Poliner and Ellis p.g. 5 will be calculated. The frame level ground truth will be calculated by YIN and hand corrected.

For Task 2 (note tracking), again Precision (the ratio of correctly transcribed ground truth notes to the number of ground truth notes for that input clip) and Recall (ratio of correctly transcribed ground truth notes to the number of transcribed notes) will be reported. A ground truth note is assumed to be correctly transcribed if the system returns a note that is within a half semitone (+ - 3%) of that note AND the returned note`s onset is within a 50ms range( + - 25ms) of the onset of the ground truth note, and its offset is within 20% range of the ground truth note`s offset. Again, one ground truth note can only be associated with one transcribed note.

The ground truth for this task will be annotated by hand. An amplitude threshold relative to the file/instrument will be determined. Note onset is going to be set to the time where its amplitude rises higher than the threshold and the offset is going to be set to the the time where the note`s amplitude decays lower than the threshold. The ground truth is going to be set as the average F0 between the onset and the offset of the note. In the case of legato, the onset/offset is going to be set to the time where the F0 deviates more than 3% of the average F0 through out the the note up to that point. There is not going to be any vibrato larger than a half semitone in the test data.

Different statistics can also be reported if agreed by the participants.

Submission Format

Submissions have to conform to the specified format below:

doMultiF0 "path/to/file.wav"  "path/to/output/file.F0" 

path/to/file.wav: Path to the input audio file.

path/to/output/file.F0: The output file.

Programs can use their working directory if they need to keep temporary cache files or internal debuggin info. Stdout and stderr will be logged.

For each task, the format of the output file is going to be different: For the first task, F0-estimation on frame basis, the output will be a file where each row has a time stamp and a number of active F0s in that frame, separated by a tab for every 10ms increments.

Example :

time	F01	F02	F03	
time	F01	F02	F03	F04
time	...	...	...	...

which might look like:

0.78	146.83	220.00	349.23
0.79	349.23	146.83	369.99	220.00	
0.80	...	...	...	...

For the second task, for each row, the file should contain the onset, offset and the F0 of each note event separated by a tab, ordered in terms of onset times:

onset	offset F01
onset	offset F02
...	... ...

which might look like:

0.68	1.20	349.23
0.72	1.02	220.00
...	...	...

The DEADLINE is Friday August 31.

Poll

<poll> Would you like the maximum number of concurrent sources given as an input parameter to the systems? Yes No </poll>

The maximum number of polyphony will NOT be an input to the systems.

Comments

See the Discussion Page for Multiple Fundamental Frequency Estimation & Tracking

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)
  • Stanis┼éaw Raczy┼äski (raczynski (at) hil_t_u-tokyo_ac_jp)
  • Pierre Leveau (pierre.leveau (at) enst_fr)
  • Valentin Emiya (valentin.emiya (at) enst_fr)
  • Chunghsin Yeh (cyeh (at) ircam_fr)
  • Emmanuel Vincent (emmanuel.vincent (at) irisa_fr) and Nancy Bertin (nancy.bertin (at) enst_fr)
  • Matti Ryyn├ñnen and Anssi Klapuri (matti.ryynanen (at) tut_fi, anssi.klapuri (at) tut_fi)
  • Ruohua Zhou (ruouhua.zhou@qmul.ac.uk)
  • Arshia Cont (acont (_at_) ucsd.edu)
  • Chuan Cao and Ming Li ({ccao,mli} (at) hccl.ioa.ac.cn)
  • Graham Poliner and Dan Ellis ({graham,dpwe} (at) ee.columbia.edu)

Moderators

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