News » 14 March 2008

Sequencer Design

With a nod towards Ableton Live's "scenes" feature, I'm reworking my sequencer application to be hierarchical. Each track will have a set of presets (aka scenes). Then there is a higher "master" level preset that manages the set of track presets.

In my sequencer I'm breaking down a track into a set of "voices". That's probably a misnomer since my "voices" can contain chords and overlapping notes. Typically a voice is monophonic. But I'm not sure what else to call this sub-track concept. Although it's certainly possible to have voice-level presets, I think this would be a bit overwhelming. So I'm sticking to two-levels for now, track presets and the master preset.

I discovered a nice graph-generating program called Graphviz that's helped me clarify the design of my sequencer. The following diagram doesn't show anything about the presets I've described, but is a pretty accurate representation of the way my sequencer works from a signal-flow perspective (click to enlarge):

[Update: see the follow up article]