Ramid II

music notation output for the ramid.py melody composer
version 2.0

At the 2009 Music Hack Day Boston, I wrote ramid.py, which composes melodies and outputs MIDI files.  For the 2010 Hack Day I added PDF score output using Abjad, a Python library built on the LilyPond music notation system.


Some ramid.py melodies (mp3, 850K)

PyraQuant, the C language predecessor to ramid.py, composed this short piece (mp3, 380K).

Ramid II composed:

Gnossienne_nr_404.mid / Gnossienne_nr_404.pdf, and

ramid_ii_qiyBEMYJ9.mid / ramid_ii_qiyBEMYJ9.pdf (bouncier).

Here's the theory of how these programs compose melodies.

Ramid II code

spianostaff.py has the class that paints a single melody across the treble/bass clef piano staff.

ramid_ii.py composes a melody and outputs MIDI (via pythonmidi) and/or PDF (via spianostaff, Abjad and LilyPond).

Tools, Platforms and APIs Used

Abjad -- Python API for building LilyPond scores.

LilyPond -- Music notation rendering system.

pythonmidi -- Max M's midi library is used in the original ramid.py and in Ramid II.  LilyPond can produce midi output but ramid*.py adds expression to the midi that's not in the score.

This page was made with a php script. Last change 2013-11-17.
--Steve Witham Up to my home page.