@support please: MIDI routing

But when you “merge MIDI in Loop” with a filtering of specific Midi Events, (wich shouldn’t reach the VSTi but maybe a Filter via MidiSend>MidiLoppBack>GR>qc>cutoff) this events are also for the Filter unavailable…

… “not realy MIDI”… Uff thats vague, did I write that? Yes I did… :slight_smile:

On “Our Technologies | Steinberg” page it states:

__

With VST 3, Cubase 6 is able to break free from the limitations of MIDI controller events by providing access to new VST 3 controller events that circumvent the laws of MIDI and provide articulation information for each individual note — even in a polyphonic arrangement.

VST3 Events came after certain MIDI Inserts. So it can be that some are not desigend to process VST3 events. On the other hand for some inserts VST3 events handling seems added (transformer). Also the Logical Editor and Input Tranformer can handel VST3 events. Anyway, if we found a bug here we need an exact repro to pass on to engineering. You know the drill. :slight_smile:

Thank you,
Greetings,
JHP

How is THAT possible?
Which device is able to send VST3events to a MIDI track which then are handled by the Input Transformer?
What do you mean JHP?

Serious question!

Hi Jan,
I can merely repeat a section of what I posted earlier…

Example #2) (hopefully this will illustrate my simple “bug” theory )…
Let’s use Halion Sonic SE as the instrument (because of its “true” Note Expression implementation).
Activate “Tuning” to be controlled by the PitchBend Wheel, and record something. (N.B. what gets recorded is, in this case, not the Pitchbend wheel, but the VST3 “Tuning” parameter).
Use the Transformer Inert FX… it is normal (see the line I just wrote above), that trying to filter “Pitchbend” will have no effect.
But…
Set the Filter Target, instead, to VST3 Event___Tuning (which suggests, because it appears there specifically, that the Transform FX is intended to act upon VST3 events)… Set the Transformer FX Function to “Delete”. It doesn’t filter out the VST3___Tuning data either! (that, to me, says, quite clearly… “Bug!”
Once again, using, instead, the Logical Editor, with the same settings, does delete the VST3 data.

There ARE bugs, no doubt:

PLEASE TAKE YOUR TIME AND REPEAT THESE STEPS:

A) Add a new MIDI track, input unused, output unused, set track output channel to 1
B) set Cycle Locators from bar 1 to 2, double click on the MIDI track region in the cycle to create a MIDI part.
C) doubleclick this MIDI part to open the Piano Roll, draw a 16th note at the beginning of the part.
D) doubleclick this note, extend the Note Expression editor to the length of the MIDI part and draw MIDI CC data for CC#1 (Modulation)
E) the Piano Roll, back to the arrangement
F) in the Inspector for this MIDI track, insert a MIDI Monitor fx in insert slot#1, make sure the insert is turned on, switch on the MIDI monitor (M1)
G) in the Inspector for this MIDI track, insert a MIDI Monitor fx in effect slot of Send slot #1, output to none, set output channel to 0 (=all), make sure the send is turned on, post MIDI Insert, switch on the MIDI Monitor. (M2)
H) position both M1 and M2 side to side, start cycled playback

expected behaviour:
Both MIDI Monitors show the same output: Note and MIDI CC#1, both on MIDI channel #1

I) irritating Cubase behaviour:
M1 shows only Note data, while M2 shows Note and MIDI CC#1 data, both on channel #1

  1. Now add a MIDI Transformer fx in insert slor #2:
    Condition: (upper)
    target:=channel, condition:=equals, param#1:=1
    Action: (lower)
    target:=channel, condition:=fix value, param#1:=2
    Function:=transform

expected behaviour:
While M1 still shows events on channel #1, M2 shows events on transformed channel #2
correct! (what gives, after this discussion here I’m surprised…

  1. Now edit the condition of the Transformer in 1):
    Condition: (upper)
    target:=channel, condition:=equals, param#1:=1, bool:=AND
    target:=type, condition:=equals, param#1:=controller (added)
    Action: (lower)
    target:=channel, condition:=fix value, param#1:=2
    Function:=transform

expected behaviour:
While M1 still shows events on channel #1, M2 shows events on transformed channel #2

II) buggy Cubase behaviour:
M2 shows events on UNtransformed channel #1 again…


3) Now again edit the condition of the Transformer in 2):
Condition: (upper)
target:=channel, condition:=equals, param#1:=1, bool:=AND
target:=type, condition:=equals, param#1:=controller[/color], bool:=AND
target:=value#1(=Controller Number), condition:=equals, param#1:=1 (added)
Action: (lower)
target:=channel, condition:=fix value, param#1:=2
Function:=transform

of course, this will yield the same wrong result as in 2)

BUT (now it gets really weird):
4) place the cursor on condition (upper) line #2 (of 3 lines), delete the line (push the “-” button)
notice how the condition targets change names! (german version here, I translate freely) Result:
Condition: (upper)
target:=MIDI-Controller-Channel, condition:=equals, param#1:=1, bool:=AND
target:=value#1(=MIDI-Controller Number), condition:=equals, param#1:=CC 1 (Modulation)[/color]
Action: (lower)
target:=channel, condition:=fix value, param#1:=2
Function:=transform

III) still M2 wrongly shows events on untransformed MIDI channel #1, even though the channel should have been transformed…

AND FINALLY (hold your breath):
5) change condition on condition (upper) line#2 to “greater or equal”, result:
Condition: (upper)
target:=MIDI-Controller-Channel, condition:=equals, param#1:=1, bool:=AND
target:=value#1(=MIDI-Controller Number), condition:=GREATER OR EQUAL, param#1:=CC 1 (Modulation)[/color]
Action: (lower)
target:=channel, condition:=fix value, param#1:=2
Function:=transform

M2 suddenly shows events on transformed MIDI channel #2!!! What the heck!?



And just for fun:
show presets for the Transformer and select “Note Expression → Remove ALL MIDI”:
notice how condition target shows “Attribute” (Eigenschaft), condition shows “Attribute Set” (Eigenschaft gesetzt), Param#1:=“Event In NoteExp”…

I can’t manually choose these targets, conditions etc… AND they even don’t work: M2 still shows MIDI CC#1 data on channel #1


Anyone?

Have you got the midi sysex filter on by any chance?

Just checked: only sysex is filtered out and only from Thru…

No further filtering.

I don’t want to let this go. Can we have any feedback on this please?

Has anybody tried to reproduce the “anomalies” I posted? Seems to be very strange, this whole MIDI processing …

Hi, :slight_smile:
Do you have a specific usecase to go with your instructions? :slight_smile:
I have already reported this thread and your post. I did not report this as a bug but as story to the engineering department.

Because the engineering department will have a look at your instructions it would be very good if you could outline your usecase, the music that you make and way of working so the instructions stand in a practical context.

Cubase Rocks! :sunglasses:
Thanks,
Greetings,
JHP

As a user I’d like to be able to handle

  1. note expression midi data like controller lane data, with the midi insert fx
  2. any vst2 automation parameter similar to monophonic midi data
  3. colliding monophonic note expression midi/vst2 automation data via realtime consollidation
    to be able to bind any expression data to a single note and don’t bother with consollidation of monophonic expression data while editing notes in time

To sum it up:

I want to have the ability to edit note-context expression data via the note expression editor, as that’s what it is meant for. Note-context expression data comprises not only of a single VSTi, but any number and any combination of “targets” (=MIDI data receiving devices, VST2 automation data receiving devices, VST3.5 polyphonic automation data receiving devices)

There currently is no way to target different devices with a single notes’ expression data. The single available target device is only the MIDI tracks output destination via polyphonic VST3.5 automation data and/or monophonic MIDI CC data.

As there is no way to edit monophonic note-context vst2 automation parameter data with the note expression functionality, I use monophonic MIDI CC data and send it out a virtual MIDI port via a MIDI send, which is received by a generic remote, which remote controls Quick Controls, which are assigned to the actual vst2 automation parameter. I control VST2 automation data via Note Expression MIDI CC data. This alone IS a use case.

As the MIDI data is send out to the MIDI tracks’ destination AND the MIDI sends, I of course need a possibility to split a single notes’ expression midi data amongst the note-contexts’ targets. In order to split the midi data, I’m in need for midi processing like channel transforming based on Note Expression MIDI controller numbers.

So I’m in need for Midi insert fx processing NE midi data, too.

This is a generic use case: target multiple devices with one notes’ expression data.

Thank you!!!

Same here: Win7 C6.5.1 x64

The Transformer itselfs also seamd to be buggy disregarding from the last point TabSel wrote above, Cubase crashed by playing around with VST3 funktionaity of the Transformer…



Best Regards

thanks for confirming!

Now isn’t it weird?

  1. condition Channel#:=1 gets channel# transformed.
  2. condition channel#:=1 AND type=Controller doesn’t get channel# transformed, even though Note Expression type:=controller (and controller-number:=1…
  3. condition channel#:=1 AND Controller-Number: >= 1 gets channel# transformed, even though 2) implies Note Expression is not of type controller…

Cubase reinvents boolean algebra! :mrgreen:

Please Developers take a look at this to:

Looking more like a job for the custom shop to me. :neutral_face:

Why?

If Steinberg would mind the usecase above, probebly a solution like I wish would allready be included (surley better than creating 16 dummy midi tracks, loopback midi ports, and GR) and Bugs like this would be realized by the Developers before releasing hopefully…

Well it’s now been mentioned and I’m sure if that usercase is big enough they’ll try to capitalise on it.
If they release a buggy program for the money then they’ll surely release an improved buggy version for MORE money. :mrgreen:

@support, is their already an answer from the developers in process?

For all users they want to control, with one note anything they want (maybe a filter in another channel), this is very interesting…

thx in advance!





This is a generic use case: target multiple devices with one notes’ expression data.

Do you actually know what that means? If you understand midi you’ll know how that can be done and you’d also understand why it couldn’t be done and why it hasn’t been done so far.

These long explanations of what is wanted are all very well and they look mighty good. What puzzles me is anyone who knows that much must already know how to do it and be able to explain how to do it to the programmers.

Targeting multiple devices with ONE note’s expression data does look to my mind like a minefield for midi data flow. It might look more feasible (to me) in a few years time when midi is superceded by something a bit faster with a more streamlined data flow.

the thing is is that the midi transformer doensn’t work,
and if you do what tabsel write you will see how it’s possible.

You need a virtal midiport to send miditrack data, to a
generic contorl wich is connected to the
quickcontrols of the perhaps 16 dummy Midi Tracks, and with those Quickcontrol you can reach any Parameter inside the whole .cpr. once done and “saved as default”, (its hard to connect 123 GR slots to the QCs, but) still worth…

When you use note expressen wich seemd to be convertal to standart midi on a Midi-Send via the MidiTransformer Plugin in cubase, he want to send to a specific Quickcontrol (MidiSend>MidiTransformer>LoopMidi,GR,QC>anything) but the Transformer doen’t work.

Plz try TabSels Steps (as he postet here, and i’ve done, so im knowning what he is talking about):

…AND FINALLY (hold your breath):
5) change condition on condition (upper) line#2 to “greater or equal”, result:
Condition: (upper)
target:=MIDI-Controller-Channel, condition:=equals, param#1:=1, bool:=AND
target:=value#1(=MIDI-Controller Number), condition:=GREATER OR EQUAL, param#1:=CC 1 (Modulation)[/color]
Action: (lower)
target:=channel, condition:=fix value, param#1:=2
Function:=transform

M2 suddenly shows events on transformed MIDI channel #2!!! What the heck!?