Music on the Game Grid: Interactive Arpeggiators Al-Jazari, reacTogon

The step sequencer. The sixteen-pad drum machine. The piano roll. The step sequencing piano roll. The waveform editor. The multi-track recording. Live music is a dynamic and changing phenomenon, but much of our technology assumes fairly predictable interfaces with time. Elysium, which we saw early this week, breaks out of that mold by defining generative systems that live on a hexagonal grid or “honeycomb.” There’s lots of great reader feedback on that story, and Elysium’s creator wrote in to talk a bit about what influenced him.

I want to highlight two sequencers that you play as if they’re games. (Just don’t play a Vulcan – they always win.)

Robots on a Grid

Al-Jazari is named for a 13th-Century scholar and musician who apparently invented an entire band of water-powered hydraulic robotic musicians with more than fifty facial and body movements per song. (Okay, that clearly deserves a separate post later. So, our Western education is so eager to avoid the achievements of Arabs that we skipped over the fact that he basically invented Disneyland in the Middle Ages.)

Al-Jazari in the 21st Century iteration takes the idea of robotic agents and builds a sequencer around them. Creator Dave built a grid on which you can give the robots symbolic instructions (like up, right, down, left), selected from a gamepad. Each grid square represents a note, with pitch modulated by moving bricks up and down. Like Elysium, the music is generated as events are triggered on the grid. And like Microsoft Research’s (non-musical) game Kodu, the gamepad and a set of symbols make what is essentially scripting easy and transparent. (Few would likely call this “programming” because it doesn’t look scary, but that’s what it actually is.)

Al-Jazari is open source, built in the elegant coding language Scheme (a Lisp dialect) atop a game engine called Fluxus. Dave has extensive documentation on its development, and not only the code but even the textures and models. You can use this yourself on Mac and Linux, but it’ll require some messy compiling. (Thanks for this link, MattH – this is layered with things that blow my mind!)

Al Jazari [pawful.org]

reacTogon

Mark Burton’s reacTogon was the influence for Elysium. It’s a “chain reactive performance arpeggiator” – that is, it takes the usual, static, repeating patterns of an arpeggiator and turns them into something altogether different, by allowing events to transform dynamically in two dimensions across a hexagonal grid. The interface is a multi-touch controller with physical objects, so there’s a tangible element, as well.

Looking at reacTogon alongside Al-Jazari really demonstrates some of the advantages of a hexagonal grid versus the more traditional square grid. (And if you think about most musical applications, most of what we have is relatively non-dynamic right-angle grids. There’s movement, but only left to right, with start/stop or loop points. One exception: Follow Actions in Ableton Live.)

Al-Jazari requires movement only to tiles with adjacent edges. reacTogon, since it tiles hexagons, has six adjacent tiles instead of four. It can also map a harmonic table, as other musical hexagonal grids do. Now, that’s not to say reacTogon is better than the other – on the contrary, it demonstrates that just one choice – a grid of squares or a grid of hexagons – can create very different musical possibilities. So even if you’re not musically impressed by these examples just yet, think about the possibilities here. We’re still early in software design and musical interface, so early that something as simple as a simple geometric pattern can become an entire composition.

That’s something to ponder on the eve of the music manufacturers’ trade show.

(If anyone has more documentation on Mark or his creation, let me know.)

Alternative Sequencers: Elysium Generative Mac App and the Joy of Hex

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!”

read more