________________________________
/ o oooo ooo oooo o o o /\
/ oo ooo oo oooo o o o / /
/ _________________________ / /
/ // / // /// // /// // /// / / / /
/___ //////////////////////////_/ /
\____\________________________\_\/
~ alda ~
Installation | Docs | Changelog | Contributing
New to Alda? You may be interested in reading this blog post as an introduction.
Inspired by other music/audio programming languages such as PPMCK, LilyPond and ChucK, Alda aims to be a powerful and flexible programming language for the musician who wants to easily compose and generate music on the fly, using naught but a text editor. Alda is designed in a way that equally favors aesthetics, flexibility and ease of use, with (eventual) support for the text-based creation of all manner of music: classical, popular, chiptune, electroacoustic, and more!
- Easy to understand, markup-like syntax
- Perfect for musicians who don't know how to program and programmers who don't know how to music
- Represent scores as text files and play them back with the
alda
command-line tool - Interactive REPL lets you type Alda code and hear the results in real time
- Underlying Clojure DSL allows you to use Alda directly in your Clojure project.
- Inline Clojure code allows you to hack the Gibson and write scores programmatically
- Create MIDI music using any of the instruments in the General MIDI Sound Set
- Define and use waveform synthesis instruments
- Import MIDI files
- Export to MusicXML for inter-operability with other music software
- A more robust REPL, tailor-made for editing scores interactively
- A plugin system allowing users to define custom/unofficial syntax in Alda scores
If you're a developer and you'd like to help, come on in -- the water's fine!
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.
You must have Java 7+ installed on your system in order to run Alda.
(Chances are, you already have a recent enough version of Java installed.)
-
Go to the latest release page and download
alda
. -
Make the file executable:
chmod +x alda
-
Make
alda
available on your$PATH
:Using
/usr/local/bin
here as an example; you can use any directory on your$PATH
.mv alda /usr/local/bin
-
Go to the latest release page and download
alda.exe
. -
Make the
alda
command available by movingalda.exe
to your system root path:C:\> move alda.exe %SystemRoot%
Once you have Alda installed, you can update to the latest version at any time by running:
alda update
Default JVM soundfonts usually are of low quality. We recommend installing a good freeware soundfont like FluidR3 to make your MIDI instruments sound a lot nicer. For your convenience, there is a script in this repo that will install the FluidR3 soundfont for Mac and Linux users.
If you're a Windows user and you know how to install a MIDI soundfont to the Java Virtual Machine, please let us know!
To install FluidR3 on your Mac or Linux system, clone this repo and run:
scripts/install-fluidr3
This will download FluidR3 and replace ~/.gervill/soundbank-emg.sf2
(your JVM's default soundfont) with it.
For the best experience when editing Alda score files, install the Alda file-type plugin for your editor of choice.
Don't see a plugin for your favorite editor? Write your own and open a Pull Request to add it here! :)
To play a file:
alda play --file examples/bach_cello_suite_no_1.alda
To play arbitrary code:
alda play --code "piano: c6 d12 e6 g12~4"
To start an Alda REPL:
alda repl
Alda's documentation can be found here.
PRs welcome! See: CONTRIBUTING.md
👏 👏 👏 A big shout-out to our contributors! 👏 👏 👏
Slack: Sign up to the universe of Clojure chat @ http://clojurians.net/, then join us on #alda
Reddit: Come join us in /r/alda, where you can discuss all things Alda and share your Alda scores!
Copyright © 2012-2016 Dave Yarwood et al
Distributed under the Eclipse Public License version 1.0.