Originally Posted by
sean
A while ago I wrote a program to convert online guitar tabs to a more piano-appropriate format. I found that when dealing with guitar-style music, the best data structure was a linked-list of "chords", and each chord contained an array of between 1 and 8 notes, and a chord-length. Each note was represented as a number ( 0 being the lowest possible note, 88 being the highest), and I made functions to convert from a number to a string ("F# - 3rd Octave"), etc.. The chord-length was also a number (for instance, I could measure it number of 1/16 beats, or something).