what is this "internet" you speak of?

Jan 16 2012

MMLX - NES Chiptune Programming

Greetings people of the internet. I wanted to take a few minutes to introduce a programming language I have been working on to make it easier to compose NES music.

It’s called MMLX short for MML extended. I’ve written a couple things here in the past about using MML (Music Macro Language) to make chiptunes. In any case I felt somewhat limited by MML and some things were taking longer than I wanted them to take.

I could have tried using a tracker, but for whatever reason writing code feels more natural to me, possibly because I am a programmer.

MMLX is a superset of MML, so anything written in MML is valid in MMLX, but it also has a bunch of its own features such as:

  • Defining instruments
  • Portamento
  • ADSR Envelopes
  • Using variables
  • Transposing

In addition to making the language I created a TextMate/SublimeText bundle to add syntax highlighting support for the language. It looks like this:
http://f.cl.ly/items/3B2B2R12303j0E283E3b/mmlx.html

You can check out the project at:
https://github.com/ccampbell/mmlx

Getting started guide:
https://github.com/ccampbell/mmlx/wiki/Getting-Started

Documentation:
https://github.com/ccampbell/mmlx/wiki/Documentation