M9 Docs   Audio Sequences

Audio sequences are like MIDI sequences but the big difference is that the note events directly play a sample. That's why they're called sample events. So instead of the more traditional workflow of using a MIDI note sequence that plays a sampler plugin module somewhere else in the app (eg in a rack slot), MuLab's audio sequences do all that in an integrated way. You can look at it as if each sample event is a combi of a MIDI note and a built-in sampler, which can play and loop any section of any sample in your project, and time stretch it etc. So audio sequences can easily play different sections of different samples, each at different pitches and with different time stretch options! That allows for very creative sample sequencing!

So audio sequences can easily play different samples, but they can also play a single sample that is sliced into separate sample events in order to preserve the transients in that sample. It is not possible to preserve a transient when it is in the middle of a sample event and when applying time stretching because then the transient will be stretched too which often results in a less snappy transient. If you want that middle transient to sound snappy like the original then split the sample event in 2 separate sample events so that the first event ends just before the transient and the second event starts with the transient.

It is essential to understand that sample events do not contain audio, they link to samples.
All samples are common to the project. So the very same samples played by audio events can also be used in any sampler etc.
This also means that when you apply a DSP function on a sample this will affect all places where that sample is used.
Of course you can duplicate (a section of a) sample in order to have a separate version.

Sample events also send out a MIDI note so audio sequences not only output audio, but also the note events that generate that audio. An advantage of that is that you can use these note events in an FX MUX more downstream eg. to trigger the ADSR on a lowpass filter that will process the sequenced audio.

Sample events can have a fade-in and fade-out: Move the cursor to the top-left or top-right of a sample event and you'll see that the cursor changes in a pointing hand and a tooltip appears. Click and drag horizontally to set the fade time. Click and drag vertically to set the fade curve. These are 2 independent actions, otherwise it would practically impossible to only change one of them.

When a sample event is selected its details are shown in the property panels at the bottom of the editor. The left panel shows the MIDI note properties, the right panel shows the sample player properties. For more details about how the sample is played back see the info on the sample player module.

Sample events also have an "Auto Stretch" switch and when it's ON the sample event will be stretched so to match the event's length. This is very handy when changing the tempo, then these auto stretched events will keep sounding the same.

The context menu of sample events contains relevant functions among which:

  • Start Event At Previous Event End = Makes the event start at the end of the previous event ie. make it adjacent to the previous.
  • End Event At Next Event Start = Make it adjacent to the next event.
  • End Event At Audio End = Make the event end at where you have set the audio end.
  • Split = Splits the event at the cursor position. The new audio end and audio start use a straight sample index.
  • Split Markered = Splits the event at the cursor position. The new audio end and audio start use a marker.
  • Split At Nearest Marker = Finds the marker nearest to the cursor position and splits the event there.
  • Split Using Markers = Splits the event using all existing markers.
  • Quantize Adjacent Events = Quantizes the start and end of adjacent events. Note that if you use this function on a selection you need to select at least 2 adjacent events because there can never be adjacent events in a single event selection.
  • Merge Adjacent Events = Merges adjacent events into a single event. Note that the adjacent events must also play the same sample, otherwise they cannot be merged.
  • Set Audio Start Here = The point you right-clicked will be set as the start position for that sample event.
  • Set Audio End Here = The point you right-clicked will be set as the end position for that sample event.
  • Render Inline = Renders the sample as it is played into a new sample and updates the event to play that new sample.
  • Render Inline Reversed = Same as Render Inline but also reverses the result.
  • Render To New Sample = Renders the sample as it is played into a new sample. It leaves the event untouched.
  • Render To Audio File = Renders the sample as it is played and saves it into the file you choose. It leaves the event untouched.
  • Convert Start/Loop/End Positions = Converts the Start-Loop-End positions of the (selected) sample event(s) to straight sample indexes or markers.


  • The audio sequence editor works very similar as the piano-roll sequence editor. Please also see the details of that editor wrt supported mouse actions etc.

  • To create an audio sequence from a sample drag-drop that sample on the composer's [+] track button or on the composer itself. You can also use Project menu -> Import Sample Loop.
  • There are 16 independent lanes on which you can place sample events. Each lane has a name and a mute and solo button. You can double click the name to edit it.
  • Adjacent sample events are events where the end of the first event is at the exact same time as the start of the next event. They also are on the same audio lane. They also use the same sample and the audio end point of the first event matches the audio start point of the next event.

  • When the audio sequence editor uses a grid then splits are made exactly on that grid, and there is no snap to audio zero-crossing.
    When the audio sequence editor does not use a grid then splits are made on the mouse location but snapped to the closest audio zero-crossing, if that is max 1 ms away.
    If you want to have even more control over where a sample event starts/ends, double-click the sample event to open the audio editor and put markers at those exact sample points, and use these markers for the sample event.
  • When dragging the split between 2 adjacent events, both the start and end of both events are changed together, so that the events keep being adjacent. Exception to this is when only one of them is selected, then the operation will only work on the touched event.

    When you also hold Alt when dragging the split between 2 adjacent audio events, then not only the event's start+end is moved, but also the audio start+end point is moved accordingly.

  • You can drag-drop a sample event onto a sample player module. Then the sample player will play that same section with the same stretch options and the same pitch.
  • If you only want to reverse a single sample event then best to use the Render Inlined Reversed function. This will create a new sample for that event. Another way to play a sample reversed is to put the end position before the start position. This leaves the sample intact, it just plays it back reversed.
  • There are 2 ways to pitch a sample event: Using the Key value and using the Pitch value. The Key value is the MIDI key value and it will pitch the sample event according to the sample's Root Key. For example if the sample's root key is G2 and you play it at G3 it will be pitched one octave up. The Pitch value can be used to finetune a sample event's pitch. Also good to know: The Pitch is applied before stretching, the MIDI Key is applied after stretching! It makes a sonic difference whether you pitch before or after stretching. Pitching up after stretching generally sounds better but is more heavy on the CPU.


MuLab 8: Audio Sequences And Time Stretching

MuLab 8 Audio Sequence Jam

M8.1 Spectral Filter

Table Of Contents