short-header

Overview

Two hands playing a pair of Launchpads in the dark, with a LaunchControl below

MSEQ: make livesets fun again

The MSEQ is a powerful multiplayer sequencer, and it has an array of sequencing capabilities: eleven polyphonic synth sequencers, 16 voices of drum sequencing, all with duty, velocity and CC control. There is macro-level sequencing of chord progressions, pattern and session saving, and performance features like cueing drops and an isomorphic jam keyboard that lets you play notes over a set pattern by hand. It forms the heart of our improvised livesets, and is the workhorse of our studio. It’s open source, and it runs on a Raspberry Pi.


Multiplayer

We (malleable) built the MSEQ to capture the joy of an improvised jam session when performing live. It’s multiplayer so that we can both control the inevitable battery of gear that we put on the table when we turn up to a gig, and so that we can both see what the other is doing and react accordingly.

This works because there is a separate set of controls that each player uses to interact with the shared sequencer engine. Each of us has our own pair of Launchpads forming an 8x16 grid and our own LaunchControl for parameter control. Each player can view different aspects of the sequencer independently from the other. You can be deep in the chord progression while the other player rewrites a drum pattern, or you can both work on the same sequencer at once, one editing trigs while the other edits velocities.

This collaborative aspect is, we think, unique to the MSEQ, and it forms a big part of its ethos. However, if you haven’t got the hardware, or any friends, then you can run it with the hardware for one player, or even completely hardware free (bar the Raspberry Pi and some MIDI cables), because the control surface is replicated in a web app, so you can control the sequencer from a browser on the same WiFi.


Sequencers, rows and steps

The MSEQ is built on 8-row × 16-step sequencers. On a synth sequencer each of the eight rows is a note, lowest at the bottom, highest at the top (following configurable scales), so the sequencer is an eight-note polyphonic sequencer driving one synthesiser. On a drum sequencer each row is a drum voice.

Outside of the 8x16 grid the Launchpads create, there are 16 sequencers across the horizontal row at the top. For the most part each of these is a separate sequencer pointed at a separate MIDI channel. Sequencers 1–7 and 9–12 are polyphonic sequencers, and sequencer 13 is a drum sequencer with the capability to sequence 2 banks of 8 drum voices. Sequencers 8 and 16 are collections of globally applied options, modulation and other features like saving and loading patterns (patches) or sessions (collections of patches).

The MSEQ boots into sequencer 1, but pressing one of these buttons moves you into the trig view for the given sequencer, showing you the trigs that have been entered for that sequencer. You can edit trigs easily: pressing a grid pad will add a trig, and pressing again will remove the trig. Each sequencer corresponds to a MIDI channel, which is how we drive a small orchestra of synthesisers and drum machines all at once.


The controllers

Each player has two Launchpad MK2s and one LaunchControl XL. Throughout these pages, “the relevant Launchpad” or “the relevant LaunchControl” means the device paired to the thing being described (see Setup for the physical wiring).

Across the top of both Launchpads: the sixteen sequencer-select buttons. They light up to show the selected sequencer, the step position, and the overall bar count, with a colour scheme per sequencer, to help with quick identification of which sequencers are selected. See Selecting sequencers and views.

Down the right-hand side of the left Launchpad: the row mute controls, which are lit to illustrate the status of each row. Statuses include muted (off), unmuted (orange), legato (blue) and drone (green), plus cued between those statuses (flashing grey or off and the relevant status colour, depending on whether you are cued in or cued out). See Mutes and row states.

Down the right-hand side of the right Launchpad: the view-select buttons. These take you out of the trig view and into different views that allow for sequencing or modulating duty, velocity, or per-row octaves, or arpeggiating notes. Every view has its own page in this manual:

The LaunchControl XL carries the macro controls: duty, velocity and percentage chance on the three knob rows, volume on the faders, and per-sequencer muting, autodrops and octave control on the buttons below. The right-hand column of buttons act as modifiers, and most Launchpad gestures change meaning depending on which of them you are holding down. See LaunchControl modifier buttons for the modifiers, LaunchControl knobs and faders for the knobs and faders, and LaunchControl bottom row for what the bottom button row does when a modifier is held.


The webapp

Every MSEQ also serves a browser control surface to any phone, tablet or laptop on the same WiFi. Open it, pick which player you are, and you get that player’s Launchpad grid and LaunchControl XL mirrored live, so the pads light as they light on the hardware, and pressing them does what pressing the hardware does.

It isn’t just a mirror though. A screen can show you things that 64 pads can’t, so this is where we put the deeper control:

It’s also where you get more detail in some of the views: note names on the grid, readable knob values and chord names.

Use it as a second pair of eyes while you play on the hardware, or in place of the Launchpads and LaunchControl altogether (the Pi still does the sequencing, and still needs its MIDI interface). webapp.md walks you from opening the page to playing a pattern, and webapp-sessions.md covers saving and loading from it.


Saving and sharing sessions

Everything you build (patterns, arps, chord progressions, octave trees, mutes, swing, clock divisions) lives in a session that you can save and reload from the Launchpad itself, without stopping the music. What belongs to the box rather than to the song (your CC assignments and your arp curves) stays put through every load, so a borrowed session arrives set up for your rack.

The session view gives you a catalog of slots to save into and load from, with undo, and it works per sequencer, so you can pull a single sequencer’s pattern out of an old session into what you’re playing now rather than reloading the lot. Loads can be cued to land on a bar boundary, so a session change arrives in time with everything else.

Rigs can share, too. Sessions sync to cloud storage, and the peer view lets you browse another MSEQ’s published sessions and load their material straight into yours. It’s read-only, so you can borrow a bassline without touching their catalog.


About the figures in this manual

The Launchpad grid figures throughout these pages are shown both as a capture of the webapp and as a photo of the hardware. Use the webapp / hardware control above a figure to switch to a photograph of the same state on the two Launchpads.

You will notice the webapp dispenses with the view-selection controls on the far right column: view selection is combined with sequencer selection along the top row, so you can select exactly which sequencer and view to show with a single menu. It also moves the row mute status column from the right-hand side of the left Launchpad to the right-hand side of a combined 8x16 grid. Hence you can read the webapp half as one player’s pair of Launchpads laid side by side: the left half is the LP LHS, the right half is the LP RHS, and the eight circles down the right-hand edge are the row mute controls.


Where to go next

Getting started

The core surfaces

Movement and modulation

Macro control

Sessions