View on GitHub


Music Data Abstraction Language

Download this project as a .zip file Download this project as a tar.gz file

About MDAL

MDAL (The Music Data Abstraction Language) is a veritable, text-based audio programming language specifically tailored for use with sound drivers operating on low-level devices such as sound chips and simple DACs.

While traditional low-level music description languages such as ABC or the Music Macro Language are essentially abstractions of western sheet music notation, MDAL instead has strong roots in tracker music. The MDAL syntax adheres to several key elements of tracker modules:

MDAL is a language without a pre-defined nomenclature. Aside from a rudimentary set of structural conventions, there are no fixtures - the entire instruction set is customizable. Customization is provided through standardized configuration files, which are parsed and interpreted by an MDAL compiler at runtime. This enables programmers to adapt both user input and data output to the specific needs of their sound drivers/player routines.

Both the language and the reference compiler are currently at a very early stage, and the language specification has not been finalized yet. Nevertheless, basic functionality of the reference compiler is already in place, and a first example configuration has been tested successfully.

To get started with MDAL, head over to the MDAL wiki.