Skip to content
anstepp edited this page Dec 7, 2020 · 6 revisions

Welcome to the Py2MusicXML wiki!

What is Py2MusicXML

Py2MusicXML is a Python library designed for use with commercial engraving software (Finale, Sibelius, etc.). The design of Py2MusicXML is similar to that of a score - it contains notes, rests, measures, and parts. These elements of a score are translated into objects written in Python that can be manipulated to create MusicXML files that you can open in engraving software. My dissertation Py2MusicXML: A Python Project for Prototyping Musical Ideas explored using Py2MusicXML as a pre-compositional tool, but there are other applications including data sonification and using data science techniques to explore creations. In general, if there's repeated steps in your project with notation, you should try Py2MusicXML to accomplish it!

The Wiki

Here you will find pages with help about different topics related to Py2MusicXML, as well as a couple tutorials for some simple tasks. It's important to remember that Py2MusicXML is in a state of constant development. There are a variety of ways to navigate the wiki, but there are some suggested starting places below.

As this wiki is straddling two audiences, there's a fair bit of compromise going on with it. If you're a composer, but have never programmed, I've tried to include enough information to get started and explainations of new syntax, but this isn't a Python tutorial. You'll have to get more info elsewhere. If you're a programmer, a lot of the programming bits are very low-level to accomodate less technically-minded composers. But, some of the music stuff is a little more than you might get in an intro to musical skills class or a basic theory course. So, I've tried to add links to at least help get more information about these topics.

Getting Started

A good place to start: The py2musicxml.notation submodule and the constituent objects.

Tutorials

The Hello, World Tutorial is a great place to see the basics of how Py2MusicXML works.