Nikolche
2017-05-25 15:27:19
Hi,
I have KorgPA3X, BomeBOX and Roland Integra7 SoundModule.
I want to switch from KorgPa3X Sounds on Integra7 and when play Style or MidiFile from KorgPa3X to hear Sounds from Integra7. For this Im using UserBank 4 on Korg Pa3X and in BomeTranslator I have created a Project where is maped each of Incomming Bank/PC from to Outgoing Bank/PC . This works but I need also all others midi CC(NoteOn/Off, CC7 Volume e.t.c) to send on Integra 7. Just this Bank I will to switch and play sounds on Integra7, any other Bank/PC must not be send to Integra7. This way I can play Style or MidiFile with sounds from KorgPA3X or Integra 7 or combination...hier is my Project.
How to make that just for routed Bank/PC send other CCs (except CC0, CC32 and PC) and playng Sounds on Integra 7?
Attachments:
Steve
2017-05-25 16:49:21
Hi, I might be able to help but need to understand better your project file. I see you have default route of 01.Internal Midi to 03. Internal Midi. Is 01.Internal Midi your Korg and 03.Internal Midi your Roland?
When you play the Korg user Bank 4, does it transmit midi notes on Channel 1? Do other banks also transmit midi notes on Channel 1? To get this to work, I’m hoping you can set up your Korg to use a unique channel. Then you can set up translators to pass only notes on that given channel. Then you should be able to turn off your default routing or set up translators to swallow other channels so they do not pass through to the Roland.
In order to reduce number of translators I would set up incoming as raw midi such as below example for note on
Incoming
pp 90 qq swallow
Rules
// only pass note on channel one message
if pp!=0x90 then exit rules skip outgoing action
Output
pp 90 qq
With the above, any non channel 1 note on messages would be swallowed and not pass through.
Hopefully this will set you on the right path.
If the Korg needs to send notes other than user Bank 4 on the same channel, I’m afraid Bome will not be able to distinguish between them.
Regards
Steve
bome@sniz.biz
Independent Bome Programming Specialist
Bome Q&A moderator
Nikolche
2017-05-25 17:37:53
Helo Steve,
thanks for you Answer.
Yes 01.Internal Midi is my Korg PA3X and 03.Internal Midi is Integra7.
Korg is sending Midi notes at all 16 Midi Channels. This is just one example for Chanel 1, later must works on Chanells 1-8 and 11-16, Channel 9 is Perqussion and Channel 10 Drums-for this two Channels I will use another Bank on Korg PA3X-User DrumKit to send midi CC on Integra 7.
Nikolche
2017-05-25 17:37:57
Helo Steve,
thanks for you Answer.
Yes 01.Internal Midi is my Korg PA3X and 03.Internal Midi is Integra7.
Korg is sending Midi notes at all 16 Midi Channels. This is just one example for Chanel 1, and also on Channel 1 Korg send also another Bank/PC and midi notes...later must works on Chanells 1-8 and 11-16, Channel 9 is Perqussion and Channel 10 Drums-for this two Channels I will use another Bank on Korg PA3X-User DrumKit to send midi CC on Integra 7.
Steve
2017-05-25 17:54:07
comment
OK, so you will need to set up a midi filter of sorts with Bome and only pass notes on the desired channels.
If you can tell me which channels you want to pass and which ones you don’t I can show you an example translator with rule.
Nikolche
2017-05-27 07:50:46
comment
I want to pass midi on incomming Bank/PC (MSB=120 LSB=66 PC0-127) on channels:
1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15 and 16
For chanells 9 and 10, which are Percussion and DrumKits I must route(switch) with another Sond Bank on PA3X…on incomming Bank/PC from
MSB=120 LSB=66 PC from90 to 127 (just 27 Program Changes for DrumKits are enough)…
All other schould be surpressed with filter.
One Filter for Midi events with rules, will be nice I think…
Steve
2017-05-27 18:53:24
The attached project file should help. I have 3 global variables
ga – Set to 1 when filtering is on otherwise set to 0
gb – Is the channel bit mask. Channel 1 is bit 0 Channel 16 is bit 15. Anything I set value to have a 1 set in all but channels 9 and 10. I use bit map operations in the filter preset to determine whether to send to a given channel.
gc – This is the current bank selected. I use filter management preset to determine bank selected. If MSB 120 LSB 66 is selected I enable the filter preset and only send to the selected changes. I also disable NoFilter preset.
In Filter management if anything but MSB 120 LSB 66 is selected. I turn off the filter preset and turn on the no-filter preset
The filter preset is used to filter all channels you don’t want to pass through notes. It does the heavy lifting
The No Filter preset is used if you don’t want filtering. I do this instead of setting default routing because for some reason, notes were still getting through even if I specified swallow (probably because of my alias settings)
I have one other preset (Init) that just handles project initiation. Sets up global variables and sets presets to a known state.
The heavy lifting on filtering is done in Process note On with filter and process note Off with filter and shown below
// OK pp is channel qq is note and rr = velocity on input
// Check the channel to determine if the note should be passed
ss=pp
// Shift to test the bit
tt=gb>>ss
// set up mask
uu=-1
tt=tt&1
if tt!=1 then exit rules, skip Outgoing Action
I hope this helps
Steve
bome@sniz.biz
Independent Bome Programming Specialist
Bome Q&A moderator
Attachments:
Steve
2017-05-27 19:12:41
comment
Another comment. Anything else you send beyond bank changes and notes will not get through unless you set up additional translators as my project file has no default routes in it. Again I suspect my filters were not working when default routes were set based on how my aliases were set up.
Steve
2017-05-27 19:17:31
comment
Also I tested with Bome Virtual Port 2 incoming and Bome Virtual Port 1 outgoing us Midi Tools as my input device. You will need to change this to your actual devices.