Sounds switch and Playback midi Tracks with BomeBOX

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:
1495718808376_PA-3X-Integra-7-Program-Change-Ed.bmtp

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

 

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.

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.

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.

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…

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:
1495904002434_User-4-Filter-PA3X-Example-2017-05-27.bmtp

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.

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.