Transform Pipe for Dummies

Hi everyone!

I’m just new with midihub, i’m finding it really intuitive in general and I’m allready solving most of my needs with most of the pipes.

But the transform pipe is another history for me, i can’t get around with it. I’ve already search in other posts…

Would someone make me an example of how to do this?

Imagine i need to replace “channel pressure 0-127” into “midi cc id 1 64-127”. In the same midi channel. How?

Second, Can i make a Macro to multiple midi cc in just one row or do i have to make a new row for every midi cc?

Thanks!

1 Like

Hey, @axdelol

I recently put up a tutorial about what the sections of Transform do.

I have plans to go on from this to the more difficult & subtle bit:

  • how to think through how to use Transform to get what you want.

but in the meantime…




I think through building a Transform bit by bit, asking myself a series of questions as I go

First…

…What’s becoming What?

this we know: Pressure → CC

TransformHowWalkThro0
ignore Mode for now, we’ll come back to that



Second…

…Where’s the CC channel, id & value coming from?

you’ve decided this too:

  • Channel will be same as whatever channel the Pressure is on

  • CC# will always be 1

  • and Value will vary with Pressure

But how do we “fix” the CC id?
By setting it to one of the Arguments.

So now we have:

TransformHowWalkThro3



Third…

…Are we applying this Transform to only 1 channel and some pressure values?

No, you want any channel and all values…

…so we leave the Ranges Section at their defaults:

TransformHowWalkThro2

But, hang on…

…this give CC values 0-127!


Yep, Transform only swaps data, it doesn’t scale it…

…so we do that in the next pipe:

TransformHowWalkThro1


Two other things we need to do:
(this also links to your Second Question :asterisk: )

  1. Decide the Mode
    So do you want the Channel Pressure messages to continue and be used further on?
    Or do you want to simply Replace them by the new CC messages?

  2. Monitor! Monitor! Monitor!
    Select the Transform pipe and watch the MIDI monitor to check as you send Channel Pressure ( and other) messages through.
    Do this with at least two channels.

    Then, when you’re happy, do the same at the Rescale pipe.
    Very satisfying, knowing you’re getting the “right” answers :smile:


:asterisk: You can put multiple Transforms and other pipes in one pipeline. Just take care that whatever you create earlier in a pipeline doesn’t then get inadvertently messed with by later pipes!



PS. If this is useful, let me know which aspect(s) – it’ll help me thinking thro the next Transform tutorial

Oh and welcome to Midihub!

1 Like

Thank you so much for your help! I’ll try different things this afternoon to undertand it better. Your explanation is perfect!.

Once seen the example solve, one thing that i’m missing yet is “set value to”. I mean, I don’t understand why is not redundant or why is not called “set value from”

Thanks again.