Author |
Topic: How to send sysex for bank change (Read 6652 times) |
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
How to send sysex for bank change
« on: Mar 29th, 2019, 10:04pm » |
Quote Modify
|
Hi Folks, I'm literally pulling out my hair trying to figure out probably something likely simple to many of you. I'm trying to figure out how to change banks on my EMU Vintage keys+ using an Alesis Q49 midi controller. I know how to change midi channels and patch number but only until patch127. I can't understand how to switch thru the 6 banks of sounds. I installed MidiOx and connected the Q49 thru a midi interface and its communicating fine but not certain of what to do. I don't know how to use the following keys on the Q49 marked [CC Data], [CC no.],[Bank Lsb], [Bank Msb], I'm pretty sure I need to send a code to the Vkeys in order to change the banks using these keys. Can someone please set me on the right path. much appreciated, thank you
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: How to send sysex for bank change
« Reply #1 on: Mar 31st, 2019, 9:37pm » |
Quote Modify
|
Hi changing the bank needs 2 Continuous Controller (CC) messages and a Patch Change (PC) on the correct channel. CC 0 Most Significant Byte (MSB) CC 32 Least Significant Byte (LSB) You can have 128 x 128 = 16,384 banks using the MSB and LSB messages. Nothing happens until you send a patch change message PC xx Normally to change to Patch 23 on bank 129 (MSB 1, LSB 2) - note all values start at 0 and go to 127 CC 0 1 CC 32 2 PC 23 According to its Midi implementation chart the Vintage Keys only responds to CC 0 to 31 and on the footswitch CC 64 to 79 So if it will respond to a Bank Change message, perhaps it only listens to the CC0 MSB part of it. In MidiOx connect the MIDI-OX Event Port (left) on the Midi Port Routing Window (View / Port Routings) to interface connected to the E-mu (right) Open View / Control Panel Tick the boxes to the left of the MSB and LSB When you change the MSB value MidiOx will send a CC0 CC32 and PC message. So try.... Bank 1 patch 23 CC 0 1 CC 32 0 to 127 : anything PC 23 Bank 3 patch 12 CC 0 3 CC 32 0 to 127 : anything PC 12 etc See if this changes the bank. If it doesn't you might have to use system exclusive messages. All the best Royce
|
|
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #2 on: Apr 1st, 2019, 1:35am » |
Quote Modify
|
Hi Royce, thanks for the info. Just to clarify, I have the original 1990's 32voice Vkeys plus and not the newer 64voice 2000's module. I think there may be some minor differences between the two but maybe not the midi chart. I did try your suggestion with the control panel, and I am only able to change the patch number 0-127 nothing above that. selecting Bank Change MSB/LSB + patch number + send does nothing. Maybe have a look at the older manual pp108 Note.6 about preset data, the way the banks are arranged. The Vkeys display does not show bank #, it only shows patch from 000 - 511 as the dial is rotated but on that pp108 it mentions banks?, , I can't seem to understand it. thank you
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: How to send sysex for bank change
« Reply #3 on: Apr 1st, 2019, 8:30pm » |
Quote Modify
|
No. I think I did download the correct manual. Vintage Keys Classic Analog Keyboards F1047 Rev. C (C)1992 Is that the right one? The insides look very similar to my Morpheus , but that is from 1993 and mentions about the Bank setting in the Midi Spec. Checking with the Morpheus, it changes banks as follows... MSB LSB Bank 0 0 Preset 0 0 1 Preset 1 0 2 Hyper Preset 0 3 Card Patch Bank 0 4 Card Hyper Preset But comparing the two manuals it looks like Midi Bank Select weren't a thing for your synth. See page 21 "Preset change" refers to using the mapping function The Bank stuff you mention Page 108 is this System Exclusive (Sysex) What you could also do is set up a Preset Map which allows for the 128 presets selectable by Midi to select any preset inside the synth. So, for example, synth preset 182 can be selected when you send a Midi preset of 56. Although you still only get 128 selections, they can be any preset in the synth. See page 22-23 Both synths can use sysex to access all the presets (you need to set the Global parameter 259, page 112, and insert the patch number - that can be over 127 ). If you controller can send sysex let me know and I can show you how E-Mu sysex works. Sorry I can't help more. Royce
|
« Last Edit: Apr 1st, 2019, 8:35pm by Breath » |
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #4 on: Apr 2nd, 2019, 10:15am » |
Quote Modify
|
Call up presets 128~511 by combining SysEx and Program Changes: 128. Syn Bass 11: SysEx F0 18 0A 00 03 00 04 00 01 F7 followed by PrCh C0 00 256. Hmnd B3 23: SysEx F0 18 0A 00 03 00 04 00 02 F7 followed by PrCh C0 00 357. TronStrng 05: SysEx F0 18 0A 00 03 65 04 65 02 F7 followed by PrCh C0 65 Program numbers are usually shown as 1~128 on displays and DAWs. 1. Selected program 000 is mapped to 000 + (128 x 1) = 128 followed by program number 2. Selected program 000 is mapped to 000 + (128 x 2) = 256 followed by program number 3. Selected program 101 is mapped to 101 + (128 x 2) = 357 followed by program number
|
« Last Edit: Apr 2nd, 2019, 5:33pm by Sonus » |
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #5 on: Apr 2nd, 2019, 10:57am » |
Quote Modify
|
Royce: that is the correct manual, I was aware of the preset map, but I did not want to sacrifice 128 presets for another 128 presets. I'm not sure the Alesis Q49 can send sysex, it only has Bank MSB, Bank Lsb, CC # ,CC data and numeric 0-9, other than that I don't know what it can do. Sonus: thanks for replying, can you elaborate further on how to combine those commands? appreciate it, thank you
|
|
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #6 on: Apr 2nd, 2019, 7:26pm » |
Quote Modify
|
Sonus, I'm assuming that I can send the commands from the sysex commands from the sysex view window..right? sorry I'm not 100% sure how to do this. Also you said that the display will not change on the module, so only the sound will change..? so I would send the following (obviously one at a time) to change the patches; F0 18 0A 00 03 65 04 65 02 F7 C0 65 F0 18 0A 00 03 00 04 00 02 F7 C0 00 F0 18 0A 00 03 65 04 65 02 F7 C0 65 Also have another question about the instrument file in midiox, is there a way to load the Vkeys patch names into Midiox instead so I can compare the names with ones one the module? thanks again..
|
|
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #7 on: Apr 4th, 2019, 10:20am » |
Quote Modify
|
To create an instrument file, presets 000~511 should be split in four 000~127 banks. The VK doesn't support normal bank select so mapping through sysex is required. Anyway... presets should change on VK display if this code is working properly?
|
|
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #8 on: Apr 5th, 2019, 2:33am » |
Quote Modify
|
Sonus: Its kinda working, I send the Sysex command followed by PC but the patches are not to be contiguous ex. F0 18 0A 00 03 [00][04][00][02]F7 if I send C0 00 I get patch #256 on VK but if I send C0 01, then I get #001 on VK same for the 300 bank, C0 65 gets me 357 on the VK but C0 64 gets me #100 and C0 66 gets me patch #102. I guess I'm not really understanding pl,pm,vl,vm those values I put in brackets. Also my patches/presets are not matching with the original factory, I may have to reload the original but I don't want to mess up anything. I was also able to retrieve the instrument list and preset list from the VK, I don't know if they can be of any use at all with midiox? I was kinda hoping to read the list but its sysex.
|
|
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #9 on: Apr 6th, 2019, 6:00pm » |
Quote Modify
|
Every preset must have an appropriate combination: F0 18 0A 00 03 01 04 01 00 F7 C0 01 ... patch #001 F0 18 0A 00 03 01 04 01 01 F7 C0 01 ... patch #129 F0 18 0A 00 03 01 04 01 02 F7 C0 01 ... patch #257 F0 18 0A 00 03 01 04 01 03 F7 C0 01 ... patch #385 Thanks to EmuMania for VK and VK+ preset listings!
|
|
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #10 on: Apr 6th, 2019, 7:43pm » |
Quote Modify
|
Hi Sonus; Ok I figure out the combination of the hexadecimals to change all patches from 000-511 although I'm curious about the following as I get the same patch#357 with both commands. (I'm sure there are others, but haven't found them yet) 1)F0 18 0A 00 03 65 04 [65 02] F7 C0 65 2)F0 18 0A 00 03 01 04 [65 02] F7 C0 01 in fact what I found is that you can leave the PC to C0 01 for all of them and just change the preset value [Vl=Value lsb] and [Vm=Value msb] and still get all the patches/presets. Wow great!!, so I was hoping to figure out how to extract the list but yeah, thanks to EmuMania for the lists and you as well!! So, just put them into the midiox folder or is there more to it? Edit: Ooops! I guess not, those are sysex. How did you get the list?
|
« Last Edit: Apr 6th, 2019, 8:07pm by maxwell55 » |
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #11 on: Apr 7th, 2019, 4:00pm » |
Quote Modify
|
Hi, check your PM for a link and install the files... C:\Program Files (x86)\MIDIOX\Instr\VintageKeys.ins C:\Program Files (x86)\MIDIOX\Map\VK-Bank-1.oxm C:\Program Files (x86)\MIDIOX\Map\VK-Bank-2.oxm C:\Program Files (x86)\MIDIOX\Map\VK-Bank-3.oxm C:\Program Files (x86)\MIDIOX\Map\VK-Bank-4.oxm • MIDI Devices: Configure USB-MIDI input and output • Data Mapping: Load VK-Bank-3.oxm, Turn Map On, OK • Port Routing: Properties: Map File: VK-Bank-3.oxm • Instrument Panel: VintageKeys.ins • Instrument: Vintage Keys Plus • Bank: Vintage Keys Plus Bank 3 • Patch: Select 256~383 Q49 program changes should also select 256~383 ... of course if routed through VK-Bank-3.oxm
|
« Last Edit: Apr 8th, 2019, 1:22am by Sonus » |
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #12 on: Apr 7th, 2019, 7:54pm » |
Quote Modify
|
OMG!! Sonus THANK YOU SO MUCH!! for all of this. Is there a good tutorial somewhere on how to do this, I'd like to learn all of this as I may even tackle a roland mvs-1 as well.... later...much later.. but this is so interesting. I even searched on how to create the *.ins file but came up empty handed. There should be a conversion utility for this. Concerning the Q49, the manual does not mention how to access those patches and I even asked Alesis.. sometimes there are hidden combination keys which aren't listed, I only figured out 000-127 by using the bank msb,lsb and program key. thank you again.
|
|
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #13 on: Apr 8th, 2019, 12:00pm » |
Quote Modify
|
You're welcome! If you want more info, search for Cakewalk Instrument Definitions. There's no need to compile M-VS1.ins yourself, it's available online. http://www.lilchips.com/cakewalk.htm
|
|
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #14 on: Apr 8th, 2019, 9:26pm » |
Quote Modify
|
Sonus, the only thing I can't seem to configure is Port Routing: Properties: Map File: VK-Bank-3.oxm, I've copied all 4 map files in the midiox\map\ directory but it doesn't show up in the port routing properties Map file drop down. the only 2 files are _moxsysmap1.oxm and _moxsysmap2.oxm I don't know why..?? edit: never mind, I reloaded it again and the map came up. everything seems to be wokring.
|
« Last Edit: Apr 8th, 2019, 11:24pm by maxwell55 » |
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #15 on: Apr 9th, 2019, 10:00am » |
Quote Modify
|
Load .oxm in Options/Data Mapping before loading .oxm in Port Routing/Connection Properties. Apparently Connection Properties are not reloaded from a profile when starting MIDI-OX: PROFILE.INI [PortDataMaps] DataMap_Out1_MOX=VK-Bank-3.oxm ... maybe a bug? You can select patches from the Instrument Panel or from PC's numeric keypad if NumLock is ON. Activate the keyboard on the toolbar, while holding [Tab], enter NumPad 0~127, release [Tab]: VK-Bank-1.oxm: NumPad #44 selects patch 044 VK-Bank-2.oxm: NumPad #44 selects patch 172 VK-Bank-3.oxm: NumPad #44 selects patch 300 VK-Bank-4.oxm: NumPad #44 selects patch 428
|
|
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #16 on: Apr 10th, 2019, 4:13am » |
Quote Modify
|
Hi Sonus, so all the banks appear to be working fine. I also tested my [Q49]>[midiox] and I can change all 4 banks and presets 000-511 just fine it works as intended. When I tried my [Q49]>[VK], only bank1 presets respond, I tried [midiox]>[VK] and same thing only bank1 presets 000-127, I cannot get banks 2-3-4 to change from either midiox or the Q49. Am I missing something? is there anyway to further investigate whats going on? thx
|
|
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #17 on: Apr 10th, 2019, 12:10pm » |
Quote Modify
|
So the VK display doesn't match with the data in the monitor output? Check PM for VK-test.mid link ... Start MIDIBar (MB) and close MIDI-OX! Select MCI Port: USB MIDI interface. Load VK-test.mid and press start > Following numbers are sent on ch.1: 000, 128, 256, 384, 256, 128, 000.
|
|
IP Logged |
|
|
|
maxwell55
Member
 
 MIDI-OX Rules!
Gender: 
Posts: 14
|
 |
Re: How to send sysex for bank change
« Reply #18 on: Apr 10th, 2019, 8:42pm » |
Quote Modify
|
I successfully ran the vk test pgm several times and confirmed the number change on the VK display. I re-loaded the following files again; • Data Mapping: Load VK-Bank-3.oxm, Turn Map On, OK • Port Routing: Properties: Map File: VK-Bank-3.oxm went back to instrument panel, with Bank#1 /preset #000-127 the VK shows #256-383 with Bank#2 /preset #128-255 the VK shows #256-383 with Bank#3 /preset #256-383 the VK shows #256-383 with Bank#4 /preset #384-511 the VK shows #256-383 It seems like not even bank #1 is showing correctly (It does from Q49>midiox), and I repeated this test several times re-loading the above files, the USB interface driver and re-starting midiox every time. Although I can send the sysex commands manually and the VK responds with the appropriate presets from 000-511. To me it appears that the ID bytes in the ins file is sending are not correct because the MSB byte on the output window does not match with my sysex commands Bank1 - #000=(lsb=00,msb=00) to #127(lsb=7f,msb=00) Bank2 - #128=(lsb=00,msb=01) to #255(lsb=7f,msb=01) Bank3 - #256=(lsb=00,msb=02) to #383(lsb=7f,msb=02) Bank4 - #384=(lsb=00,msb=03) to #511(lsb=7f,msb=03) take a look
|
|
IP Logged |
|
|
|
Sonus
Member
 
 MIDI-OX Rules!
Posts: 78
|
 |
Re: How to send sysex for bank change
« Reply #19 on: Apr 11th, 2019, 2:00pm » |
Quote Modify
|
Thanks for the feedback, it should be clear, VK doesn't support bank select. Take a look at reply #9, Instrument Panel, Bank Select Method: --None-- Load VK-Bank-1.oxm before selecting instrument panel presets 000~127 Load VK-Bank-2.oxm before selecting instrument panel presets 128~255 Load VK-Bank-3.oxm before selecting instrument panel presets 256~383 Load VK-Bank-4.oxm before selecting instrument panel presets 384~511 You could assign loading to a different channel with a VK.pmi patch map. In this example maps are loaded by sending program changes on ch.16:
|
|
IP Logged |
|
|
|
|