About this project

Alda is a text-based programming language designed for music composition. It lets users compose and play back music using only a text editor and the command line, aiming to balance aesthetics, flexibility and ease of use. The syntax is markup-like and intended to be approachable both for musicians who do not program and for programmers who do not read music. A score is a plain text file that can be played with the `alda` command-line tool. An interactive REPL allows entering Alda code and hearing results in real time. The project also supports writing music programmatically, which suits algorithmic composition and live coding, and can create MIDI music using instruments from the General MIDI Sound Set. Installation is documented on the official website, and the project can also be built from source. Alda consists of two components: a client written in Go and a player written in Kotlin/Java. Build scripts are provided for each, producing executables for various OS and architecture combinations. Typical usage includes `alda --help` for commands and options, `alda play --file` to play a score file, `alda play --code` to play inline code, and `alda repl` to start an interactive session. Documentation lives in the repository's doc directory, and example scores are included. Planned work mentioned in the README includes running Alda in the browser, defining and using waveform synthesis instruments, exporting to MusicXML for interoperability with other music software, and improving Raspberry Pi support. The project welcomes contributions and offers community channels via Slack and Reddit. It is distributed under the Eclipse Public License version 2.0.