Unify Manual

Your complete reference to PlugInGuru's creative playground!

User Tools

Site Tools


midi-details

This is an old revision of the document!


How Unify processes MIDI data

Basic MIDI routing

This diagram (from Getting started with Unify: Overview) shows the basic signal routing in Unify:

For patches with no MIDI layers, incoming MIDI data (from your DAW and/or MIDI keyboard/controller) is always routed to ALL Instrument layers.

When there are MIDI layers, incoming MIDI data is always routed to ALL MIDI layers, and each Instrument layer can be set to receive MIDI either directly from the input stream, OR from the output of any selected MIDI layer.

In Unify v1.0.x, MIDI data is not routed to audio-effects layers (either AUX or MASTER). This may change in future.

MIDI routing in MIDI layers

As the above diagram shows, MIDI data is passed in daisy-chain fashion along a chain of MIDI effects. The MIDI input stream is the MIDI input for the first MIDI effect, the output of the first effect is the input to the next, and so on, and the output of the last MIDI effect in the chain is the output of the entire MIDI layer.

This chaining can be useful when you need to modify the input MIDI stream before passing it on to the next effect, e.g. using an instance of MIDI Filter to interpret MIDI sustain-pedal (CC#64) events ahead of an instance of BlueARP, which doesn't understand those events itself.

MIDI routing in Instrument layers

MIDI routing in Instrument layers is completely different from that in MIDI layers: The input MIDI stream is routed directly to EVERY plug-in in the layer, like this, and the layer does not have any MIDI output:

What this means is that not only the Instrument plug-in, but ALSO any insert effects on the layer, can be controlled via MIDI. This is particularly useful when using MIDI data-streams generated by MIDI generator plug-ins such as arpeggiators. Of course, only plug-ins that actually support MIDI control can take advantage of this feature. Nearly all instrument plug-ins support MIDI control (if only for playing notes), but quite a few audio effects do too. (Effect plug-ins by Polyverse/Infected Mushroom have particularly good MIDI control abilities.

MIDI processing built into MIDI and Instrument layers

The above descriptions of MIDI routing in MIDI and Instrument layers don't tell the whole story. Both MIDI and Instrument layers have quite a bit of built-in MIDI-stream processing.

The following diagram shows both MIDI and audio routing in Unify's Instrument layers:

The box labeled MIDI filtering/processing on the left is represented in the Unify GUI by the “MIDI controls cluster” at the left-hand side of the layer, which consists of eight primary control rectangles plus two more (the MIDI activity light and MIDI latch control) which appear only when they are relevant.

The MIDI Source box (top left corner) determines where the layer's MIDI data comes from. This routing choice happens before the MIDI data even enters the MIDI filtering/processing box.

  • IN selects the main input
  • M1 selects the output of MIDI layer 1
  • M2 selects the output of MIDI layer 2, etc.

The “MIDI filtering/processing” box in the diagram above is itself a sequence of five processing stages:

At the first stage, the MIDI channel number (1–16) of each incoming MIDI event is compared against the setting of the Input Channel control, and the event is only passed on to the next stage if it matches:

  • ALL allows all events to pass (no MIDI channel filtering)
  • 1 through 16 filter out events whose MIDI channel (1–16) does not match

The second stage allows the option to change the event's MIDI channel number. This could be useful if you have multiple MIDI keyboards assigned to, say, MIDI channels 4, 5, and 6, and you have set up MIDI channel-based filtering to route these to different layers, but you would like to change the channel numbers back to 1 before processing them, either because you're working with a plug-in which only works on MIDI channel 1, or you simply prefer not to set your individual plug-ins to specific MIDI channels. (You might have loaded the layer from a layer preset, which you have defined with all plug-ins set on MIDI channel 1 for simplicity.) Stage 2 is controlled by the MIDI output channel control:

  • NC means “no change”, and is the setting you would most commonly use
  • 1 through 16 cause all incoming MIDI events to be reassigned to that channel number
midi-details.1578276963.txt.gz · Last modified: 2023/05/08 18:59 (external edit)