A music programming language for musicians. :notes:
Alda is a text-based programming language for music composition. It allows you to compose and play back music using only your text editor and the command line.
piano: o3 g8 a b > c d e f+ g | a b > c d e f+ g4 g8 f+ e d c < b a g | f+ e d c < b a g4 << g1/>g/>g/b/>d/g
For more examples, see these example scores.
The language's design equally favors aesthetics, flexibility and ease of use.
(Why compose music this way instead of in a graphical sheet music notation program? See this blog post for a brief history and rationale.)
If you'd like to help, come on in -- the water's fine!
See the official website for instructions to install the latest release of Alda.
First start the Alda server (this may take a minute):
To play a file containing Alda code:
alda play --file examples/bach_cello_suite_no_1.alda
To play arbitrary code at the command line:
alda play --code "piano: c6 d12 e6 g12~4"
To start an Alda REPL:
Alda's documentation can be found here.
We'd love your help -- Pull Requests welcome!
The Alda project is composed of a number of subprojects, each of which has its own GitHub repository within the alda-lang organization.
For a top-level overview of things we're talking about and working on across all of the subprojects, check out the Alda GitHub Project board.
For more details on how you can contribute to Alda, see CONTRIBUTING.md.
Another way you can contribute is by sponsoring Dave in the future development of Alda.
Slack: Joining the Alda Slack group is quick and painless. Come say hi!
Reddit: Subscribe to the /r/alda subreddit, where you can discuss all things Alda and share your Alda scores!
Copyright © 2012-2021 Dave Yarwood et al
Distributed under the Eclipse Public License version 1.0.