Elysium
![]()
Introduction
Elysium is an interactive generative MIDI sequencer. Okay so what does that mean?
Let’s take that in reverse:
Elysium is a sequencer, that means it’s designed to produce sequences of notes that can be layered to form music.
Elysium uses MIDI which means that it doesn’t make sounds itself but can drive MIDI based synthesizers, samplers, and other instruments. It also means that Elysium’s output can be recorded, and manipulated, in a DAW such as Logic or Ableton Live.
Elysium is generative which relates to the way the music is created by building up a “system” composed of layers, cells, tokens, and playheads that combined, when “played”, to produce a sequence of notes.
Elysium is interactive. Features like MIDI CC control and MIDI trigger mode allow you to take control and integrate generative elements into the music you make and play.
Still not with me? That’s okay. Once you’ve played with it a bit it will all become clear.
News
0.9.7
This release brings new trigger modes to the generator token. Impact trigger mode generates new playheads when an existing playhead strikes a generator (instead of it pulsing on the beat). MIDI trigger mode generates new playheads according to the MIDI notes you play to Elysium using a keyboard or sequencer. This allows your generative music to be integrated with the music you create using keyboards and other sequencers! Here’s a short demo video:
Screenshots
Example tracks
You can hear some my tracks (many made using Elysium) here. Here are a couple of highlights:
Probabilistic Riff by Giles Bowkett:
Requirements:
- Mac OS X 10.5 - Elysium uses Objective-C 2.0 and Garbage Collection so Leopard only folks
- Intel or PPC Mac - As of version 0.9.2 Elysium works on PPC macs again.
Download
You can download a binary of the 0.9.7 release of Elysium. Updates to this version will be delivered via Sparkle.
Alternatively you can clone the project from Github:
git clone git://github.com/mmower/elysium.git
and build it yourself. However if you want to do this it would be wise to make contact with me as you’re bound to hit problems. As they get solved I will update the instructions here.
Getting Started
Please watch the Introductory Screencast and download the Getting Started Guide.
Scripting
Elysium includes a full Javascript interpreter (the same one used by Safari and WebKit) and offers many callback points where scripts can affect the musical output.
These callbacks offer control over frequency of generation of playheads, the effect of many kind of tokens (e.g. skipping notes on particular beats), and allows for co-ordination among different layers and tokens that is not possible using the built-in controls.
More information on scripting will be available in the forthcoming scripting guide.
Help and Feedback
If you want to keep up to date with information about Elysium why not follow the twitter feed. We also have an Elysium GetSatisfaction page where you can leave feedback, request features, and so forth.
For more immediate assistance join the #midi channel on FreeNode IRC and look for sandbags.
License & Warranty
Elsyium is a free, open-source, application released under the MIT license:
Copyright (c) 2008 Matthew Mower
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3rd party components used or included in Elysium are either licensed under the MIT license or a compatible license.
Inspiration
Elysium was inspired by watching Mark Burtons incredible Reactogon multi-touch instrument and Giles Bowketts Archaeopteryx.
Elysium in Action
You can see some short screencasts of Elysium in action.
The screencasts have been built as I have gone along and so, in many cases, do not show the application as it looks and works now. Treat that them as an appetizer and historical curiosity :)
In most cases they show Elysium either playing the Native Instruments Kore 2 synthesizer directly or through Logic Pro. The screencasts themselves were made with iShowU and, where necessary, audio was captured with SoundFlower.
Credits
There are many, many, people who have contributed in various ways either by inspiration, code, graphics, and encouragement. I shall try and list them all here eventually. If I’ve left anyone out it is a sin of omission that I shall hope to rectify.
- Mark Burton for the reacTogon
- Giles Bowkett for Archaeopteryx
- Pete Yandell for the PYMIDI framework which saved me many headaches
- Patrick Geiller for JSCocoa
- Andy Matuschak for Sparkle
- Tomas Franzén for CollapsibleListView
- Paul Kim for NoodleLineNumberView
- The denizens of #midi and #logicstudio for their encouragement
- Laurent Sansonetti for MacRuby
- Elysium’s icon was generously drawn by the excellent Stuart Robinson of lastpixel
- George Nikodym
- Sudara Williams for Alonetone
