Skip to content
forked from alda-lang/alda

A music programming language for musicians. 🎶

License

Notifications You must be signed in to change notification settings

pierredewilde/alda

 
 

Repository files navigation

                                       ________________________________
                                      /    o   oooo ooo oooo   o o o  /\
                                     /    oo  ooo  oo  oooo   o o o  / /
                                    /    _________________________  / /
                                   / // / // /// // /// // /// / / / /
                                  /___ //////////////////////////_/ /
                                  \____\________________________\_\/

                                               ~ alda ~

a music programming language for musicians

Clojars Project

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!

Features

TODO

If you're a developer and you'd like to help, come on in -- the water's fine!

Syntax example

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.

Installation

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.)

Mac OS X / Linux

  • 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
    

Windows

  • Go to the latest release page and download alda.exe.

  • Make the alda command available by moving alda.exe to your system root path:

      C:\> move alda.exe %SystemRoot%
    

Updating Alda

Once you have Alda installed, you can update to the latest version at any time by running:

alda update

MIDI soundfonts

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.

Editor Plugins

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! :)

Demo

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

Documentation

Alda's documentation can be found here.

Contributing

PRs welcome! See: CONTRIBUTING.md

👏 👏 👏 A big shout-out to our contributors! 👏 👏 👏

Support, Discussion, Comaraderie

Sign up to the universe of Clojure chat @ http://clojurians.net/, then join us on #alda

License

Copyright © 2012-2016 Dave Yarwood et al

Distributed under the Eclipse Public License version 1.0.

About

A music programming language for musicians. 🎶

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Clojure 74.5%
  • Java 25.2%
  • Shell 0.3%