Links

MusicXML Main Site
Recordare Music

Tabledit Software

Finale Software

XML Tutorial

 

 

 

Acoustic Guitar Home of Simon Fox

Tablature Formats and Conversion (Slightly Techie Article)

Writing guitar tablature and notation is hard work. To start with, you need to sit at a computer while holding a guitar and lean over to type stuff. With a dodgy back and neck, this is no fun. It seems a very error prone form of data entry and I typically do 4-5 revisions on each song before calling it finished. It takes a long time.

For ease of entering and editing tablature, Tabledit is a clear winner for me. The price is very low and they have been accommodating in adding new features. The finer points of laying out the final published result are available if you take the time to read the help manual closely.

Finale software has become a standard in publishing circles. Finale is designed as a general music engraving software product and provides an extremely rich description of musical information. The trade-off is that Finale may require a lot of work in order to learn the many features on offer.

A common question on the internet is how to convert one tablature format to another. I went through this process myself and saved a great deal of time and effort with the MusicXML file format. The format is relatively new and in time software support for it will grow. Until then, there are some complications in using it to get from one format to another. For this entry I'll spare the details of it all, but just open a thread about this for further chat if people are interested.

I have notated about 20 tunes using Tabledit and have then had to convert them to Finale format. Without much in the way of Finale skills, I wanted to find a way to do most of the data entry automatically. This led me to MusicXML, a file format developed by Michael Good from Recordare Music.    

Tabledit has the ability to write MusicXML and Finale has the ability to read MusicXML so in theory everything should be great... but not quite. The problem is that the different software products have varying underlying ways of representing music, and focus on their own interpretation of it. There is no right or wrong about this as sheet music packs so much information into a small space, with a lot of ambiguous rules about how it should look.

The MusicXML format has been very well designed, to cover just about any musical expression you might want to put down. Furthermore, as the name suggests it is based upon a standard data format called XML which is widely used in software circles now. For the technically minded, there are some links on the left to learn more about XML and MusicXML.

In my case, I wanted to convert from Tabledit to Finale. Tabledit writes MusicXML files and you can verify that it reads the music back in correctly. However, in Finale it is important to separate your music into separate voices, or "layers" as they call it. For fingerstyle guitar, this usually means one melody voice with the stems up, and a bass voice with the stems down. Imagine it from a piano player's point of view, with each layer being a separate hand of the piano player. Unfortunately, with tunings like DADGAD it is difficult to separate melody and bass and it becomes a bit of a black art.

The great thing about Tabledit is the freedom of editing, especially the ability to place notes wherever you like in a measure, without interfering with any other notes. Tabledit will indicate where errors occur in the timing with the use of color, and it's perfect when you need to try lots of ways to make a measure work. Furthermore you can separate the bass and melody parts by forcing the stem directions up or down for each note. This stem information is present in the MusicXML file, but is not how Finale interprets the file for deciding which layer to put notes into. Again, just a different interpretation of the information.

To cut a long story short, an intermediate process is needed, to read in a Tabledit MusicXML file, and for each note look at which way the stem is pointing. Using this, you then write out a new MusicXML file that specifies which Finale layer each note should appear in. This is done by setting the <voice> tag in the MusicXML. But there's still a complication here...

When Finale reads in the MusicXML file, it will use the <voice> tag where possible to assign a note into its correct layer. But it must also consider timing issues, and as such it will move to the next layer every time the XML specifies a <back> command. This command is used to keep count of whereabouts a note lands inside its measure (eg. at 1.5 beats out of 4...). The trick is to re-organise the MusicXML so that for each measure, there is always exactly one <back> command. This means the first run of notes goes into layer 1, and the second run goes into layer 2. All the up-stems go into the first run, then the down-stems go into the second. There are some problems at the boundaries between measures, and chords complicate things also. More on that next time.

The great thing about MusicXML is that it is just a text file and the format is open for anyone to read and understand. If people express interest in this topic I'll go into more detail about the conversion process. It's a bit of a geeky topic, apologies to those guitarists who just want an answer. Maybe some time down the track this will be possible.

 

Back to the scrapbook page...

 

 




 
Site Design © 2006 Robson Design Works