Image Gallery

Click on an image to read more about it.

Project Overview

TAB2XML was a project for a software development course at York University. The previous semester's class wrote a program to convert text-based music tablature to MusicXML format. My team and I (five students including myself) were tasked with extending this program to dynamically display the result as sheet music and to play it.

This project is written in Java with the JavaFX library for the GUI. We also used Gradle for managing dependencies. The size of the project required my team and I to effectively use Git to manage our contributions and branches.

Features

My team and I were able to mostly complete all of the tasks set out. Our program dynamically generates sheet music from tablature for guitar, bass, and drums. It even handles complex music concepts like changing time signatures, tied notes, grouping notes with beams, and more.

We were also able to add playing functionality for all the instruments; whenever the sheet music is generated, it can play it too. However, It is lacking more complex control over the playing, like starting at a certain location in the score. It also has some bugs with the separate threads used for playing and viewing.

×