MakeMusic
SmartMusic Finale Garritan MusicXML

Music Printer Plus (MPP or MP1) to XML

Moderator: Michael Good

Music Printer Plus (MPP or MP1) to XML

Postby GSilvis » Tue May 27, 2014 12:20 am

Music Printer Plus was a DOS era program that did an amazing job of offering WYSIWYG music scoring on a 386 class PC. Alas, its file format (MP1) has been orphaned. Its files cannot be imported into modern programs. Many musicians have there scores trapped in this format.

This is a call for programming help: I would like to see a MP1 to MusicXML conversion program. I am prepared to fund a project that would make a open source solution available. I started such a project, but do not have the java and xml skills to complete. I thought to offer the project on freelance.com, but I don't see anyone there with the skill set needed: java/music/musicXML. I compiled documentation for the project, including MPP documentation (courtesy of Michael Good), and my vestigial project at https://drive.google.com/folderview?id= ... sp=sharing

My friend, John Bavicchi, left behind 40 scores in the MP1 format. I very much want them to be converted to XML so they can be reformatted in Finale or Sibelius and then be made available to performance in the future.

Thanks for your time and if you have the skill set and interest in a contract project, please contact me at [email protected].

George
GSilvis
 
Posts: 3
Joined: May, 2014

Re: Music Printer Plus (MPP or MP1) to XML

Postby Michael Good » Wed May 28, 2014 2:52 am

Music Printer Plus is perhaps the most orphaned of the commonly used formats of the 1980s and 1990s. The PDF printing available is based on bitmaps rather than vector graphics. So unlike many other older programs, you can't even use PDFtoMusic Pro to get a better result than optical scanning provides. It would be great if somebody could develop a converter for MPP/MP1 files. George, I wish you the best of success in finding someone do build this!
Michael Good
VP of MusicXML Technologies
MakeMusic, Inc.
User avatar
Michael Good
 
Posts: 2197
Joined: March, 2014

Re: Music Printer Plus (MPP or MP1) to XML

Postby Andreas Wenger » Thu Jun 05, 2014 3:45 pm

I had a look on the program and the file format and found three ways you could try:

Image

Approach 1: Use an OMR tool

An optical music recognation software could be used. For this approach, each score has to be printed and scanned before, or directly be exported to an image (I did not try this yet in DOSBox).

Pros:
  • good OMR tools are already available
  • No need to process the MPP file data
Cons:
  • as Michael already said, the quality of the output is limited (bitmaps with low resolution), so the result may be poor (I did not try it yet)


Approach 2: Send recognized symbols to OMR tool

If the quality of the printed MPP scores is too low, we could help the OMR tool by doing the symbol recognition by ourselves: First, we have to parse the MP1 file. The file format is quite confusing, but at least a decent specification is available. MPP is based on a very graphical representation of music. Unfortunately, these graphical entities are often broken in parts, because the pages are based on a grid (rows and columns) and each symbol can only use a single column and a limited height.
For example, have a look at this multirest: Image
For better visualization of the structure, the yellow rectangle highlights one of the many parts of the multirest, and one part of the bar is missing.
We first have to aggregate these glyphs to musical symbols (like barlines, numbers, clefs, ...).
Now we could try to send the recognized symbols to an OMR tool, where we can access the scanning process (e.g. use an open source tool, like Audiveris). For example, we could try to inject our data into the Pages step in Audiveris (I have not further investigated this idea yet).

Pros:
  • at least a large part of the work can be done by existing OMR tools
Cons:
  • some custom software required, including the plugin for the OMR tool
  • may be difficult to provide the data in a suitable form for the OMR tool


Approach 3: Do all the work by ourselves

This method starts like Approach 2, but instead of sending the recognized symbols to an OMR tool, we try to find out the musical meaning by ourselves. We first convert the graphical representation to a more music-based structure (the main challenge!), and then we can export this music data to MusicXML. I'd suggest to use the intermediate data structures, because code from existing software could be used (e.g. open-source programs like MuseScore or, if you want to use Java, Zong!).

Pros:
  • full control
Cons:
  • much work, and some of the problems were already solved in OMR tools


[EDIT:]
Approach 4: Improve MPP's output

See below.
Last edited by Andreas Wenger on Fri Jun 06, 2014 5:21 am, edited 1 time in total.
User avatar
Andreas Wenger
 
Posts: 83
Joined: December, 2013
Location: Schrobenhausen, Germany
Software Owned:
Zong! Music Notation Project

Re: Music Printer Plus (MPP or MP1) to XML

Postby GSilvis » Thu Jun 05, 2014 5:27 pm

Excellent analysis.

I hadn't quite realized the level of complexity involved in the MP1 format. It is indeed very layout oriented. On the other hand, it does contain the information about each symbol rendered as the MPP program used it as its save format; the program can load a MP1 and deal with the objects as objects, not just as images.

I know Jack Jarrett, the author of MPP. He wrote the program in assembler, an amazing feat!. But it also means he cut every corner to save space and time. Hence the compact format of the file.

Approach 1 for scores with only the MP1 files existing will be difficult as MPP only printed to a select number of printers. Here again Jack optimized the code (probably directly manipulating the parallel port) so he could make it look good and print fast.

But this approach might work for me as I have clean printouts of all these scores. I had tried Audiveris but was stumped when it couldn't pull the images from the pdf's I had. But if I rescan to bmp, this may work.

George
GSilvis
 
Posts: 3
Joined: May, 2014

Re: Music Printer Plus (MPP or MP1) to XML

Postby Andreas Wenger » Fri Jun 06, 2014 5:29 am

If the print quality is too low, or if there are problems to get the scores printed out from DosBox, there may be another suitable method (see updated UML diagram above):

Approach 4: Create MPP printer, use OMR tool

We parse the MP1 files. Once we know the glyphs in the cells of the score, we can print them to PDF or PNG in much higher quality.

Pros:
  • decent print quality of the MPP score, should work with OMR tool
  • not too much custom software required
  • could be batch-automated for a large number of MPP files (if OMR tool supports that)
Cons:
  • own glyphs in higher quality required


GSilvis wrote:On the other hand, it does contain the information about each symbol rendered as the MPP program used it as its save format; the program can load a MP1 and deal with the objects as objects, not just as images.

What do you exactly understand by an "object", compared with a "symbol"? Can you give me an example?
As far as I know, MPP can understand music to a certain level, e.g. a 32nd note (notehead, stem, flags) can be indeed represented by a single object. But this is not necessarily the case: see this example, where I put 32nd flags to each of the three quarter notes:
Image
User avatar
Andreas Wenger
 
Posts: 83
Joined: December, 2013
Location: Schrobenhausen, Germany
Software Owned:
Zong! Music Notation Project

Re: Music Printer Plus (MPP or MP1) to XML

Postby GSilvis » Fri Jun 06, 2014 1:36 pm

Andi
In your example I would guess that MPP would then know that those 3 notes were now 32's.

I do know that MPP was designed with a very complete midi output which would imply that it knew the music, not just the images. I've performed with it: When my chorus needed a 9 piece orchestra. Jack put the music into MPP and was on stage with us using a beat track that he tapped out on the computer keyboard to follow the conductor's tempo.

That might be the basis of a 5th approach: Have MPP output a midi file and load that into Finale. It would capture the structure and the notes, though with the usual midi weakness of ambiguity of sharps and flats (ie C# might be rendered as Db). I've played with this some. MPP does not enforce note totals within measures and if they are not exactly aligned, staff-to-staff, they will not sound at the same time. So the MPP file would have to be very clean.

George
GSilvis
 
Posts: 3
Joined: May, 2014

Who is online

Users browsing this forum: Bing [Bot] and 1 guest