4 5. MicroDexed Sequencer
positionhigh edited this page 7 months ago

Sequencer overview

MicroDexed features an onboard sequencer that makes it possible to play up to 8 (MIDI/SAMPLE) tracks simultaneously. You can record your patterns either via (USB) MIDI or by manualy putting in the note and velocity data on the device itself, without using any external equipment. This makes MicroDexed a musical sketchpad, a practice companion for bands, vocal artists etc.

Since MicroDexed is also able to play back short audio samples, the sequencer can also be used as a drumcomputer.

Everything in the sequencer is highly customizable. That also is true for the included arpeggiator. Further, a single track can be used to play full chords and chord progressions.

Nearly all featured and parameters are available during playback. This means that you also can play live on MicroDexed, while the sequencer is running. Also you can modify live the sequenced information, change playback options of the arpeggiator or the chord function and much more.

Our goal is to push the Teensy microcontroller to it's limit. It is already doing a lot - playing FM Sounds, playing samples and sequencing them while you still can play live with 2 different FM sounds, an epiano and 2 "virtual analog" Mono-Synths.

But there is always room for improvement - this is the reason why these new features are currently in the rev-branch of MicroDexed.


The smallest building block in the sequencer is a pattern. Currently up to 24 different patterns can be used in a sequence. It is completly up to you, when and how the patterns are played in the sequence. Of couse every pattern can be put in multiple times inside a sequence. A pattern has the lenght of 16 steps.


| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

To create Phrases that are longer than 16 steps, the patterns are put in a Pattern Chain. Each Pattern Chain can hold up to 16 pattern and these Chains can be inserted in the Song as a singe Song Step - which can go up to 99 Song steps, per track. So the total lenght of your song can go up to 25344 steps.

track types

Since the sequencer can play notes, drum samples, chords and arpeggios, it is important to tell MicroDexed what type of content shall be played on which track. The track type of each track keeps the same, during the whole sequence. Track types can be drum, inst, chord or arp. This assignment is controlled in the menu Track Setup

content type

While the track type is a setting regarding all chainsteps of a track, the content type is a assignment for every pattern. Every pattern can be of different content type.

The content type mostly controls how you see your pattern content on the device. For example, if it is a drum pattern, instead of seeing midi-note-values, you see the names of the the drum samples. For Chords, you see the chord name (for example in the arpeggiator view). Further, this controls many of the editing features and features that are displayed to you.

In many cases it is not critical to put in the content type for every pattern to get a sequence running correctly. But it is highly advised to do so - only then MicroDexed can understand what you are up to and help you in responding with the best menu options for editing and visualizing your patterns.

If this sounds a little strange, you have to understand that MicroDexed just "sees" MIDI Notes. To be more precise, it just sees a number between 0 and 127 :-) So setting the content type for the patterns helps MicroDexed to understand what your pattern is intended to do.

The content type is assigned in the menu Seq.Disp.Style (Sequencer display style).

dexed assign

In this menu you assign the 8 tracks to the two dexed-synth instances, the epiano or to microsynth. Notice that this setting is only valid for instrument tracks. Drum sounds will always play on the dexed-drum channel. The drum channel is setup in the drum menu and defaults to MIDI channel 10.

For chord and arp tracks, it is possible to override the setting in the dexed assign menu - or lets better say you can assign 2 different dexed-synth instances at the same time for them.

To give you an example:

Lets say you want to play a full chord with a piano sound and in addition a bass note with an other instrument that is more bass like. Internaly stored, MicroDexed only has the root note of the chord, like data on every other track, as a single MIDI note. For chords, you have to assign the chord types for the chords. (more in chapter chords).

If you have this ready, you can tell MicroDexed to play the bassnote on dexed-synth1 or 2 and also to play the chords - on an extra chord channel. All this, only using a single track of the sequencer.

Notice that the playing style of the chords can be tweaked. you can play the chords from 1 upto 7 notes at once and also shift by octaves and even in intervals, up and down.


In the current state, MicroDexed understands major, minor, seventh, augmented, diminished and major7 chords. This can be extended, either directly in the source code of the firmware or in a future update as custom chords that can be stored on the SD-Card.

The available chords should cover the most common music styles but that opinion might change in the future :-)

Internaly, the chords are stored nearly equal as the "normal" note information. Their chord type is stored per note, in replacement of their velocity. That is one of the reasons, why it is a good idea to set your chord pattern to the content type chord.

The chords can be edited while the sequencer is stopped and while it is running.

So you can experiment a lot while directly listening to the results. Editing of the Chord rootnotes and their chord type is happening in the Velocity/Chord Editor menu.

Chords (and Arpeggios) can be manipulated by multiple realtime controls in the shift&transpose and in the menu Arpeggio. You can change the ammount of notes that shall be played as a chord. The default value is 3 - but you can increase and decrease it from 1-7 in the ChordTrack Keys menu.


Instead of playing chords, you can also configure a track to play arpeggios. The note/chord input is exactly the same as for chords.

So it is no problem to change the track type between these options.

In the Arpeggio you can modify various parameters in realtime and also stop/start the sequencer. So no need to change menus to do that.

The lenght parameter lets you choose between 1-9 steps for all arppegio styles. In case of up&down, the arppegio time is extended to 2x of the lenght. If you choose a lenght of 1 for the types up or down, this only plays the rootnote. In combination with an arpeggio speed of 1/8, usualy this alone creates a simple bassline.

The arpeggio types are up, down, up&down and random, which of course is not completely random but plays random notes in the scale of the chord.

Further you can transpose all notes of the arpeggio in the shift&transpose menu. The shift can be made by full octaces or/and all possible chord fingering of the chord.


MicroDexed Sequencer does not only play instrument sounds out of the dexed-synth engine but also can play sampled mono sounds. Since storage memory is limited and the playback of samples from the SD-Card is not fast enough for multiple tracks, the list of samples is not endless. The library of samples is currently a work in progress. Never the less, it is possible to produce stunning drum patterns with MicroDexed. You can assign as many tracks out of 4 for playing drum sounds and the notes can be recorded in realtime with a MIDI device of your choise (including velocity), step per step in the editor or with the fill function, that inserts a bunch of notes at 1/4, 1/8 or 1/16 steps with one click.

You also can copy, swap and clear patterns inside the sequencer view with a few button clicks. To further finalize your drum tracks, you can change the velocity values in the velocity/chord menu.

All copy and swap functions will always include the velocity values of the track.

Similar to the dexed-synths, you can modify volume, pan and reverb send for all drum samples. This happens in the Drums menu.

Drums can also be played live, externaly, by setting the drums MIDI channel in the Drums menu. Changing the drum MIDI channel has no consequence for the sequencer - all drum sounds will be played automatically on the correct drum channel.


After reading about all the possibilities and a lot of background information, lets talk about the sequencer menu. The top row always shows options, the second row always shows the content of the currently active pattern. If you have assigned the correct content type to the patterns, it's displayed parameters will vary based on the content.

In the second row, you see either the names of MIDI notes or a short name of the drum sample, if it is a drum track. In case of MIDI notes you will always see the root key and more details about the note in the first row. A blank step is represented with a "-" at its place.

While the sequencer is running, you will see an "X" at the current step in the pattern. If you move the cursor into the pattern with ENC-R, you will see an "x" at the currently selected step. If you press ENC-R there, it will insert the note/drum sound that is currently selected at your top left screen.

The menus/functions:

If the pattern is a drum pattern, at the top left you will see a browser with all available drum samples. If the pattern is a instrument pattern, you will see MIDI notes and so on.

After the last instrument note or sample, a list of functions will come up. The functions are:

  1. EMPTY
  2. ClrPat
  3. ClrAll
  4. Copy P
  5. Swap P
  6. Fill P

EMPTY selects an empty note. You can select that and then move with ENC-R quickly to the second display row to replace notes of your choise with nothing.

ClrPat clears the active (displayed) pattern completly.

ClrAll Beware, this clears all patterns of the sequencer, at once.

Copy P Copies a pattern to a destination pattern. The source pattern will be untouched.

Swap P Swaps the content of a pattern with an other pattern

Fill P Fills the active pattern at 1/4, 1/8, 1/16 steps with a note or drum sample of your choise.

The second menu item in the sequencer is the Play, Record, Stop function. What is on display, is the next action that it is going to do.

The sequence is Play -> Record -> Stop, every time you click ENC-R. it will advance to the next step.

This is kind of self explaining. Note however, that the recording actualy only will be active, while you are in the sequencer view. Also, while the arpeggiator has a Play-> Stop function, it does not have the record option on purpose because you do not see there, what is happening to your pattern if you would be able to record there.

So to record patterns live, the sequencer view has to be active on the display.

The next menu item to your top right is the active pattern selector. Here you can browse between all 10 patterns and it does not matter, if this pattern is contained in your current sequence at all.

This means that currently you can only input notes in the pattern that you have on display. This is a good protection against messing up other patterns that you don't see - but also a small limitation if you like to fill up multiple patterns with data in a pattern chain during live recording. Most certainly this will be changed in the future to be an option and mainly it is this way because of the limitation of the display to show only a small ammount of data.

Velocity/Chord Editor

The Velocity/Chord Editor is very similar to the main sequencer view. Since you only have 2 Buttons and a 2x16 Char display in front of you, it made sense to put this into an extra menu.

On an drum or instrument pattern, you can change the velocity values of your notes. On an chord/arp pattern you can choose/modify the chord information, meaning which chord type should be associated with the note(s) of the current pattern.

The navigation is exactly the same as in the sequencer view. Instead of the information about the Instrument or Drum sound, you get their velocity values and can modify them. In chord view you can choose between major, minor, seventh, augmented, diminished and major7 chord types for every note.

These values are used for two kind of tracks: chords and arpeggios.


This feature is kind of work in progress. The idea behind it, is that you have a sequence, including chord or arp information and play to it live while transposing the stored sequence on the lower part of the keyboard. The octave that is doing this live transposition is selected in the menu L.Transp.Key This transforms MicroDexed into kind of an arranger keyboard or a tool for a live performance.

LOAD Seq.Data

Using MicroDexed Sequencer, you will have a lot things and ideas in your mind about how to progress with your patterns. In this creative process, the goal is to make things as easy as possible about loading and saving. The Sequencer will store as much about the machine state, including voices, voicesettings, effects and drumsettings inside the storage of the sequencer. So when you have saved the Sequence previously, loading loading it back should return you to exactly the same state, as before.

SAVE Seq.Data

When you save your sequence, MicroDexed sequencer will put you current voices, voiceconfigs, effects and drumsettings and store the current state of them as part of the sequence. If you wish to save parts of it, like the effects+drumsettings or a voicesetting as a seperate file, to be able to recall them later for an other project, you can do so in the default load/save voiceconfig, load/save effects etc. menus. Currently, saving the effects will also automatically include the settings for volume, pan and reverb-sends of the drumkit.

delay effect

The delay effect can be synced to to the sequencer. If you already have synced your sequence tracks to a value like 1/16, 16t, 1/8, 1/8t. etc, tempo changes should automatically change the delay times, to fit the new tempo for this track. If you have not done so, you can activate the delay sync in the effects -> delay - time menu, while the sequencer is running. After saving the sequence, the correct value should be recalled automatically and follow any tempo changes.

song loop

Instead of playing your whole song, you can select a start and stop song step and create a loop between them. The starting step can be lower or higher than the stop step - MicroDexed will figure out what to do in either case. You can edit the start end end steps with the X Cursor movement by scrolling below Track1 - it will then select the step column. Here you can scoll up and down to the start position, confirm with [BUTTON RIGHT], select the end Step and again confirm with [BUTTON RIGHT]. Either while already playing or starting playing, MicroDexed will now play only the Song Steps you have selected for your loop. The Loop can be modified, while it is playing.

Table of Contents