Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ccampbell/mmlx
NES chiptune programming language
https://github.com/ccampbell/mmlx
Last synced: 6 days ago
JSON representation
NES chiptune programming language
- Host: GitHub
- URL: https://github.com/ccampbell/mmlx
- Owner: ccampbell
- Created: 2012-01-09T03:50:25.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2020-06-12T04:08:58.000Z (over 4 years ago)
- Last Synced: 2024-10-14T18:45:37.333Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 424 KB
- Stars: 86
- Watchers: 9
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## About
MMLX is a music programming language used to make NES Chiptunes. It extends from Music Macro Language:
http://en.wikipedia.org/wiki/Music_Macro_LanguageIt is short for MML eXtended. Everything written in MML is valid in MMLX, but there are additional features.
If you are familiar with web programming, MMLX is to MML what SASS is to CSS
For a getting started tutorial check out:
https://github.com/ccampbell/mmlx/wiki/Getting-StartedFor complete documentation:
https://github.com/ccampbell/mmlx/wiki/DocumentationYou can check out some samples in the files/mmlx directory of this repository. Also an MML beginner's guide is available at:
http://nullsleep.com/treasure/mck_guide/## Dependencies
**setuptools** or **distribute**:
curl http://python-distribute.org/distribute_setup.py | python
**pip**:
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
this may have to be run as root
## Quick start (stable release)
pip install mmlx
mmlx --watch path/to/mmlxfor additional options run
mmlx --help
### Dev version
If you want to try the latest greatest you can install the dev version
pip install https://github.com/ccampbell/mmlx/zipball/master
*NOTE: MMLX has only been tested on Python 2.6.1 using Mac OS X at this time*
## Features
* define and use instrument patches
* use ADSR envelopes for creating instruments
* import other MMLX files or instruments into your current file
* use portamento to slide smoothly from one note to the next
* store data such as chords or patterns in variables
* transpose to any key
* target notes directly by octave without having to manually move up and down octaves
* auto generate NSF files on save and open them
* generate separate NSF files for each voice## To-Do
* Throw proper warnings/errors/syntax checks when code is not valid mmlx
* Unit tests
* Automatic DPCM sample conversions from wav files
* Ability to create random instruments
* Ability to use absolute paths to directories
* Add improved support for expansion packs (VRC7, FME7, etc)
* Skip over existing macros defined in your MMLX file when generating new macros from instruments