Hello,
Is there a plugin to combine midi input signals from several midi devices?
Example: Note On of keyboard A or a breath controller controls the transposition of keyboard B.
Thanks for your Help
Hello,
Is there a plugin to combine midi input signals from several midi devices?
Example: Note On of keyboard A or a breath controller controls the transposition of keyboard B.
Thanks for your Help
Thanks.
Is Blue3 a midi processor plugin?
No, it is a VST plugin.
Maybe I totally misunderstood your question.
What do you want to achieve?
Are you using 2 keyboards which send midi data to Gig Performer?
Simply connect multiple “sources” to (in your use case) one “destination”
The Pitch of Note ON Signal of Keyboard A transpose the Notes from Keyboard B.
So you send Note On from keyboard a for example C3.
You send a Note ON from keyboard b for example D4, but it should be C3 because keyboard a sent C3?
So as long there is no Note OFF from Keyboard a each note on sent from keyboard b should be C3?
When there is no Note On from Keyboad a becuase you never sent it or in the meantime a Note Off is sent from keyboard a, what Pitch should be taken from keyboard b - the original sent from keyboard b?
By the way: What keyboards are you using and why do you need such a mechanism?
Example: Keyb A
Note C1 = Transpose 0
Note C#1 = Transpose +1 (shift all Notes from Keyb B +1)
Note D1 = Transpose +2 (shift all Notes from Keyb B +2)
Aah, now I understand
Example 2: Device A (Breat controller event) controls the Transpose shift of Device B (Keyboard).
I probably have to program it in GPScript.
Thanks.
I found the solution with my first GP Script:
var mx49,microKey : MidiInBlock
var transpose : integer
var transposeNoteMessage : NoteMessage
Initialization
transpose = 0
End
On NoteOnEvent(m : NoteMessage) from microKey
Print("microKey: " + m)
transpose = GetNoteNumber(m) % 12
Print("transpose: " + transpose)
End
On NoteOnEvent(m : NoteMessage) from mx49
transposeNoteMessage = Transpose(m, transpose)
SendNow(mx49, transposeNoteMessage)
Print("mx49: " + transposeNoteMessage)
End
On NoteOffEvent(m : NoteMessage) from mx49
transposeNoteMessage = Transpose(m, transpose)
SendNow(mx49, transposeNoteMessage)
Print("mx49: " + transposeNoteMessage)
End
I love GP Script.
I hope that there will soon be a version as a midi plug-in with several midi inputs and outputs. That would be great and would be much more generic.
Nice one!
But i would recommend to comment out the print-lines since i noticed in some of my scripts that this might cause some delay - it’s ok for debugging purposes, but you won’t need it for a regular use…
Thanks.
It only serves as a demonstration.
It’s not really usable code yet.
I forgot e.g. NoteOff. I inserted it now.
Another problem is that there must be no transpose before all noteoffs have been completed, otherwise there are note hangers.
A not good solution is AllNotesOff:
On NoteOnEvent(m : NoteMessage) from microKey
Print("microKey: " + m)
transpose = GetNoteNumber(m) % 12
Print("transpose: " + transpose)
AllNotesOff(mx49)
End