MIDIbox SEQ V4

16 Track Live Step and Morph Sequencer + advanced Arpeggiator

Created 2008-2010

Features

  • optimized for live playing and editing
  • intuitive user interface with flat menu hierarchy, wide screen display (2 * 2x40 = 160 characters) and 16+1 rotary encoders with menu page dependent "soft function".
  • multiple MIDI Out ports (up to 12) for reduced MIDI latency
  • up to 4 MIDI In ports (e.g. for separated MIDI clock and MIDI keyboard inputs)
  • USB interface which supports USB MIDI protocol to send events more than 100 times faster
  • optional Ethernet interface for sending/receiving OSC packets (or MIDI events embedded into OSC packets)
  • every parameter can be modified in realtime w/o affecting the sequencer timings
  • one sequencer pattern consists of 4 independent tracks
  • four patterns can be played at the same time -> makes 16 tracks
  • each track consists of up to 16 layers which can be assigned to various parameters (e.g. Note/Velcity/Gatelength/Chords/CC/PitchBender/Delay/Probability/Roll)
  • Transpose and Arpeggiator function
  • Force-to-Scale function with 166 predefined scales
  • Track directions: Forward/Backward/PingPong/Pendulum/Random Dir/Random Step
  • Track direction progressive parameters (Step Forward, Jump Back, Repeat, Interval, Skip, Repeat)
  • free adjustable clock divider for each track. Supported timebases 1..256, normal and tripled
  • available length for every track: 1-256 steps
  • with 384ppqn resolution, 256th notes can be played
  • loop point within track
  • step events can be triggered multiple times (up to 4 times per step) with a delay value of 1-31 to realize drumrolls, ratterbeats, flams...
  • 8 trigger layers for Gate/Skip/Accent/Glide/Roll/Random Gate/Random Value/No Fx
  • various Groove styles (shuffle/inverted shuffle/...) + customizable Groove Templates (Delay/Length/Velocity)
  • Humanizer function (random modification of note/velocity/gatelength)
  • Pattern Morphing, controllable in 128 steps with a Modulation Wheel
  • Echo Fx with Repeat/Delay/Feedback/Note increment/Gatelength/Delay parameters
  • LFO Fx with different waveforms, synchronized period length, adjustable reset point, phase, OneShot mode. Assignable to Note/Velocity/Length/CC
  • Note Limiter Fx
  • Manual step triggering
  • Step and Realtime Record function
  • Copy/Paste/Clear function
  • Scroll and Step Move function
  • Random and Euclidean pattern generator
  • Undo function
  • parameters of multiple steps can be changed relatively and absolutely with a single rotary encoder
  • parameters of multiple tracks can be changed the same time with a single rotary encoder
  • Tracks and parameter layers can be muted
  • Accent/Slide/CC sequences
  • inbuilt MIDI mixer/controller with 128 free definable mixer maps
  • inbuilt MIDI router
  • virtual "Loopback port" for Master/Slave tracks
  • split function for Transposer/Arpeggiator
  • 8 optional CV outputs and gates for analog gear
  • CV outputs can also be accessed from MIDI In (-> replaces a CV interface)
  • 64 optional 1 mS drum trigger outputs
  • 8*128 patterns are stored on SD Card
  • 128 mixer maps are stored on SD Card
  • pattern sets can be looped and chained in song mode
  • phrase mode which allows to switch between the 16 predefined pattern sets (for fills/breaks/chorus, etc...)
  • pattern switching can be synchronized to the measure
  • MIDI Remote functions
  • 2.5-300 BPM (MIDI clock master)
  • external sync (MIDI clock slave)
  • DIN sync output for controlling vintage sequencers
  • works with 16x MIDI clock resolution (384 ppqn)
  • several hardware options (e.g. a 64 Button/Duo-LED matrix)
  • details and demo samples in the User Manual
  • DIY ONLY!!! (commercial release neither planned, nor allowed!)

History

MBSEQ V4 is the fourth generation of the MIDIbox sequencer project.

It started as a primitive extension of MIDIbox 64, which allowed to play four tracks controlled from 64 analog pots. Highlight was the arpeggiator mode with an uncommon definition of an "Arp Event", which is still one of the main features of MIDIbox SEQ today.

With MIDIbox SEQ V2 the project advanced as a separate application, based on MIOS and the PIC18F452 microcontroller, enhanced by a new user interface with two 2x40 LCDs and rotary encoders instead of pots. During the development I had to fight against a lot of limitations of the PIC18F452, accordingly the feature set was limited, incomplete, not always fully functional.

MIDIbox SEQ V3 was the reincarnation of the project, based on the bigger PIC18F4620 microcontroller which is hardware compatible to the PIC18F452. This chip contains more code memory (64k instead of 32k) and more RAM (3986 instead of 1536 bytes). Accordingly it allowed me to implement the MIDIbox SEQ application almost free from hardware restrictions, and to enhance it by features I was not able to realize in previous versions.

With MIDIbox SEQ V4 I switched to a 32bit processor with 512k embedded flash and 64k embedded SRAM. The firmware has been completely re-written in C, which finally allowed be to implement more complex algorithms, like a MIDI event scheduler and effects like Echo and LFO. The STM32 core provides an integrated USB interface which sends events more than 100 times faster than a usual MIDI port. Patterns/Songs/Groove Templates/Hardware configuration/etc. are now stored on SD Card. Now it's even possible to emulate the sequencer on a computer (currently only MacOS) for demonstration, but also development purposes.

During the last years I got a lot of inspirations and feature requests from MIDIbox users, which went into the firmware. Although I wasn't able to realize all recommendations, e.g. due to the resulting implementation effort (I'm a sparetime programmer!) or conceptional mismatches (it's really difficult to fully understand and combine everbody's wishes), I want to explicitly mention, that MIDIbox SEQ V4 wouldn't be where it is today without your input! Thank you! :-)

Basic Usage Concept

Each track consists of up to 16 parameter layers. In the simple case, a layer controls Note, Velocity and Gatelength. But they can also control:

  • Chords (up to 4 notes)
  • Pitch Bender
  • CCs
  • Probability
  • Delay
  • Roll
  • etc. (all modes are described in the User Manual)

Alternatively a track can be configured as drum track which allows a MIDIbox 808-like handling for up to 16 drum instruments per track.

The layer which is displayed on the LCDs, and which can be modified with the rotary encoders, can be selected with the layer buttons

Trigger functions like Gate/Skip/Accent/Glide/Roll/Random are also accessible in 8 "trigger layers"

Notes can be played as "Arpeggio". "Arp Events" are realized in a special way which might sound unusual, but which is very powerful: up to 4 notes can be played on a keyboard. Each step can pick up one of this played note, and transpose it.

There are functions available to randomize the played notes/CCs

A track consists of up to 256 steps with a resolution of 256th note to 1 quarter note, triggerable with a resolution rate of 384 ppqn. Steps can be looped, and the progression can be controlled with an algorithm which consists of a "Step Forward", "Jump Back" and "Repeat" parameter.

A morph function is available for each track which allows to morph between two parts of the track with a resolution of 128 steps.

A pattern consists of 4 tracks.

4 patterns can be played concurrently (small side calculation: since each track can play up to 16 events, and a pattern consists of 4 tracks, up to 256 MIDI events can be played in parallel!)

The 4 patterns can be combined to pattern sets, which can be triggered with a single button to build up a song parts interactively ("Phrase Mode").

Additionally, pattern sets can be chained and looped in Song mode.
Example:

  • Patternset 1 plays "A1 C1 E1 G1" permanently
  • Patternset 2 plays (3 * A2 C1 E1 G2) and (1 * A3 C1 E1 G3)
  • Patternset 3 loops between (A4 C4 E4 G4) und (A5 C5 E5 G5)

Switching between the pattern sets works immediately, or synchronized to the measure

With the mixer maps it's possible to prepare sound setups for your synths (independent on the MIDI port to which they are connected), and to control sound parameters while patterns are playing.

The MIDI router allows to forward MIDI events from the MIDI In port to the MIDI Out port of your synths, so that you don't need to re-connect the MIDI cables if the synths should be played from another source (e.g. from another MIDI sequencer or from a MIDI keyboard).

Tracks can be muted and solo'ed to build up a phrase. But the most important: everything is editable in realtime, the sequencer will response immediately and it is possible to optimize sequences w/o jostling the computer mouse over the table - this is the big difference compared to Mac/PC based sequencers!

Demos

During the development phase of MIDIbox SEQ V4 I created some videos to demonstrate the new possibilities to the community. I think that they give a nice impression about what you can expect from the project, but please note: my musical skills are limited! I'm more a slave of my algorithms than an artist! ;-)

MIDIbox SEQ V4 Teaser #2


MIDIbox SEQ V4 Teaser

License

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.

Project Documentation

Details about the MIDIbox SEQ V4 project are documented in the User Manual!



Last update: 2014-09-20

Copyright 1998-2014, Thorsten Klose. All rights reserved.