Ann Hell Ex Machina
Music programming language and compiler
Ann Hell Ex Machina (AHXM) is a set of tools for composing and generating music. Given a text file in a special-purpose music definition programming language (the Ann Hell Scripting, or AHS for short), it outputs multi-channel wave files much like a music compiler. The included software synthesizer supports .wav, .pat and .sf2 files as instrument definitions and a full set of digital filters as echoes, flangers and reverbs. MIDI output to external synthesizers is also supported.
The AHS language resembles text-based music markup as the one in Lilypond, with more specialized commands for the PCM wave generation, digital effects or the MIDI definitions. Simple notes and chords, repeating blocks, patterns, arpeggiators, tempo and measure changes, transpositions, staccato / tenuto, marks, random blocks, are all usable via simple (usually one-letter) commands. Stereo, quad, 5.1 or whatever desired number of audio channels can be used and each software synthesizer note be mapped to any of them freely. Input formats not directly supported can be used via external filters.
This is a very personal project and its features are fitted to my own way of making music, so there may be missing capabilities that you, as a musician, consider essential, and others that you may see as superfluous. I don't care. This software is made for me, by me. I'll consider any patch from external developers, but only accept the ones I feel meet my needs.
This software is GPL and designed for Unix/Linux systems, but also works on win32.
- Ann Hell Scripting - I: Basic Commands.
- Ann Hell Scripting - II: Extended Commands.
- Ann Hell Scripting - Appendix 1 (Tables).
- Ann Hell Ex Machina API.