Giter VIP home page Giter VIP 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 file executable:

    • Go to your downloads folder, right click alda.exe to open up its file properties, and click unblock
  • Copy alda.exe to a location that makes sense for you. If you follow standard Windows conventions, this means creating a folder called Alda in your Program Files (x86) folder, and then moving the alda.exe file into it.

  • Make alda available on your PATH:

    • Go to the Windows System control panel option, select Advanced System Settings and then click on Environment Variables, then edit the PATH variable (either specifically for your user account or for the system in general) and add ;C:\Program Files (x86)\Alda to the end. Save this edit. Note that if you placed alda.exe in a different folder, you will need to use that folder's full path name in your edit, instead.

You will now be able to run Alda from anywhere in the command prompt by typing alda, but note that command prompts that were already open will need to be restarted before they will pick up on the new PATH value.

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.

alda's People

Contributors

daveyarwood avatar crisptrutski avatar jgkamat avatar jeluard avatar pomax avatar 1of12 avatar fraglegs avatar jgerman avatar alandipert avatar heikkil avatar madcapjake avatar jtbeckha avatar waffle-iron avatar micha avatar

Watchers

James Cloos avatar

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.