Everything you wanted to know about Transform

Midihub’s different ranges

Before looking in detail at the Input Ranges of the Transform pipe, it’s useful to consider
how ranges work in some other types of pipe…

…because they’re subtly different in important ways!



This diagram shows Rescale and the Remap-type pipes:


Both types ‘scale’ some aspect of the messages within their ranges…

…but…

See how Remap acts also acts as a Filter…
…messages outside its In-range are blocked

…whereas, with Rescale, every event gets through
(all the values outside are “clipped” – Try It!)


See also with both…
… every (relevant) event is changed in some way

(unless , of course, the Pipe is left with the default “Allow Everything” ranges!)




Transform’s Ranges are quite different:

Every event that falls outside its ranges passes through unchanged – it’s just ignored.

Every event inside the ranges is used to make a new event and –unless it’s Replaced or Dropped– it carries on unchanged.

In Drop mode...

Drop_TRANSFORM_flow
Now all messages within the range are destroyed…
…while those outside just pass through.

:pushpin: this can be very powerful; removing events in a very specific way that could otherwise make the message flow much more difficult




This is a key aspect of Transform’s versatility:

For example…
…one Transform might Replace notes within a velocity range…
…the next Replacing certain other velocity notes…
…with a third transforming only those remaining which are in the highest octaves.

Transform is perhaps the most selective of Midihub’s pipes!

(this wasn’t always so – early versions had no Ranges)


In the next section, we’ll look at how Transform’s ranges work separately and in combination.

1 Like