Coder Social home page Coder Social logo

alda's Introduction

                                       ________________________________
                                      /    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

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!

License

Copyright ยฉ 2012-2016 Dave Yarwood et al

Distributed under the Eclipse Public License version 1.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.