Xequence | MIDI Workstation

Quickstart Guide

Contents

Introduction

Welcome to Xequence!

Xequence is an advanced, linear MIDI sequencer and controller for iPhone & iPad. It can be used to record, edit and arrange notes and controller movements, both using other apps that support Virtual MIDI / CoreMIDI (in effect, all of them), or external MIDI hardware like synthesizers, control surfaces etc.

It also includes MIDI Sync capabilities and can act as a master, so that other apps or hardware can slave to Xequence, meaning that they run in perfect sync with it (they start when you press play in Xequence, they stop when you press stop, they move their song position if you move it in Xequence, etc.). Ableton Link is not yet supported, but planned for one of the next updates.

This guide only gives you an overview over important concepts and features in the app so that you can use it effectively and to its full potential. It does not document all available features.

For the rest, Xequence contains extensive in-app "hints" that pop up whenever you touch a button or area for the first time.

Have fun!

Features at a glance

HIGHLIGHTS:

ARRANGER:

PIANOROLL EDITOR:

CONTROLLER EDITOR:

KEYBOARD / CONTROLLER:

INSTRUMENTS:

VARIOUS:

Overview

The following diagram gives you an overview about how MIDI routing between MIDI Input apps / controllers, tracks, instruments, and MIDI-capable instrument apps / hardware works.

Instruments

An instrument in Xequence represents a connection to something that actually produces sound, i.e. a synthesizer app like Poison-202, Animoog, Gadget. It can also control external MIDI synths or slave an external DAW to Xequence's clock.

Any time you want to add a new sound (timbre) to your project, you would create a new instrument.

Instruments have the following main settings:

MIDI Destination

Here you can select the app (or MIDI output) whose sounds you want to use for this instrument. This is saved with the project and when you reload it, all connections will automatically be remade, either at load or when the corresponding app is launched.

MIDI Channel (1-16)

For multi-timbral synths (apps or hardware that can produce multiple different sounds at once), each sound is assigned one of 16 channels. Select the same channel in your synth and in this menu. If you only use one sound in the synth app or it doesn't support multiple sounds, just leave both at 1 or set the synth to Omni.

Another use case for channels is AUv3 hosts like AUM: As AUM only appears as a single app in Xequence, but can host multiple instruments, you would use channels to separately connect to them: In AUM, enable the "AUM Destination" MIDI Source for the plugin, and in "Channel Filter", enable just one of the channels, for example, 3. Then in Xequence, select AUM as the MIDI destination, and channel 3. This way, you can host up to 16 separate instruments in AUM and create corresponding instruments in Xequence.

Send Sync

Turn this on if (and only if) you want the timeline of an external DAW (for example, BeatMaker 2 — this is most useful if you want to use audio tracks in your project) or an external pattern sequencer / drum machine (for example, Ruismaker) to run in sync with Xequence.

Xequence sends the following sync information:

Note that if you want an external app to sync to Xequence, you have to create a "dummy" instrument for it (with the "Send Sync" option enabled) even if you do not use any of its sounds (if you do use some of its sounds, just turn "Send Sync" on in one of the instruments. Sync is not channelized, so if you use the same app for several instruments on different channels, if you turn on "Send Sync" for one of them, it will turn on for all of them.)

There are two modes:

Controllers

Each instrument can have up to 3 controllers (also known as CCs). These can be used to modulate parameters like filter cutoff, pitch, etc. in apps or synths that support it (i.e., nearly all).

As you will probably only use a very small subset of all available CCs for each instrument, you can set them up once here, and only those will be shown in the Keyboard and Controller editor views, so you don't have to scroll through a mile long list of all controllers (127 of them) each time.

Many apps use the same controllers for similar things (e.g., CC 74 for "Filter cutoff"), so we have included a selection of "standard" controllers in the menu which work with many apps. However, please check in your corresponding app or synth what CCs it uses for what parameter.

If the CC you want to control from Xequence is not included in the menu (say, you use a drum synth which uses CC 88 for the "Pan" knob of the HiHat), you can tap the "#" button and enter the controller number (in this case, 88) manually.

Each controller has further options:

Using more than 3 controllers

Should you encounter the need to automate more than 3 parameters on a single instrument, just duplicate the instrument (the "+" button), leave the destination the same, and set the same MIDI channel as the original instrument (Xequence automatically chooses the next free channel when duplicating an instrument). You can now set 3 more, different controllers on this instrument. Create one or several tracks for it as well, and when creating parts on those tracks, you will be able to use these 3 new controllers.

Use of colors throughout Xequence

In Xequence, "colors belong to instruments", i.e., you can assign a color to each instrument, and that color will then be used for all user interface elements (tracks, pianoroll notes, keyboard keys, etc.) that affect that instrument.

For example, if you create an instrument for your bassline synth, and assign it the color "Blue":

This always gives you a sense of context.

Arranger

Tracks

The Arranger uses tracks to separate the parts (some call them clips or patterns) for the different instruments.

For each instrument you create, you need at least one track to contain the parts that have the notes and controllers that make up the song.

You can also create multiple tracks for the same instrument. This is very useful if you want to record both notes and controllers, as this way, you can keep them neatly separated: create one track for the notes, then create another track below it (the "+" button) for the first controller, another one for the second, etc.

Note: You can record both notes and controllers on the same track into the same parts and then switch between them in the Pianoroll / Controller editor, but this is not recommended as it is much easier to work with separate tracks.

Track settings

Mute / Solo

The "M" button mutes a track, i.e., its events won't be played back anymore. If the "S" button is active on one or more tracks, those tracks are soloed: only events on those tracks will be played back.

Scrolling the tracklist

We designed the Arranger so that you can only scroll vertically by swiping in the editor area on the right, not on the tracklist. This is on purpose: We wanted the "M" and "S" buttons to react instantly when tapped, however, in order to detect if a touch is meant to be a swipe (scroll) or a tap, Xequence would first have to wait until the finger is lifted or moved.

Editor

The editing area to the right of the tracklist contains your arrangement, i.e. all the parts (also called patterns or clips) that make up the complete song. It is played from left to right.

Selection mode

There are two modes for selecting parts, using either tap or rectangle selection:

Keyboard and Controllers

Xequence offers a configurable, scale-aware keyboard with 16 included scales (a chromatic scale (all notes) and "normal" mode with black keys are also included). It can be either single or dual, has 3 key sizes to choose from, and can be "velocity sensitive" (tap a key's bottom for full velocity, or the top for nearly no velocity).

The keyboard always controls the instrument of the currently selected Arranger track, or, if launched while in the Pianoroll / Controller editor, the instrument of the track whose part is being edited.

Scales

In music theory, scales are selections of notes that work well together and give off a certain "mood".

A full octave contains 12 semitones. Most scales, like the Major or Minor scales, contain only 7 of those, which work well together. There's also scales with less notes, like the Pentatonic scales (denoted by a "5" in Xequence), which contain only 5 notes.

There's 2 special options in the Scales menu:

Playing and editing drums

If you want to edit and record drums on an instrument, use the Chromatic scale, as it contains all notes and you're guaranteed not to "miss" any drum sounds your destination instrument / app might play on some note.

Modes: Glide, Scroll, Lock

Controllers

All controllers (up to 3) that you've configured for the current instrument can be shown to the left by tapping the "CC" button.

On iPad, you can choose to either display them vertically stacked (uses less screen space and you can "twitch" them more easily), or next to each other (the "|||" button). Choose whichever mode is more usable in your situation. This setting is saved per instrument.

To move a controller, just touch it and then slide up or down (it will start from the current value, not the value where you first touched it). You can reset a controller to zero by double-tapping it. Controllers that have the "Return" option enabled will return to zero once you lift your finger.

Device Motion Control

All controllers can also be moved by rotating your device. Enable this option by tapping on the little device icon above.

The first controller will be moved by rotating your device towards or away from you. If you enable Motion Control for more than one controller, the next axis that will be used is the "around the device itself" axis, and the next one would be the "tilt the device around its vertical center line" (if that makes any sense!).

A note on recording controller data

Currently, if you record controller movements live, existing controller data on the track / in parts is not automatically erased, but only new events are added instead. So, if you want to "overwrite" controller data you recorded previously, it is best to delete the corresponding parts (or events, if you record into the Controller Editor) first.

We plan to add a "Replace" recording mode in the future, which will automatically erase existing controller data as soon as you touch the controller slider or enable motion control.

Event chasing

Xequence automatically finds the nearest previous controller event in the part that is at the current song position, and uses that for displaying the slider and also sends it via MIDI. So, no matter what, when you set the song position, you will always get correct controller values (event chasing only works inside parts for now, so if there is no part at the current song position, the controller value won't change.).

Pianoroll

Double-tap a part to open up the Pianoroll editor.

This editor lets you draw or edit notes (move, change lengths, transpose, etc.), their velocities (loudness), and controllers (CCs). Selecting and navigating around the view works the same as in the Arranger.

When you're done editing, just tap the checkmark button at the bottom right to exit the editor.

Grid

The editing grid can be changed by tapping on the button with the grid icon in the bottom toolbar. When moving notes or changing their length, movement will be constrained to this grid (for example, if it is set to "16", notes will move by 16th notes, and the length of notes will change in increments of 16th notes).

The "Rel" (relative) toggle changes how notes snap to the grid: normally, Xequence will make sure that all notes always stay on the selected grid no matter what. However, in "Rel" mode, notes will actually move in grid size increments, but not necessarily snap to the grid. So, for example, if you have a note that starts one 16th note away from the beginning of the part, and you have the grid set to "4", if you now move the note one increment to the right, it will actually end up one quarter note plus one 16th note from the beginning, not one quarter note.

Editing velocities and controllers

Tap the "note" button at the bottom left. A menu will pop up that shows all data types that can be edited:

Notes outside the current scale

When editing a part, only those notes (and "mini keyboard" keys) which are part of the instrument's scale are shown. If you switch to another scale after already having recorded or drawn notes and the new scale doesn't contain all of the pitches of the existing notes, a warning dialog ("Wrong scale") will pop up, offering you to disable the scale (or you can switch to a different scale that does contain all used pitches).

Scale / key changes mid-song

You can of course use different keys or scales throughout the song, as the scale and key are merely an "input mode" in the keyboard screen. However, you may encounter the aforementioned "Wrong scale" warning when opening the Pianoroll editor and some of the pitches in the edited part are not contained in the scale that is currently selected in the instrument (the scale selected in the keyboard screen is remembered per instrument).

To avoid having to switch scales and keys all the time for editing, you can just create one instrument per scale / key, and set each of them to the same MIDI destination and channel, but choose different scales / keys in the keyboard screen. For each scale / key you want to use throughout the song, also create a track and assign it to the matching instrument, and then just make sure to use the correct track for each scale / key. You can also name the instruments or tracks accordingly (for example, "Bass E Maj" and "Bass D Maj") so that you see at a glance which track to use for recording.

Transposition

When transposing selected notes using the vertical handle, transposition is always scalar, i.e. all recorded notes always stay inside the current instrument's scale. For example, when you transpose one step upwards, one note might get transposed 1 semitone, while another might get transposed by 2, always ensuring that all transposed notes are still part of the scale.

Metronome, Tempo and Time Signature

Metronome

Xequence has a MIDI Metronome: it does not produce a sound (click) by itself. Instead, it just sends MIDI notes to a MIDI synth of your choice (you can select the metronome destination and channel in the Settings screen).

This decision was taken in order to keep Xequence as light-weight as possible by avoiding the additional overhead of an audio engine, and to give the user as much flexibility as possible.

So, just launch some light-weight synth app standalone or in your favorite AUv3 host, and select it as the Metronome destination in Xequence's Settings, and you're good to go.

Note: Xequence always uses the root key of the current instrument for playing the metronome (if the instrument is in E, it will play E4 for bars and E3 for beats). So, you should use a short tonal sound (like a short pulse wave), not a drum sound for the metronome!

Tempo and Time Signature

The uppermost dial sets the project tempo in BPM. The "½" toggle can be used to temporarily set the tempo to half the displayed value, which can be very useful during recording in fast (e.g., EDM) music.

The next two dials set the time signature (upper dial 3, lower dial 4 = 3/4). All time signatures should work, but if you find a problem using a particular one, please let us know.

Recording

Press the Record button to start live recording. This will record:

Recording into the Arranger

If you start recording while in the Arranger, or in the Keyboard screen and you previously had the Arranger open, then a new part will be created on the currently selected track, and all events will be recorded into it. The part will be automatically trimmed, or deleted on stop if no events were recorded.

Recording into the Pianoroll

If you start recording while editing a part in the Pianoroll editor or had the Pianoroll editor open before switching to the Keyboard, then everything will be recorded into the currently open part. No new part will be created.

Recording from multiple MIDI sources simultaneously

Note that it is currently not possible to separate incoming MIDI from multiple sources. All sources will be merged onto the currently selected track.

Count-In and Metronome

If you press Record while Xequence is stopped, the song position will be moved backwards by one or more bars (configurable in the Settings screen) so you have time to prepare. Any events (notes, controller movements) that arrive while in count-in will only be recorded if you are recording into the Arranger. If you're recording into the Pianoroll, events during count-in will be dropped.

If you enable the "Always during Count-In" option in the "Metronome" section in Settings, then the metronome will automatically be enabled during count-in so that you can "get into the rhythm" even if there isn't anything recorded yet to guide you.

Song loop

The Song Loop feature can be used to play a certain part of the arrangement over and over again. As soon as the loop's endpoint is reached, tt simply rewinds the song position to the loop's beginning. The looping is "perfect", i.e., no timing offset or jitter when wrapping around.

The loop can be set in various ways:

Notes about song looping

Copying, linking, and looping parts

Copying and linking parts

Please read this section carefully, as it is central to the way arranging in Xequence works:

All parts in the arrangement show a number on them, which is like a "group number" in that all linked parts show the same number. This lets you easily see at a glance which parts are linked to others.

Also, whenever you open a linked part in the Editor, a brief message "xx linked" will pop up, informing you of the fact that the edits you're about to do will affect several other parts as well.

Copying several linked parts

If you have several parts selected that share the same data (for example, three parts with number 77), and you use the "Copy" (not "Copy and link") button, then the new parts will be independent of the originals, however, they do still maintain their "linkedness" between each other. So, the three copied parts might then, for example, all have the number 78.

If you would like all of the copies be independent of all the others, see below.

Unlinking parts

If you later on decide that you do want to independently edit a linked part, you can select it and then choose "Unlink" from the "Magic Wand" menu. This will make all selected parts independent of all the others. For example, if you have three parts selected that all have the number 152, after using "Unlink", they might have the numbers 153, 154 and 155, so they are all independent.

Looping parts

Parts in Xequence each have an invisible "Loop" switch which can be turned on or off for one or more parts by selecting them and then choosing "Loop on" or "Loop off" from the "Magic Wand" menu.

When a part's "Loop" switch is on:

Usage examples

Looping parts is a very powerful feature, for example:

Ending the loop

As mentioned, looped parts stop looping when they hit another part on the same track. So, if your hihat line is supposed to end at some point, just draw a short empty part there, and you're done (see the red part in the image).

Converting loops to parts

If you decide you want to make changes to the repeated parts (delete some of them, move them, or edit the notes only in some of the parts), then you can use "Convert loops to parts". This will convert the loop into actual (but still linked to the original) copies. You can now move them around, delete some of them, etc.

Note, however, that these parts are still linked to the original, so editing the notes inside them will modify all converted parts and the original. If you want to change the data of only one single part of them, select it and then choose "Unlink" from the "Magic Wand" menu, which will make it a truly independent copy (it will also get assigned a new number, visible on the part).

MIDI Input and Thru

MIDI In

Xequence can receive MIDI data from other apps or hardware keyboards / controllers. This means that you can, for example:

For this to work, you would first need to enable MIDI Out in the other app, and, depending on the app, choose Xequence as the destination for MIDI Output. You might also need to enable "Background audio", again depending on the app, so that it stays active in the background when you switch back to Xequence. If you use a class-compliant external keyboard or controller, it also depends on the particular device, but many work out of the box.

In Xequence, go to the Settings screen ("..." at the top left), then after scrolling down, enable "MIDI In", and make sure the next button says "Sources: Any".

Now try sending notes or controllers from the other app or device. The "MIDI In" button should blink when you press keys or move controllers in the other app or device. You can also try to record notes or controllers into the Arrangement or Pianoroll, and check if they have been recorded correctly.

If you don't get any blinking or notes / controllers being recorded, try selecting the MIDI Source explicitly:

Explicitly setting the MIDI In Source

Some apps or devices need a different approach and you have to enable them explicitly as inputs in Xequence.

To do that, go to the Settings screen again, and tap on "Sources: Any". In the popup, your other app or device should have a button (which is deactivated). Activate it, and now again try sending notes from the other app or device and see if the MIDI In button blinks and events get recorded.

If this doesn't work either or your other app or device doesn't appear in the "Select MIDI sources" popup, please drop us a mail so we can investigate further!

Recording controllers (CCs) from external sources

Xequence can also record controller (knob, etc.) movements from external apps or devices, however, there's one caveat:

You need to add the controllers you wish to record to the Xequence instrument that is on the track you want to record to.

If that doesn't make any sense just yet, read on:

The screenshot shows an instrument that has controllers (CCs) 74 and 7 set up. As far as Xequence is concerned, only those controllers exist which are actually set up in an instrument, others will be discarded during recording from MIDI Input.

So, before you try recording controllers from other apps or devices, just check which CCs (control numbers) the respective knobs, sliders etc. use, configure them on the Xequence instrument whose track you want to record into, and you're good to go.

MIDI Thru

MIDI Thru is a feature that lets you use Xequence as a central "hub" for your MIDI setup.

If you enable MIDI Thru, all MIDI notes and controllers that are received by Xequence are immediately forwarded to the instrument on the selected track, and thusly, to the MIDI destination configured in that instrument.

This means that if you setup your MIDI source (hardware MIDI keyboard, Arpeggiator app, etc.) to only send MIDI to Xequence and not to the actual synth apps or external synths, while enabling MIDI Thru in Xequence, you will never have to change any MIDI connection again, because your keyboard, Arpeggiator etc. will always automatically play the instrument on Xequence's selected track.

Needless to say, Xequence will of course also record the notes received as well.

So, to recap:

Now, your external keyboard or app acts as the "Master controller" for all of the other synths/instruments configured in Xequence. Select a different track, and your keyboard plays that track's instrument. Boom!

Demo project

Xequence includes a Demo project with the fitting name "Alpha" (we actually used it during alpha testing!) which you can load from the Settings screen ("..." at the top left) so that you can quickly get a feel for the possibilities and handling in Xequence.

Of course, if you hit play, you won't hear anything or not what we intended, as Xequence doesn't have built-in synths.

However, the entire project was produced using sounds from Korg Gadget, and we have put the corresponding Gadget project online, which you can download, load into Gadget, and then actually fully work with the demo project.

The Gadget project is at:

http://seven.systems/xequence/downloads/KorgGadgetDemoProject.zip

Loading the demo project into Gadget

Unfortunately, this is slightly complicated, however, it works!

You should now actually hear the project as it was intended to sound.

Note: The Gadget project uses some synths which are In-App Purchases, so if you haven't bought those, you might have a few drums / sounds missing.

Example setups

Using just a single synth app: Poison-202

Using a multi-timbral app with multiple MIDI channels and sounds: Korg Gadget

Let's say you want to use three instruments from Gadget in Xequence, on three separate tracks:

Using an Audio Unit Host to control multiple AU plugins: AUM

Let's say you want to use three separate instances of Poison-202 in AUM, on three separate tracks:

Using an Arpeggiator app: StepPolyArp

This will let you use StepPolyArp to play and record any Xequence instrument, including recording the arpeggiated notes:

You can now go back to StepPolyArp, and whichever track is currently selected in Xequence, that track's instrument will automatically be played by StepPolyArp, and its notes recorded, if you tap the Record button.

Bonus tip: Syncing StepPolyArp to Xequence

You can also use Xequence's MIDI sync feature to have StepPolyArp automatically play in time with Xequence when you press keys in StepPolyArp, so that recordings are always in perfect sync.

To do that:

StepPolyArp will now acquire the BPM and relative song position from Xequence whenever you hit play, and play in sync with it.