Aligning music notes using String matching algorithms or Dynamic Programming

Posted by Dolphin on Stack Overflow See other posts from Stack Overflow or by Dolphin
Published on 2010-06-09T11:42:34Z Indexed on 2010/06/09 16:22 UTC
Read the original article Hit count: 233

Hi

I need to compare 2 sets of musical pieces (i.e. a playing-taken in MIDI format-note details extracted and saved in a database table, against sheet music-taken into XML format). When evaluating playing against sheet music (i.e.note details-pitch, duration, rhythm), note alignment needs to be done - to identify missed/extra/incorrect/swapped notes that from the reference (sheet music) notes.

I have like 1800-2500 notes in one piece approx (can even be more-with polyphonic, right now I'm doing for monophonic). So will I have to have all these into an array? Will it be memory overloading or stack overflow?

There are string matching algorithms like KMP, Boyce-Moore. But note alignment can also be done through Dynamic Programming. How can I use Dynamic Programming to approach this? What are the available algorithms? Is it about approximate string matching?

Which approach is much productive? String matching algos like Boyce-Moore, or dynamic programming? How can I assess which is more effective?

Greatly appreciate any insight or suggestions Thanks in advance

© Stack Overflow or respective owner

Related posts about algorithm

Related posts about dynamic