[Docs] Midihub Pipes

From MIDI

Pipe Icon Description
midi-in The entry point of MIDI data. The data received through MIDI IN connector with the matching letter will be forwarded as is to the pipe on the right.

Settings

midi-in

To MIDI

Pipe Icon Description
midi-out The exit point of MIDI data. The data that reaches this pipe will be sent through the MIDI OUT connector with the matching letter.

Settings

midi-out

From USB

Pipe Icon Description
pc-in The entry point of USB MIDI data. The data received from PC via the USB cable from matching USB MIDI device will be forwarded as is to the pipe on the right. See The USB MIDI Port Mapping for OS device mapping to USB port letter used by the device.

Settings

pc-in

To USB

Pipe Icon Description
pc-out The exit point of USB MIDI data. The data that reaches this pipe will be sent to the PC via the USB cable to the matching USB MIDI device.

Settings

pc-out

From Virtual

Pipe Icon Description
virt-in The entry point of Virtual MIDI data. The data that reached the matching letter Virtual Output will appear here in the Virtual Input pipe and will be forwarded as is to the pipe on the right.

Settings

virt-in

To Virtual

Pipe Icon Description
virt-out The forwarding point of Virtual MIDI data. The data that reaches the pipe will appear immediately in the matching letter Virtual Input pipes and the processing will continue from there.

Settings

virt-out

Transpose

Pipe Icon Description
transpose A modifier pipe that adds its semitones argument to all MIDI Note On and Note Off events. Other MIDI data is passed through as is.

Settings

transpose

Filter

Pipe Icon Description
filter A modifier pipe that can selectively discard MIDI events of types: Note On, Note Off, Channel Pressure, Control Change, System Common, Pitch Bend, Program Change, System Real-Time.

Settings

Note Remap

Pipe Icon Description
note-remap A modifier pipe that remaps Note On and Note Off note values from given input range to the desired output range. Any Note On and Note Off events that are outside of input range will get discarded. Using this pipe together with virtual inputs / outputs you can split your keyboard to control multiple devices. Or you can transpose and scale or flip the range if you feel like experimenting.

Settings

note-remap

Channel Remap

Pipe Icon Description
ch-remap A modifier pipe that remaps the Channel number of MIDI messages that carry Channel information from given input range to the desired output range. Any Channel messages that are outside of input range will get discarded. Using this pipe, you may route MIDI data based on the channel to other ports.

Settings

ch-remap

Velocity Amp

Pipe Icon Description
vel-amp A modifier pipe that amplifies the Velocity parameter of MIDI Note On messages.

Settings

vel-amp

Tempo Divider

Pipe Icon Description
tempo-div A modifier pipe that divides the tempo by dropping multiples of Real-Time Sync MIDI messages.

Settings

tempo-div

Sync Delay

Pipe Icon Description
sync-delay A modifier pipe that drops a given number of Real-Time Sync MIDI messages. The dropped message count can be reset using Play Start message. Using this pipe some tricky MIDI hardware sync incompatibility issues can be resolved.

Settings

sync-delay

Additional Pipes we are currently working on:

CC To Note

To transform MIDI CC messages to different MIDI Notes

Scale Remap

To remap MIDI Notes to a specific scale

I am now going to check the sync delay pipe out.
How exactly does this pipe work? There are 96 PPQ per bar, or 24 per beat.
Does it delay/shift the whole stream from 1 to 96 by the number you choose?
What exactly is meant by “dropping messages”?
And what use case did you have in mind?

Thanks for help :slight_smile:

It delays letting through the sync messages through it, effectively dropping/discarding the first N such messages. The counter gets reset when ‘Start’ message is received.

This is useful to sync up some weird devices together who seem to be off by 1/16th or even less. (Like Doepfer MIDI module, AKAI MAX49 sequencer to other gear)

Another use I’ve found for this pipe is when recording MIDI to a DAW - sometimes I find myself setting up a sequenced loop with the very beginning of the bar being somewhere in the middle, so you could temporarily add a delay pipe with the required offset to place the loop in sync with the first beat in the DAW, then record the loop into the DAW. (Or in case of no DAW simply making the hardware device line up musically correctly with the rest of the equipment)