The original version of this page can be found at :
Posted By : mhmyers - 9/24/2002 5:47 AM
Does anyone know where the file format of MUS files is documented in detail? I am a computer programmer and barbershop quartet singer. I would like to be able to take a MUS file I have created and annotate what part in each chord is being sung by each voice (root, 3rd, 5th, etc.) as the diatonic tuning and intensity with which each voice performs its part is dependent on that voice's relationship to the chord.

While we presently do this analysis by "hand" one chord at a time, it is a slow and tedious process which could be performed more rapidly and efficiently by the computer. I believe if I could read and interpret the file (much as PrintMusic does when it plays the file) that I could analyze each chord and the notes that it contains with a program. Of course, I need to know precisely what form the data in the file takes and what it represents to do this.

Posted By : Michael Good - 9/24/2002 10:23 AM
Hi Mike,

The MUS file format is a compressed, binary database format that is not accessible to outside programs.

The ETF file format is basically a text version of MUS files, and this is accessible to outside programs. The documentation is part of Finale's plug-in developer's kit (PDK). However, this documentation is incomplete, covering just the basics of the file format.

If you are running Finale on Windows, I think you will find it much easier to work with the MusicXML file format. This is described at

Finale 2003 for Windows can read and write MusicXML files, and our Dolet plug-in does the same for Finale for Windows versions back to Finale 2000.

Best regards,

Michael Good
Recordare LLC

Posted By : mhmyers - 9/24/2002 11:56 AM

Thanks for the response. I will check the documentation on MusicXML and then see where I go from there.


Posted By : Jari Williamsson - 9/24/2002 10:25 PM
I'm a bit confused here. Why can't you just write a Finale plug-in for it and run the analyze directly in Finale? I mean, you have to write the code anyway and the PDK already provides you with necessary information. Why is it necessary to run the analyze as a stand-alone application?

Best regards,

Jari Williamsson