Switching tools isn’t a panacea, but it can inspire new ideas, by changing the way you structure your music. Elysium is a powerful new sequencer in development for the Mac the creates generative patterns on a beehive-shaped hexagonal grid. For the hardcore, you can even extend the tool with Ruby and JavaScript.

Elysium is a MIDI sequencer only: it has no sound generation facility of its own. But that makes it an ideal complement to your existing tools and favorite synths; the creator shows it off with Apple Logic Studio (Sculpture physical modeling, anyone?) and Native Instruments Kore.

Elysium [Mac-only public beta, PPC/Intel; 10.5 required]

Most sequencers work like a variation on a score: you compose events in time and it renders those events in precisely the same order each time. Elysium is generative: instead of creating a score, you create a system, and events are determined by the rules of the system. That means the exact deployment of events in time is variable, and things may not sound the same way – or over the same span of time – twice.

To do this, Elysium employs layers, cells, tokens, and callbacks. Huh?

  • Layers are roughly equivalent to a track in a traditional sequencer; it’s a single grid of cells, each containing a note, transmitted on one MIDI channel. That means, most likely, you’ll use a different layer for each sound you want to generate in your synth or host.
  • Cells are arrayed in a 17×12 honeycomb (a hexagonal grid), each transmitting one MIDI note. They’re organized in a harmonic table – the three adjacent hexagons around a single vertex, for instance, form a triad.
  • Tokens are the things that actually do stuff – they’re what make Elysium generative and interactive. Functions currently include Start/Stop, Note (plays an actual note), Rebound (changes direction), Absorb, Split, and Spin (impact movement). Arrange these on the grid, and instead of playing left-to-right as a traditional sequencer would, playback will navigate the spaces on the grid – potentially in unusual and interesting ways. To edit tokens, Elysium uses floating inspector palettes for setting parameters.
  • Callbacks give you the power to define your own musical behaviors by scripting them, making your musical world more variable. Elysium uses the same JavaScript interpreter as the Safari/WebKit browser, so you can code in JavaScript. Ruby lovers can even work in MacRuby. These code snippets don’t have to be complex: on the contrary, they’re quite simple and friendly to non-programmers, tantamount to saying “Hey, sequencer, I command you to do THIS!”

Side note: I love the idea of scripting engines. Back in the day, HyperCard’s HyperTalk had simple, scriptable events that even kids could learn. There’s some real potential there, as we’ve seen in Native Instruments’ Kontakt sampler. If you’re afraid of code, don’t be. Even if you do nothing but copy and paste some useful code borrowed from someone else, you can benefit from a scripting engine. Change one variable to suit your purposes – even one number in that code – and you’ve just become a programmer. (Ableton? Ableton Live scripting? Please?)

Anyway, the resulting sequencer navigates through musical materials interactively. Add some layers, and you can create something quite dynamic. If that sounds as though it could become monotonous, consider this: you could use Elysium to trigger a sampler as well as notes on a synth, and you could modulate a synth’s timbres while Elysium drives notes. There’s some serious potential.

Musical Applications

Elysium: Probabilistic Arp from giles goat boy on Vimeo.

Giles Bowkett has a fantastic hands-on feature where he couple Elysium with some hardware sound sources:

Driving Korg Hardware With Elysium [Giles Bowkett Blog]

He also makes note of the similarity to the wonderful-looking reactOgon interface, which took this concept to a tangible table. That means that the actions were actually physical objects placed on the grid that controlled movement – brilliant, though apparently no one knows what happened to the project. (Too bad. I can imagine people playing Warhammer and performing music at the same time.)

There’s a separate hands-on employing Ableton Live, by mmi.

If you want to try this yourself, visit the Elysium project site and be sure to try the:

Introductory screencast

Going Hexagonal

All of this brings us to the question of why hexagonal grids are so cool. It’s been on my mind lately as I just read a fantastic chapter in the book Game Programming Gems 7, a book that could easily be titled “A Collection of Really Cool Ideas from Game Programmers.” Check out the chapter “For Bees and Gamers: How to Handle Hexagonal Tiles.” Basically, the advantages of a hexagonal grid as opposed to our usual square one:

  • It’s the most efficient regular tessellation – it has the highest packing density and uses the least perimeter, making for an elegant, organic pattern
  • Adjacent tiles can be described as defining a vertex (a point) or a whole edge, and you still get the same number of tiles – six. On a grid of squares, there are only four squares that are adjacent based on side (the ones above, to the right, to the left, an below), but eight squares sharing a vertex (the ones on the diagonal). That makes navigation through the grid somewhat confusing – though it does enable the games of chess and checkers.
  • The distance from one tile to an adjacent tile is the same, whichever direction you go.

This comes up in game design because hexagonal grids work well for mapping movements of … well, little dudes fighting in strategy games. The advantage is the inverse of what you get in checkers and chess: you can define one kind of movement from a tile to an adjacent tile.

You can perhaps already see what this means for music. It means hex grids are efficient, they allow unambiguous movement to adjacent tiles, and they f
orm neat little triads and dyads that can make sense harmonically when we’re talking pitch.

At the same time, these seem advantages pose some challenges. The hex grid is so regular, it’s a little hard to look at. There’s a reason pianos use keys of different sizes and colors. It would be possible to use clever coloring schemes to help with this, though the shape would remain regular (and thus a little hard to look at). Elysium does have a color scheme applied, but it certainly requires some adjustment; perhaps the ability to shift on-the-fly to see pitch relationships could help.

I do also wonder if there aren’t ways of using these kinds of grids aside from just putting a note on each tile. Elysium does have more going on, but you can’t see it. It’s all hidden behind the tiles in scripts and slightly hard-to-recognize icons. It’d be great to see more visual representation of movement and interaction. This app is new, so perhaps there’s still time.

That said, I think the capabilities here are already amazing. I was a skeptics of hexagonal grids when I first saw them, feeling as though I’d just been dropped on an alien starship. (Greetings, fellow Cardassians!) But there is something behind the geometries we use. And I have no doubt that a lot of future experimentation with sequencers will involve more than just grids that read, as piano rolls and notation once did, in linear fashion from left to right.


Giles Bowkett also investigates the Erratic probabilistic VST drum machine for Windows, which he says is better suited to drum parts than Elysium is. (Erratic is the plug-in’s name – not that I haven’t occasionally encountered an erratic plug-in.)

Nodal, like Elysium, is Mac only, free, and uses a graphical interface to create interactive rules. Interestingly, it uses square grids to Elysium’s hex grid and provides schematic-like flow diagrams of movement. Each approach, I think, has some advantages and tradeoffs.

Kodu by Microsoft Research uses interactive rules for game design, not music, but I can see the interface working well for musical applications, too. What really makes it work is that you have immediate visual feedback as to what you’ve created, which makes the kid doing the driving very pleased, indeed.

Intermorphic’s own generative suite draws upon a lineage that includes Eno’s landmark Ambient Music I. It’s far less graphical,but can be used to create sophisticated systems, interfaces with mobile devices, and provides deployment options (so other people can hear your generative work and not just a recorded take).

And be sure to check out the generative tag on CDM.

For a hardware device using this scheme (and with a nice solution to the color / mapping challenges), check out the C-THRU Axis.

The AXiS-64 pro MIDI controller [Product Page @ C-THRU MUSIC]

Zillion-Keyed Keyboards, New Musical Layouts, and Microtonal Gadgets [CDM, on NAMM 07]

(thanks, MattH, for the reminder to get this bit in, too!)

  • zenzen

    Peter, your posts always bring me face to face with my inner crusty curmudgeon. My first reaction is often WhyTF would anybody want/need this? Then I go away and think about it, then begin counting pennies toward a monome or Elysium or …
    Thanks for that. zz

  • Thanks for the info! I loved the bit on the efficiency of hex in music. After playing with it really quickly, it's interesting how Elysium is built on a harmonic table. Makes me wonder how I can build in some dissonance with it.

    As an aside, I used Firebug to append a 1.5 line-height on this site's CSS body tag. It was a bit tough to read the text…


  • MMI

    If I'm the Ableton Live using MMI you're referring to, the link should be:


    I've never had the pleasure of using reactogon (drool!).

    Thanks for the mention and thanks for helping bring Elysium the attention it deserves. It's really started to enable some of the things I've been gestating for years.

  • MattH

    Hi Peter, those hexagonal controllers you covered at NAMM 2007 seem to address the problem of the layout being too regular to navigate. The colour patterns look like they'd help to orientate around pitch.

    Never seen one though, and no idea what they're actually like to play. But it could be a pretty wicked ready-made hardware interface for Elysium πŸ™‚

  • MattH

    Woops, sorry about the insane formatting of those links. First blog comment ever — fail!

  • @MattH: Right, exactly, that addresses the challenge perfectly: color indicates tonal center, so you can see harmonic neighbors easily. On a physical controller, you could even use some sort of physical feedback, like the home row indentations on many QWERTY keyboards. πŸ™‚

    Fixed your links, MattH, and my own botched link to your site, MMI! πŸ™‚

  • I'd come across the Axis-64 keyboard before when I first started looking to model the harmonic table for Elysium. Taking on the point about colouring I am looking at the keys anew and wondering what the rationale is for how those keys are coloured in little groups.

    At the moment the colours in Elysium are fixed but it wouldn't necessarily be too hard to add the ability to create "colour overlays".

    Something else for my list πŸ˜‰

  • I also wrote a cool probabilistic drum sequencer of my own. You currently need to be able to read code to use it, however. I mainly build Web aps, but Matt's been giving me some pointers on Mac desktop programming, so there may be a desktop version of my probabilistic drum sequencer coming soon. It's called Archaeopteryx. πŸ™‚

  • Pingback: Create Digital Music » Code Your Own Sequencer? Archaeopteryx Generates MIDI with Ruby()

  • Worth mentioning that noatikl from Intermorphic namechecked above also has a (Lua)scripting option built-in.

  • MattH

    Another sequencer with a novel approach is deQuencher. It's a 'non linear sequencer frontend', an interface to SuperCollider, open source and written in openFrameworks/C++ and an (older) version in Processing/Java.

    From the author's site:

    "[deQuencher] is a live sequencing tool. […] instead of having separate and isolated layers for musical events, […] your sound generators and gates/triggers/parameter changes share the same canvas(and layer), and you interact with your "objects" on that canvas to express your musical ideas on time domain."

    The UI is nice and minimalist and has some really interesting ideas. The screen-casts on the site show it in action.

  • MattH

    Btw some aspects of the Elysium interface seem reminiscent of this art installation "Al-Jazari" based on the fluxus environment, both in the aesthetic, and the use of cells and tokens. Except that Al-Jazari seems to lack layers, callback, hexagons, and the cells are cubes in a oblique 3D pixel-art controlled by animated robots πŸ™‚ This it serves as a clue to the power/usefulness of the underlying fluxus environment and the Scheme/Lisp language for creative coding.

  • This is all great fun; there are so many different approaches one can take to generative systems!

    We at Intermorphic are working towards a suite of interoperable, integrated generative art tools, across a range of platforms. So far so good; we've now launched Noatikl, Liptikl and Mixtikl (Optikl is still in the works!); all for Windows, Mac, Windows Mobile.

    One of our big challenges in Mixtikl was to include the full sound generation engine called "Partikl" (not just the composition side). So your pieces on Mac sound the same on Windows, Windows Mobile… and even iPhone (OK, we haven't released the iPhone variant yet – but I have it working under the emulator!)

    Mixtikl's is a hybrid, really; it gives the ability to mash different content types together; both generative content (Noatikl tracks), as well as audio loops and MIDI pieces. Also contains a file player so you can share your compositions. All good fun. πŸ™‚


  • Pingback: Cleepr » Blog Archive » Elysium, a visual sequencer with probabilistic method()

  • Pingback: Create Digital Music » Music on the Game Grid: Interactive Arpeggiators Al-Jazari, reacTogon()

  • Pingback: Grant Nestor » Blog Archive » Generative music, huh?()

  • Chris

    Thanks for introducing this sequencer. Never heard of it. Have to give it a try …

    Best, Chris from http://www.project-groove.com

  • Chris

    Thanks for introducing this sequencer. Never heard of it. Have to give it a try …

    Best, Chris from http://www.project-groove.com

  • Chris

    Thanks for introducing this sequencer. Never heard of it. Have to give it a try …

    Best, Chris from http://www.project-groove.com