<!--
<hr/>
-->
Anyone interested in learning how to play a particular piece of music can usually find help on doing that on the internet in a variety forms, such as videos or tutorials. A common way to convey the way to play a given song for instruments such guitar, bass, or drums is through the use of tablature or tab. These are often created in text as it is the easiest format to do that in. See two examples here:
Look up some of the tabs for your favourite songs to get a feel for what these look like. You will see that they often have different styles which will be one of the challenges for our project.
Now, while text tabs are great in terms of helping you figure out a song, they are rather hard to read, cannot be easily adjusted, e.g to play the song in a different key, and cannot easily be turned into audio. There are many other formats out there that do not have these issues, but the fact is that the majority of the songs are more easily found in text tab form.
The music research community has developed a free format, called MusicXML, that can be used to precisely denote a piece of music. You can find everything about it here. This format is supported by many music apps, such as MuseScore, that can do all the things listed above, such as display the song in an easy to read fashion, transpose to another key, play the song etc.
However, no easy way to transform a text tab to a MusicXML one exists.
Our project will be to develop a software system that allows the user to input a text file containing the guitar, bass, or drums tablature for a song, and produces a MusicXML file that can be used for the purposes listed above.
Detailed requirements for our project will be developed during the term.
<!--
To be posted.
-->