Plaine & Easie to XML converter

pae2xml is a Perl script for converting music in the plain&easy format to MusicXML. It was developed for converting music incipits as they can be found in the RISM database into a format from where conversions to a range of other formats is easy. Actually, this converter takes text files as they can be exported from the RISM software, checks them for the presence of plain&easy music and then creates a MusicXML file for each plain&easy incipit.

Requirements and Usage

You need Perl. Perl is available for most platforms.


If you just want to convert some plain&easy music, you need to modify the script. Your Perl code would have to call the parse_pe function for this purpose.

If you want to extract and convert all plain&easy incipits from a text file that was written by the RISM software, you can use this script directly. In the command line, you can pass the name of a text file (or the names of multiple text files). These text files should be generated by the RISM software after selecting a database entry and selecting "File"/"Save As". pae2xml will read every specified file and create a new XML file for each plain&easy incipit. The names of the new MusicXML files will contain the RISM signature.

Features and Limitations

  • Extracts all plain&easy incipits from a text file containing one RISM database entry.
  • Creates a new MusicXML file for each incipit.


  • clef and time changes
  • ties
  • tuplets
  • grace notes
  • cue notes
  • ornaments
  • bar lines

New in Reinhold Kainhofer's latest version:

  • Reading from stdin implemented
  • --format=pae|rism command-line switch to convert non-RISM files
  • Repeat barlines
  • whole-measure repeats (i notation)
  • Handle all clef/timesig types
  • Mid-piece key changes
  • Ties need a <tied/> element, too
  • Write out the type of note (eg. eighth/whole/breve/etc.)
  • Explicit alterations are effective until the measure end
  • Alterations are also visible in the output (Finale etc.)
  • Acciaccatura/Appoggiatura/double appoggiatura properly implemented
  • Beams
  • Chords

Source Code

The latest version was created by Reinhold Kainhofer and is available for download on

Older Versions


Author: Rainer Typke

pae2xml is licensed under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation. This gives you legal permission to copy, distribute and/or modify pae2xml under certain conditions. Read the online version of the license for more details. pae2xml is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.