# Cubase Input Transformer



## Eloise (Aug 4, 2015)

Hello.

I'd need some assistance how to use the Input Transformer in Cubase (8 Pro).
My goal is to route Aftertouch-Data from my Keyboard to any Controller (e.g. to CC11).
I managed to route one Controller CC to another CC, but with Aftertouch no success.
I really checked the Web, but found no answer to that "simple" task.
The Cubase infos (and here also the Chapter for the Logical Editor, which is a little more informative than the Chapter about the Input Transformer) mentions only the possibility to change Aftertouch into CC-Data, but does not explain how.
Besides my particular problem I wonder, if someone knows, how to learn the syntax of the Input Transformer. At the moment I'm in the state of try and error, using the MIDI-
Monitor in the Cubase Inspector, which is quite frustrating.
Is there some publication or some expert I can turn to?

Thank you for any helpful hint.

Eloise


----------



## FriFlo (Aug 4, 2015)

You have to gain some basic understanding of midi messages, then it's really easy. Every midi midi messages is in fact 2 - 3 messages (a little simplified). 
Message 1: What it is (Note on, Continuous control, channel after touch, ...)
Message 2: Value 1 (for some messages is is just this one, e.g. For Aftertouch value one is the pressure value, while for CC this determines the type of CC, like CC 1 - modulation)
Message 3: Value 2, the actual value for note, poly pressure, CC
Now, you input transformer let's you transform any of these message bundles (of 3 or 2 messages), so, if you want to transform Aftertouch to CC 11, you have to transform the type of the message (Aftertouch to CC), value 1 of Aftertouch (the actual pressure value) needs to become value 2 of this CC message and value one off the CC message needs to be fixed to 11. Does that help?


----------



## Eloise (Aug 4, 2015)

FriFlo said:


> You have to gain some basic understanding of midi messages, then it's really easy. Every midi midi messages is in fact 2 - 3 messages (a little simplified).
> Message 1: What it is (Note on, Continuous control, channel after touch, ...)
> Message 2: Value 1 (for some messages is is just this one, e.g. For Aftertouch value one is the pressure value, while for CC this determines the type of CC, like CC 1 - modulation)
> Message 3: Value 2, the actual value for note, poly pressure, CC
> Now, you input transformer let's you transform any of these message bundles (of 3 or 2 messages), so, if you want to transform Aftertouch to CC 11, you have to transform the type of the message (Aftertouch to CC), value 1 of Aftertouch (the actual pressure value) needs to become value 2 of this CC message and value one off the CC message needs to be fixed to 11. Does that help?



Hello FriFlo.
Thanks for the quick reply.
But still I don't get it to work.
(Modul is activated and funktion is set to transform)
In the upper box I chose: Type/Equal/Aftertouch
In the lower box: 1st row:Type/fixed value/Controller
2nd row: Value 1/fixed value/11
3rd row: Value2/use value 1

The result I can see in the MIDI-Monitor is that I have Controller 11 having a fixed Value of 11.
If I don't transform Value 1 of Aftertouch to fixed Value 11 (=skip my second row), with changing pressure, I get all the different CC's, each with corresponding value 2 (value1=value2).

I really have no idea, what to select.

Can you help?

Thank you

Eloise


----------



## FriFlo (Aug 4, 2015)

I am not at my PC. Post a screen shot and I can help tomorrow.


----------



## FriFlo (Aug 4, 2015)

P.S.: I think Isee the mistake without my PC: in the lower box you have to first transfer value 2 to value 3 and then fix value 2 to 11. The way you do it, the value gets overwritten by 11, before you transfer it. Makes sense? For midi data you just have to think how the messages get to the computer. It is pure logic.


----------



## Eloise (Aug 4, 2015)

FriFlo said:


> P.S.: I think Isee the mistake without my PC: in the lower box you have to first transfer value 2 to value 3 and then fix value 2 to 11. The way you do it, the value gets overwritten by 11, before you transfer it. Makes sense? For midi data you just have to think how the messages get to the computer. It is pure logic.



Hello FriFlo.

Yes, that's almost exactly what I did wrong.
But I only had to change the order of the rows, so no need for value 3.
Here's how it worked now:
Upper box: Type/Equal/Aftertouch
Lower box: 1st row:Value 2/use value 1
2nd row: Type/fixed value/Controller
3rd row: Value 1/fixed value/11

FriFlo, thank you so much for your advice.

But still I wonder, if there's a resource for more complex settings for the Input Transformer.
Does anyone know, where I can find some examples or tutorials to study?


Eloise


----------



## FriFlo (Aug 5, 2015)

You welcome, Eloise. No, not that I know of. The transformer stuff was simple to me from the start, because I knew the logic environment inside out befor. Just learn how all midi messages are structured and you will see all possibilities of the transformer. Don't expect to much from it, though! It clearly has its limitations. If you are really interested in changing midi messages in every possible way, look into Max MSP or Pure Data (which is the free open source alternative to max). That is what I am currently into. 
But if there is something specific you want to do with the input transformer, I can tell you, if it is possible and how to do it. You just have to know yourself, what you want to accomplish. For a start: try to understand how the presets are made and after that I guess, you will get it pretty well. No tutorials needed.


----------



## wexberg (Aug 5, 2015)

Thanks for the information guys, I always had the intention of making use of aftertouch, just never got around to setting it up, really helpful of you both. 

Would either if you know how to modify the value of aftertouch in this scenario so that I wouldn't need to press so hard to reach the max 127 value? I couldn't think of a way to do it in the input transformer but logically, something like multiplying the value of aftertouch coming in by some factor, lets say 1.5 or 2, so that when I press the key and it reaches a 60 value, it actually tells the input transformer/daw 120?


----------



## wexberg (Aug 5, 2015)

Figured it out!
For those of you who might need to do something similiar:

Use these instructions from Eloise & FriFlo
*Upper box: Type/Equal/Aftertouch
Lower box: 1st row:Value 2/use value 1
2nd row: Type/fixed value/Controller
3rd row: Value 1/fixed value/11*
and then add a *4th row: Value 2/Multiple By/2*

You can also Add/Subtract/Divide/Round, depending on your needs.


----------



## FriFlo (Aug 5, 2015)

You can do that, but not without loosing resolution of the controller. 
If you want vlues from 0 - 127, just set a multiplyer of the value:
e.g.: x2.0 means when you reach an actual pressure value of 64, the transformer will output 127 (actually 128, but that will be rounded).
If you want a threshold, the "add" function can be useful (add 10 means the lowest value is 10 and an actual value of 117 already reaches 127).
Of course you can combine multiply, divide, add and substract to get any kind of linear modification. That is about, where the functionality of the input fransformer ends ...


----------



## FriFlo (Aug 5, 2015)

Great! I just crossposted. But it is better to get a keyboard that does have a good aftertouch response from the start. Also, expression/dynamics is not handled well by aftertouch alone (just try it out and you will see what I mean). It is better to combine controllers, like e.g. have the modwheel control the dynamics and set aftertouch to modify that by something like 20%. I do that with Max MSP, it is not possible with the input transformer, as far as I know.


----------



## wexberg (Aug 5, 2015)

Thanks FriFlo, yes I noticed the Multiplier and that worked like a charm for me.
Regarding a keyboard with good aftertouch response, certainly agreed but that wasn't the issue for me (using a Doepfer LMK2+, fantastic IMO). I can definitely see that aftertouch has limited uses; I just wanted to be able to press lighter with my fingers to reach higher values like 100-127, so I could easily trigger cc1 vibrato in synthes, etc.


----------

