190 likes | 318 Views
Tree structured representation of music for polyphonic music information retrieval. David Rizo Departament of Software and Computing Systems University of Alicante. Funciona muy bien Muchas gracias por vuestra antenci ón. Tree representation for monodies. whole. 4 beats. half. 2+2.
E N D
Tree structured representation of music for polyphonic music information retrieval David Rizo Departament of Software and Computing Systems University of Alicante
Funciona muy bien Muchas gracias por vuestra antención
Tree representation for monodies whole 4 beats half 2+2 1 4/4 bar 4×1 quarter eighth 8×½ . . . . . . . . . . . . . . . . . . . . . . . . . F Duration C E G Initial time Tree construction process (Rizo et al. ’03) • Based on the logarithmic nature of music notation • Each tree level is a subdivision of the upper level • Leaf labels can be any pitch magnitude • Rests are coded the same way as notes • Duration is implicitly coded in the tree structure
Tree representation for monodies Tree construction process • The complete melody is a forest • Bars can be grouped sequentially or hierarchically C E G F A B C G Sequential grouping: Inner nodes need to be labelled Rules for label propagation and for pruning less relevant branches G C A B F C E G
Tree representation for monodies C C C G C G C A C C A C A A A Melodic similarity metrics • TREE EDIT DISTANCE (Zhang & Shasha, 1989) The distance is computed as the cost of the operations to transform one tree into the other. t1 t2 d(t1,t2) Weighted operations of insertion deletion replacement Tree edit distance O( |T1| |T2| h(T1) h(T2) ) Previous prunning process helps to overcome this complexity (Zhang & Shasha, “Simple fast algorithms for the editing distance between trees...”. SIAM J Comput., 8(6): 1245-1262. 1989)
Tree representation Current work • Use key information of the melody in the labels: interval from tonic • Propagation of keys based on melodic rules (P.Roman et al. ICMC’07) • Development of algorithms to learn the tree edit distances costs European network of excelence (Pascal) project: “Pump Priming. Learning Stochastic Edit Distances from Structured Data: Application in Music Retrieval”
Part II Tree model of symbolic music for tonality guessing
Polyphonic tree representation {C,E,F,G} G E {C,F,G} {G} {C,G,E} • Recall tree representation. Process repeated for each voice C F CG {C,G} {C} {F}
Polyphonic tree representation • Better tree summarization: Use harmonic profiles + rhythmic weights Multiset {C=0.75,E=0.5,F=0.25,G=1} {C=0.5,E=0.5,G=0.5} {C=0.25,F=0.25,G=0.5} E.g. Applying rhythmic weight = 1/level {C=0.25} {F=0.25} Krumhansl-Schmuckler profiles multiply the rhythmic weight: worse results
Polyphonic tree representation Sa . . . . . 0.5| 1|0 …. 0.3|0|0.3… 1|10|0|0.5|…0|1…. 0|0|1|0.3|… 1|0|0.2|… • Whole song representation for comparison • Ordered forest with a tree for each bar Bar 1 Bar 2 Bar 3 Bar 4 Bar N • Layers distance: • Let be a tree level ot tree T, compose a sequence S(T) with all nodes at that level in the forest • Distance between 2 songs A and B at a level • d(A,B, a, b)= stringDistance(Sa(A), Sb(B)) • Global distance d(A,B) = min0i, 0j d(A,B,i,j) Also other measures: LCS Shasha tree edit distance Selkow tree edit distance Drawback: - metered music required - use Melisma to get bars from unmetered music Complexity: O(|barsA| * |barsB| * 2)
Graphical representations • P1, P2, P3 algorithms from Ukkonen, Lemström, Makinen ‘03 • P2v5, P2v6: indexed versions of P2 • Not published yet
Experiments • Different corpora: • Helsinki: • 7 different polyphonic tunes • Covers made up of polyphonic piano files + “Band in a box” variations • 68 files • Theme_variations_classical • Bach Goldberg variations • Bach english suites variations • Some Tchaikowsky variations • 78 files, all polyphonic • Corpus1000_with_queries • MIDI files downloaded from internet • 80 files, almost all polyphonic, some monophonic • Leave one out • Avoid very good / bad queries
Results Corpus ICPS
Results Corpus Helsinki
Results Corpus Theme Variations Classical
Results Corpus Theme Variations Classical
Conclusions and future (current) work • Tree methods are 24 times faster when the tonality is known: they are also more accurate • Very hard task when MIDI files are real ones • Preprocess songs: Use automatic tonal analysis + trees to remove non-important notes in songs • Improve results by combining different classifiers • Tune the tree comparison measures • Current learnt similarity measures • Add LCS fast implementation from Hyyrö ‘04 • Add confidence values to LCS • Add the G.Valiente bottom-up tree edit distance Query MIDI