Jonatan Liljedahl




AlgoScore is a graphical environment for algorithmic composition, where music is constructed directly in an interactive graphical score. The result is output as audio (through CSound), arbitrary control data (through JACK ports) for control of other applications, MIDI through JACK or to file, or OpenSoundControl messages. The generated audio can be played back through JACK or exported to an audiofile.
Graphical objects are placed in a timeline and connected together. Some objects are fully dependent on user data, while some are generative and reacts on input from other objects.

AlgoScore has a non-realtime perspective, where the composer can relate freely to time and construct the composition outside of time. This also means that an object has the ability to access all data of another object in a single moment, instead of being limited to the streaming data of a current "now".

It is highly customizable and extendible with the Nasal scripting language. It's easy to make your own classes, and also to use nasal code directly in the score for generating or transforming events or control data.

Since the composer works directly with the score, there's no need for an additional step of creating a graphical score of the piece. The score can be exported to PDF or SVG. Examples of scores exported as PDF can be downloaded at the Works page.

Read more in the introduction section in the Users Guide...

UPDATE: I have lots of plans for AlgoScore2, which will be based on SuperCollider for sound synthesis (in real-time), and probably written in SuperCollider itself.


AlgoScore is released under the terms of GNU GPL. It currently builds and runs on Linux and Mac OS X. See the Users Guide for build-instructions and software requirements, and the ChangeLog for recent changes.


Mac OS X packages

You need to install CsoundLib 5.x framework and it's SupportLibs package, and JackOSX 0.76 or later.

Above are the latest releases, all versions are available at the download site.




If you want to support the development of AlgoScore, please consider a donation:

Contact and support project page

Browse sourcecode


Page last modified on May 10, 2011, at 10:06 PM π