MIDIbox SEQ V4 Lite
Advanced Live Performance Sequencer
Link to Forum Article
MIDIbox SEQ V4 Lite (in short: MBSEQV4L) is a minimalistic but powerful "MIDI sequence looper" which allows to apply various MIDI effects to spice up the original recording. The sequencer never has to be stopped! Even when a new sequence should be entered, loaded or stored from/on a SD Card, MIDI effects are added, etc. It will always run in sync with the internal or externally supplied clock.
Following samples demonstrate the MIDI effects which can be applied on a recorded sequence. The instruments are controlled by MBSEQV4L itself, drums have been added on some samples, they are played by an external drum machine and synchronized via MIDI clock to MBSEQV4L.
Force-to-Scale: First 4 bars: Pentatonic E Major, next 4 bars: Pentatonic E Minor, next 4 bars: Pentatonic Blues E, next 4 bars: Pentatonic G# Major
Please note that this piano sequence has been entered in step recording mode, because I'm a really bad live performer (and therefore rely on such a sequencer! ;-)
Step Progression: the original sequence is played on the first 4 bars, thereafter different step progression modes (backward/forward/repeat/skip) are selected to show the difference. This feature is especially useful for stretching a sequence. When it's turned off again, the sequence is automatically synchronized to the measure.
Groove Styles: different groove styles are selected after the first 4 bars. A groove style varies the velocity, note delay and note length. Extreme settings have been used so that the effect can be noticed.
Echo: the MIDI echo effect repeats notes after a predefined delay. In addition it lowers (or increases) the velocity. Some selections even increase/decrease the note value of the repeated note (used at 0:13), which works perfectly if the Force-to-Scale function is enabled!
Echo: another echo demonstration on a different sequence with an instrument which doesn't react on different velocity values.
Echo: and a third example where MIDI echo is used for a "mono instrument", which can only play a single note. The echo effect mostly causes different rhythms. Echo is enabled at 0:14
LFO: the LFO effect varies note value, velocity and length based on a periodic sine or saw waveform which spans 16 or up to 64 steps. Some LFO settings can also vary CC values.
In this demo different LFO modes are selected at 0:04 - the result sounds like typical "berlin school" sequences, and we will get them with a single push on the button!
LFO: another demonstration on a different sequence.
Humanizer: this effect randomizes note value, velocity, length and CC values. It especially works well with natural instrument emulations, resp. synths which select different sounds based on velocity, as demonstrated in this sample.
Following video has been recorded during a session with the first prototype which was built on a veroboard. The MBHP_CORE_LPC17 module was under the table, the MIDI keyboard has been used to enter notes. The MIDIbox SEQ in background was only used as a OSC->MIDI proxy for the short iPad live jam. More details about the video are described at the Vimeo page:
MIDIbox SEQ V4L Teaser (made with the first Prototype)
MBSEQV4L is a derivative of MBSEQV4 with reduced control surface and feature set, tailored for a single usecase: using it during a live session! The firmware contains the same sequencing engine like the original V4, but only provides access to the most important functions, such as various MIDI effects. Instead of entering effect parameters directly, 15 presets are available per effect. This reduces the possibilities, on the other hand the prepared setups are working well and they are available immediately with a single push on a button.
The control surface consists of 48 buttons and 64 LEDs. Neither LCDs to display sequences and parameters, nor rotary encoders for data entry are supported. Have a look on MIDIbox SEQ if you are searching for such possibilities. This limitation makes the sequencer inexpensive and easier to build. You could even build a dedicated MBSEQV4L for each of your synths. :-)
Note, Pitchbender and CC values can only be entered by recording the MIDI events from an external MIDI keyboard. Step and Realtime (Live) recording are supported, both are useful! Use Step Recording to quickly enter some notes/chords on selected steps, use realtime recording to enter notes and CCs on-the-fly at the position which is currently played by the sequencer.
Although MBSEQV4L plays 16 tracks at once, only two sequences (Seq1 and Seq2) are available, because each sequence allocates 8 tracks. The first three tracks are used to store Note/Velocity/Length, layered to up to 16 notes polyphony per step. The remaining 5 tracks are used to store Pitchbend and CC values at high resolution. Each track stores 4 CC layers, accordingly up to 19 CC lines can be recorded.
Both sequences are working independent from each other. It's possible to apply different MIDI effects, and to select an individual MIDI channel. Parameter changes can also be done for both sequences by selecting Seq1 and Seq2 together.
The sequence length is selectable from 1 to 64 steps. Longer sequences would require more Bar buttons and LEDs, therefore they are not supported to follow the philosophy "only directly selectable functions are available". In general you will notice, that all functions have a dedicated button. With two exceptions (Scale button and the "general purpose" buttons) no double assignments are used to simplify and speed up the usage.
Both sequences can be stored (and restored) on/from a SD Card. The session format is compatible to MIDIbox SEQ V4, therefore it's possible to exchange patterns. This also means, that it's possible to play back a 16 track sequence which has been created on MBSEQV4 - use MBSEQV4L as a simple playback machine!
Only a single session is available, which consists of 64 patterns. If you need more patterns, just swap the SD Card. This can be done during runtime without power-cycling the hardware.
The sequencer can be synchronized to an external MIDI clock, or it can be clocked internally. In this case the tempo has to be entered with the "tap tempo" function. MBSEQV4L switches automatically from MIDI Clock master to slave mode once it receives a clock over any MIDI IN.
The MIDI Clock Slave mode supports a special synchronization mechanism: if you are pushing the Start button, the sequencer won't start immediately, but with the next 16-step bar of the master clock. We find this especially useful in live situations, because it prevents that MBSEQV4L starts with the first step "in between" the measure given by the master clock.
MIDI events are output on MIDI OUT1 and USB. The remaining MIDI OUTs only output a MIDI clock. Optionally it is possible to send OSC datagrams via Ethernet. A planned option is to play sequences via a directly connected CV interface. Here we have the same situation: working, but configuration is too difficult, therefore not documented.
MIDI events and clocks are received from all available MIDI INs, USB and OSC (Ethernet). A MIDI Router is available which forwards incoming MIDI events to MIDI OUT1, USB, OSC, CV Out when enabled ("IN->OUT" button). This means, that a synth could be used in "local off" mode, so that MIDI notes played on the keyboard will be routed through MBSEQV4L before they are played.
A complete kit isn't planned yet for this project due to the difficult and time consuming handling.
But most components are widely available and can be purchased from various sources. Prices and ordering numbers are from Reichelt if not specified. A list of alternative electronic shops outside germany can be found in the Wiki
Premade PCBs are available as well, but due to the DIY friendly design the circuit could also be built on verboards.
Accordingly the total price of a complete MBSEQV4L is around 100 EUR + shipping costs
Christian created a nice minimalistic acryl case, see also this forum article.
By using this .svg file it can be directly ordered at Formulor in Germany.
Some guys already considered to create a new Ponoko Case, please follow the thread regarding this topic.
Alternative cases are definitely welcomed!!!
Please note that Christian was using spacers with different lengths, my recommended sizes (5 mm + 2x18 mm) are already in the order list above. Together with the Screws and Nuts they are mounted as shown in this picture:
Additional notes to distance between frontpanel and PCB: transistors have to be clipped after soldering so that they fit under the case. Sometimes it might also be necessary to adjust the LEDs if they touch the acryl. This can be done by heading up the legs from the bottom side, and pressing the LED against the PCB - this has to be done quickly (in less than 5 seconds), so that the LED won't be heat up too much!
And last but not least: jumper J15_S of the MBHP_CORE_LPC17 module has to select the 5V option, otherwise buttons and LEDs won't work correctly:
Additional Hardware Options
Since MBSEQV4L inherits features of the original MIDIbox SEQ V4 hardware, some extensions are available as well and can be enabled in the MBSEQ_HW.V4L file:
- BPM LED Digits (require two DOUT) Shift registers connected to J8/9 of the core module.
- BPM Encoder (requires one DIN) Shift register connected to J8/9 of the core module.
- A third MIDI IN/OUT port (connected to J4B of the core module as described here)
- AOUT/AOUT_LC/AOUT_NG module for CV Outputs (planned) - 2 Gates, DIN Sync Clock and Start/Stop signal are available at J28 of the MBHP_CORE_LPC17 module
See the MBSEQV4 Hardware Manual for further details.
Firmware Installation and Preparations
The MIDIbox SEQ V4L firmware is released as a precompiled binary, which can be easily updated via USB MIDI by using MIOS Studio. Details about the bootloader are explained here.
- It's assumed that you already tested the USB MIDI communication by pressing the Query button in MIOS Studio as explained in the Bootloader page - you should get some informations about the chip and the running application.
If this procedure sounds unfamiliar to you, please follow the hardware test procedure first as explained in the MBHP_CORE_LPC17 page.
- download the latest midibox_seq_v4l_* release package from the MIOS32 Download Page.
- unzip the .zip archive.
- load the project.hex file with the "Hex Upload" window of MIOS Studio and press the Start button.
- the new firmware will be transfered to your MIDIbox.
- once the "Upload completed" message is displayed by MIOS Studio (after ca. 20..30 seconds), your MIDIbox will reboot, and the new firmware will be started..
The sequencer will already work without a connected SD Card. In this case, the firmware will hang for the first 5 seconds (to search for the SD Card), the LED will show an animated progress bar. Without a SD Card, Load/Store and the Copy/Paste/Undo function won't work.
Once a SD Card is connected the first time, a directory will be created under /SESSIONS/DEF_V4L and pattern banks will be generated. This takes some seconds (ca. 20..30 seconds depending on the performance of your SD Card) - the LEDs will show a progress bar, and the MIOS Terminal will show some messages.
Please don't switch off the MIDIbox until this process is finished!
Once the default session has been created, your MBSEQV4L will be available immediately ca. 1 second after power-on, considered that the "fastboot" option has been enabled in MIOS32 Bootloader.
Please note also that the firmware contains an integrated SD Card reader function for the USB port, e.g. for the case that you want to swap files or create backups. Just enter "msd on" in MIOS Terminal. Once enabled, the SD Card should be automatically mounted by the operating system (Windows/MacOS/Linux). USB MIDI will be disabled, which means that you have to power-cycle the core after unmounting the SD Card to bring the firmware back to normal operation mode.
The firmware release package contains a default MBSEQ_HW.V4L, which can be copied into the root directory of the SD Card if hardware default settings should be modified (e.g. to customize button and LED assignments). This file will be loaded after startup.
Working under Windows?
MIDIbox SEQ Lite enables 4 USB MIDI ports. Unfortunately some windows versions can't handle this correctly: MIDI is stucking sometimes, Filebrowser operations are failing, etc.
In order to overcome this issue, sometimes it helps to install the GM5 USB MIDI driver, which can be downloaded from the MIOS32 Download page.
Unfortunately the GM5 driver can cause new issues if multiple cores are connected. And users reported that it doesn't work stable under Windows XP. In such cases it's recommended to force the usage of a single USB port which solves the MIDI transfer issues with the drawback of the reduced functionality.
So: if you notice MIDI transfer issues, please enable the single_usb option with the MIOS32 Bootloader update application.
Working under MacOS?
The USB MIDI implementation of MacOS is perfectly working, regardless of the number of USB MIDI ports!
So far we only noticed a minor issue when an app changes the number of USB MIDI ports or the device name. Such changes won't be taken over automatically, instead you've to delete the old interface description in the Audio-MIDI-Setup:
- start the Audio-MIDI-Setup of MacOS (e.g. search for "audio-midi" with Spotlight)
- disconnect the core module from USB
- delete the interface in the Audio-MIDI-Setup
- connect the core module to USB again
Thereafter you should see an interface with the new names and the right number of USB MIDI Ports:
| GP 1-16
|| The 16 "general purpose" buttons at the middle of the frontpanel are used for various functions depending on the selected page (see descriptions below).
| Bar 1-4
|| Selects the bar (step view) which is currently edited/recorded:
- Bar1: Step 1-16
- Bar2: Step 17-32
- Bar3: Step 33-48
- Bar4: Step 49-64
|| Selects the sequence which is currently edited/recorded.
Please note that both sequences can be selected at once (e.g. press&hold Seq1 Button and press Seq2 in addition)
|| Allows to load a pattern from SD Card.
This can be done during runtime, the sequencer will be kept in sync!
The 8 leftmost GP buttons allow to select a group (A, B, C..H), and 8 rightmost GP buttons initiate the load operation from 1 of 8 slots per group (A1..H8)
|| Allows to store a pattern on SD Card.
This can be done during runtime, the sequencer will be kept in sync!
The 8 leftmost GP buttons allow to select a group (A, B, C..H), and 8 rightmost GP buttons initiate the store operation into 1 of 8 slots per group (A1..H8)
Please note that the save operation will take place immediately!
|| Copies the selected sequence(s) into a buffer.
|| Copies the buffer content into the selected sequence(s).
Use the Copy/Paste function to:
- Copy patterns from one into another sequence
- Copy patterns from one into another pattern
- Create backups (e.g. before continuing working on the current sequence)
|| Press this button + one of the SEQ1/SEQ2 or General Purpose (GP) buttons to clear the whole, or parts of a sequence:
(*) All steps and parameters will be cleared. Only the "Force-to-Scale" selection and current mutes won't be touched.
- CLEAR+SEQ1: clear entire Seq1 + configuration (*)
- CLEAR+SEQ2: clear entire Seq2 + configuration (*)
- CLEAR+GP1: clear note triggers (values are kept but not played)
- CLEAR+GP2: reset velocity values to 64
- CLEAR+GP3: reset note length values to half step
- CLEAR+GP4: clear Track 4 (Pitchbend + last CC lines)
- CLEAR+GP5: clear CCs of Track 5
- CLEAR+GP6: clear CCs of Track 6
- CLEAR+GP7: clear CCs of Track 7
- CLEAR+GP8: clear CCs of Track 8
- Same for GP9..16 for Seq2
Track configuration won't be changed if 'PasteClrAll' set to 0 in MBSEQ_GC.V4 file
|| Allows to revert the last Paste or Clear operation.
|| Allows to switch between MIDI Clock Master or Slave mode. As a master, MBSEQV4L will generate an external clock, as a slave it will sync on an external clock which is supplied via any MIDI Input, USB or OSC (Ethernet). Note that in any case, a MIDI Clock will be output over all MIDI OUT ports, USB and the DIN Sync Clock output at J28
|| Tap this button 5 times to change the tempo. Master Mode should be enabled to use this function!
In addition, this page allows to select the step length.
The tracks will be automatically re-synchronized to the measure on divider changes.
- GP button 1..7: 64th, 32th, 16th (default), 8th, 4th, 2th, 1
- GP button 9..15: 64T, 32T, 16T, 8T, 4T, 2T, 1T (triplets)
|| Stops the sequencer
|| Starts the sequencer. In MIDI Clock Slave mode, the sequencer will wait until the master clock starts a new measure before the sequence will output MIDI events.
|| In this page steps can be enabled/disabled with the GP buttons
|| In this page the sequence length can be entered via GP and Bar (!) buttons. Any length between 1 and 64 steps is supported.
New: the loop point can be set by pressing & holding the Length button!
|| In this page a step progression effect can be selected. GP1 disables the effect, GP2..16 select various presets from "nice" to "extreme".
|| In this page a groove style can be selected. GP1 disables the effect, GP2..16 select various presets from "nice" to "extreme".
|| In this page an echo effect can be selected. GP1 disables the effect, GP2..16 select various presets from "nifty" to "magic".
|| In this page the humanizer effect can be selected. GP1 disables the effect, GP2..16 select various presets from "discreet" to "drunk"
|| In this page the LFO effect can be selected. GP1 disables the effect, GP2..16 select various presets from "Berlin" to "Detroit"
|| This page (unfortunately) has two functions:
Press & Hold the Scale button to select the scale:
By releasing the Scale button the base note can be selected:
- GP1: No Scale (feature disabled, default!)
- GP2: Major
- GP3: Harmonic Minor
- GP4: Melodic Minor
- GP5: Natural Minor
- GP6: Chromatic
- GP7: Whole Tone
- GP8: Pentatonic Major
- GP9: Pentatonic Minor
- GP10: Pentatonic Blues
- GP11: Pentatonic Neutral
- GP12: Octatonic (H-W)
- GP13: Octatonic (W-H)
- GP14: Ionian
- GP15: Dorian
- GP16: Phrygian
Activating the Force-to-Scale function is strongly recommended when MIDI effects are selected which
vary MIDI Note values!
- GP1..GP12: C, C#, D, D#, ... B
- GP13..GP16: Base note taken from MIDI keyboard if Transpose function is activated (default)
Therefore a usual procedure after power-on is:
1) press Scale button, select the scale (e.g. GP8 for Pentatonic Major)
2) release Scale button and select a base note (e.g. GP1 for C)
3) start recording
|| In this page tracks can be muted:
- GP1: Seq1 MIDI Notes
- GP2 and GP3: no effect (because these tracks store velocity and gatelength)
- GP4: Seq1 Pitchbender and CC
- GP6..8: Seq1 additional CCs
- GP9: Seq2 MIDI Notes
- GP10 and GP11: no effect (because these tracks store velocity and gatelength)
- GP12: Seq2 Pitchbender and CC
- GP13..16: Seq2 additional CCs
|| In this page the MIDI channel (1..16) can be selected with the GP buttons.
Please note that each Sequence has it's own MIDI channel.
Use the same channel for two sequences with independent control of the same
instrument. E.g. Seq1 stores MIDI notes for a basis pattern, Seq2 additional notes which will
be enriched by MIDI effects, or which are only temporary used and later cleared without destroying
the basis pattern.
|| In this page the automatic track selection for recording can be modified after a
Sequence has been selected. Only an "armed" track will be recorded. E.g. if you want to record
some new notes, but no CCs during the recording, you could deselect track 4..8 resp. 12..16.
Please note that using this page is only required for such special cases. The "arm" selection is
automatically set whenever you are switching to another sequence by pressing the "Seq1" or "Seq2" button.
|| One of the most important pages! Press this button, select a step with the Bar/GP buttons, and
play a MIDI note or chord, or send a CC controller/Pitchbender event. It will be recorded into the selected
step. Note that the note length will be recorded as well; in order to get some practice with this function,
try long and short notes and check how the sequencer plays them back.
Whenever a step is selected with a GP button, the previous recording for this step will be deleted once a new
note value is entered.
This allows you to quickly remove wrong notes if they haven't been entered correctly.
The note won't be deleted if CC are recorded.
|| In this page realtime recording takes place. Start the sequencer and play some notes, they will be repeated once the step position pointer reaches the steps again.
CC and Pitchbender values will be recorded as well with high resolution (64th). CCs will be automatically assigned to free track slots (4 slots per track).
Following track and layer assignment algorithm is used:
Advantage: if only a few CC lines are recorded, we've dedicated tracks
for PitchBend and CCs (Track 4-8, Layer A) which can be individually muted
- 1st CC line is recorded into Track 5, Layer A
- 2nd CC line is recorded into Track 6, Layer A
- 3rd CC line is recorded into Track 7, Layer A
- 4th CC line is recorded into Track 8, Layer A
- 5th CC line is recorded into Track 8, Layer B
- 6th CC line is recorded into Track 8, Layer C
- 7th CC line is recorded into Track 8, Layer D
- 8th CC line is recorded into Track 7, Layer B
- 9th CC line is recorded into Track 7, Layer C
- 10th CC line is recorded into Track 7, Layer D
- 11th CC line is recorded into Track 6, Layer B
- 12th CC line is recorded into Track 6, Layer C
- 13th CC line is recorded into Track 6, Layer D
- 14th CC line is recorded into Track 5, Layer B
- 15th CC line is recorded into Track 5, Layer C
- 16th CC line is recorded into Track 5, Layer D
- 17th CC line is recorded into Track 4, Layer B
- 18th CC line is recorded into Track 4, Layer C
- 19th CC line is recorded into Track 4, Layer D
- Same for Track 12..16 for Seq2
Additional CCs populate the remaining layers from Track 8 backwards, so that
PitchBend remains an individual track if not more than 17 CC lines are recorded.
|| Allows to switch between Poly and Mono recording mode. In Poly mode, chords will be stored into a step, in Mono mode only a single (the last played) note will be stored.
|| Enables MIDI forwarding. Incoming MIDI events will be forwarded to MIDI OUT1, USB, OSC, CV Out.
The Force-to-Scale function is applied on incoming events if enabled.
If the MIDI IN/OUT port of a synth is directly connected to MBSEQV4L, it's recommended to turn the synth into "local off" mode.
|| Enables the transpose function: sequences will be transposed based on the key which is played on the MIDI keyboard. If enabled in the Scale page, it's also possible to change the base note of the Scale in this mode.
Wiki page maintained by the MIDIbox community
This project is a DIY project licensed under TAPR NCL. A commercial release is neither planned, nor allowed! But the license allows you to build and sell up to 10 units per year (e.g. to friends) as long as the given constraints of the license are not violated.
A big thank you goes to Christian Delfs, who gave me some initial ideas, proposed the control surface and created the PCB layout for it.
Last update: 2017-01-22
Copyright © 1998-2017, Thorsten Klose. All rights reserved.