natemccoy Posted April 7, 2008 Report Share Posted April 7, 2008 Is there a way to change the MIDIBox SID MIDI channel to something else than the default #1 without a control surface interface? i do not have a control surface but if there was some document that would explain how to change the midi channel by using midi cc or sysex commands that would be great. any help is appreciated. thank you. Quote Link to comment Share on other sites More sharing options...
TK. Posted April 7, 2008 Report Share Posted April 7, 2008 So long the SysEx editor is not finished, it only works with direct SysEx accesses, e.g. sent with the SysEx tool of MIDI-OxThe SysEx parameters are documented hereChanging the MIDI-Channel of SID1, Instrument 1:F0 00 00 7E 4B 00 06 70 00 10 00 00 F7 for Channel #1F0 00 00 7E 4B 00 06 70 00 10 01 00 F7 for Channel #2F0 00 00 7E 4B 00 06 70 00 10 02 00 F7 for Channel #3F0 00 00 7E 4B 00 06 70 00 10 03 00 F7 for Channel #4F0 00 00 7E 4B 00 06 70 00 10 04 00 F7 for Channel #5F0 00 00 7E 4B 00 06 70 00 10 05 00 F7 for Channel #6F0 00 00 7E 4B 00 06 70 00 10 06 00 F7 for Channel #7F0 00 00 7E 4B 00 06 70 00 10 07 00 F7 for Channel #8F0 00 00 7E 4B 00 06 70 00 10 08 00 F7 for Channel #9F0 00 00 7E 4B 00 06 70 00 10 09 00 F7 for Channel #10F0 00 00 7E 4B 00 06 70 00 10 0A 00 F7 for Channel #11F0 00 00 7E 4B 00 06 70 00 10 0B 00 F7 for Channel #12F0 00 00 7E 4B 00 06 70 00 10 0C 00 F7 for Channel #13F0 00 00 7E 4B 00 06 70 00 10 0D 00 F7 for Channel #14F0 00 00 7E 4B 00 06 70 00 10 0E 00 F7 for Channel #15F0 00 00 7E 4B 00 06 70 00 10 0F 00 F7 for Channel #16F0 00 00 7E 4B 00 06 70 00 10 00 10 F7 to disable instrumentBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 7, 2008 Author Report Share Posted April 7, 2008 ive tried pasting and sending multiple commands with MIDI-OX. it does not seem to change the midi channel setting at all. is there any other ideas? thank you very much. Quote Link to comment Share on other sites More sharing options...
TK. Posted April 7, 2008 Report Share Posted April 7, 2008 You have to send the SysEx command which matches with the MIDI channel you want to use, e.g. for MIDI Channel 3, send only:F0 00 00 7E 4B 00 06 70 00 10 02 00 F7and nothing else - don't send all commands I listed - I hope that you get the point ;)I assume that you are using the MBSID V2 firmware, for V1 it's different.If you expect more help, you need to specify some more details, because the method described above works fine at my side, and I doubt that anybody but me can help you on such excotic topics ;)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 8, 2008 Author Report Share Posted April 8, 2008 I guess i should be more thorough. ;) I opened midi-ox and navigated to the sysex console.i then proceeded to paste only one line of the specific channel i require which happens to be midi channel number six which corresponds to "F0 00 00 7E 4B 00 06 70 00 10 05 00" if i am not mistaken. i then click send sysex.On the LCD the Chn # is "1" and does not change...I proceeded to try and change it again with any other sysex commands on the list you provided.i choose channel #7 by pasting and sending "F0 00 00 7E 4B 00 06 70 00 10 06 00"the chan # stayed "1" on the LCD.I tried both times after sending the commands to play something on that specific channel with an external midi keyboard controller. they only responeded on channel 1, which seemed the obvious outcome.i can send and recieve sysex correctly from my boss dr-202, is there any other special settings i may need to configure in midi-ox with this purpose? Also, i am running mios v1.9f and using the software from the release "midibox_sid_v1_7303c"if there is any more information i can give that may help i would gladly write it, just let me know. thank you very much. Quote Link to comment Share on other sites More sharing options...
bugfight Posted April 8, 2008 Report Share Posted April 8, 2008 ...I assume that you are using the MBSID V2 firmware, for V1 it's different.......Also, i am running mios v1.9f and using the software from the release "midibox_sid_v1_7303c"...for v1 use (from midibox_sid_sysex_implementation.txt - included in midibox_sid_v1_7303c.zip) g) F0 00 00 7E 46 <device-number> 0D 02 00 <channel> F7 Change the MIDI channel Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 8, 2008 Author Report Share Posted April 8, 2008 oh great, thank you. i will try it ;Dok the results... i tried to send the command "F0 00 00 7E 46 00 0D 02 00 05 F7" but it does not change the channel, i assume the default device id is "00" and that "05" is representitive of midi channel 6. when i send this command it just changes the patch sound a little and not the midi channel. is there a different default device ID #? ??? ??? ??? Quote Link to comment Share on other sites More sharing options...
nILS Posted April 9, 2008 Report Share Posted April 9, 2008 When you send that sysex String to the core you should get a response from it. What is it? Quote Link to comment Share on other sites More sharing options...
TK. Posted April 9, 2008 Report Share Posted April 9, 2008 I noticed, that the document is incomplete, because meanwhile we can select the channels of all three oscillators seperately. The change will take place with the next patch change.Here the update: g) F0 00 00 7E 46 <device-number> 0D 02 00 <OSC1 channel> F7 F0 00 00 7E 46 <device-number> 0D 01 00 <OSC2 channel> F7 F0 00 00 7E 46 <device-number> 0D 00 00 <OSC3 channel> F7 Change the MIDI channel Value 00 (for Channel #1) .. 0F (for Channel #16) is expected. Note that the channels of the oscillators can be changed seperately. In normal cases, all channels should be set to the same value. The values are stored in EEPROM, accordingly there must be a delay of at least 5 mS between each SysEx command, otherwise data gets lost The change will take place with the next Patch selection. E.g., you could send a program change (e.g. C0 <patch>) after the SysEx commands. Example for configuring MIDI channel #16 on SID1: F0 00 00 7E 46 00 0D 02 00 0F F7 F0 00 00 7E 46 00 0D 01 00 0F F7 F0 00 00 7E 46 00 0D 00 00 0F F7 C0 00[/code]Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 10, 2008 Author Report Share Posted April 10, 2008 Ok so i tried exactly as specified for the three OSC's. here is the command which i sent.F0 00 00 7E 46 00 0D 02 00 05 F7F0 00 00 7E 46 00 0D 01 00 05 F7F0 00 00 7E 46 00 0D 00 00 05 F7C0 00it worked great and changed the MIDI channel to #6 just as i wanted but after shutting down the MBSID and restarting, the setting went back to the default of MIDI channel #1. Is there a command to write the changes to the EEPROM? is that possible?i would much rather it work on channel #6 by default, if not, i can do other things to make my setup work correctly. thank you guys so much for all the help. Quote Link to comment Share on other sites More sharing options...
bugfight Posted April 10, 2008 Report Share Posted April 10, 2008 iirc, changing the device ID will change the default midi channel.check out the change device id app... Quote Link to comment Share on other sites More sharing options...
TK. Posted April 10, 2008 Report Share Posted April 10, 2008 The MIDI channels are stored in EEPROM, but there is a sideeffect with the control surface handler. I assume, that you uploaded "setup_6581.hex" or "setup_8580.hex" instead of "setup_6581_without_cs.hex" or "setup_8580_without_cs.hex"The CS will load the MIDI channel selections of master and slaves from BankStick, and overrule the previously stored EEPROM settingsSolution: open cs_menu_bank.inc, search for "CS_MENU_BANK_RestoreCfg", and add " return" below this label(the spaces are important)S_MENU_BANK_RestoreCfg return[/code]Thereafter rebuild the .hex filesOr: upload a precompiled "*_without_cs.hex" variant (this will also disable the LCD, therefore the code modification is maybe the prefered solution)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 13, 2008 Author Report Share Posted April 13, 2008 The CS will load the MIDI channel selections of master and slaves from BankStick, and overrule the previously stored EEPROM settingsSo if i do not have a bankstick then this option will not work correct? Because i do not have one. I just want to clarify. i will try this once i have a working bankstick. thank you. Quote Link to comment Share on other sites More sharing options...
TK. Posted April 13, 2008 Report Share Posted April 13, 2008 I'm not sure if it depends on the BankStick. :/Here an approach which should work under all circumstances: instead of hassling with SysEx requests and functions which are overwriting the previously written value, just define the MIDI channel directly in the CS_MENU_BANK_RestoreCfg function, and you are done :)Code:S_MENU_BANK_RestoreCfg movlw 0x05 ;; for channel 6 movwf CS_MENU_SID_M_CHN ;; used as SID master MIDI channel return;;; rest of original code...[/code]Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 15, 2008 Author Report Share Posted April 15, 2008 just define the MIDI channel directly in the CS_MENU_BANK_RestoreCfg function, and you are done :)Best Regards, Thorsten.Ok i tried to do this exactly as you said. I think this is the best idea because it is permanent and i am not worried about changing it again. but i ran into some problems...i changed the cs_menu_bank.inc file to say this exactly as you specifiedi read the tutorial on http://www.ucapps.de/howto_tools_gpasm.htmli followed the instructionshere is the way the change looked in the "inc" file.CS_MENU_BANK_RestoreCfg movlw 0x05 ;; for channel 6 movwf CS_MENU_SID_M_CHN ;; used as SID master MIDI channel return but when i try to compile the code i get this error via command prompt."cs_menu_bank.inc:164:Error [113] Symbol not previously defined (CS_MENU_BANK_)."is there a place where i have not defined it? what should i do? i am no programmer but i am quite capable if lead in the right direction. is the syntax incorrect? i used tab once in the spots with the spaces.thank you very much. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted April 15, 2008 Report Share Posted April 15, 2008 Guessing by the original length of 160 lines, and your error at 164, that must be the very end of the file. Does it still look like this: return clrf CS_MENU_REINIT_CFG_CTR goto CS_MENU_BANK_RestoreCfg Note the empty line at the end. You need that. Seems like something's been diced off the end? Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 16, 2008 Author Report Share Posted April 16, 2008 i went over the syntax again and realized it was just missing one letter.i uploaded the new file and viola! it is on midi channel 6 by default.the problem now is when i write a patch to the internal memory it does not stay in memory.when i write a patch i works until i turn it off again. is this due to the syntax of the sysex being sent? do i have to change the patch so that it encompasses the midi channel as well?thanks, i am so close i can taste it! i really really am grateful! Quote Link to comment Share on other sites More sharing options...
natemccoy Posted April 16, 2008 Author Report Share Posted April 16, 2008 the problem now is when i write a patch to the internal memory it does not stay in memory.Actually i was wrong. the patch does stay in memory on power off but the name of the patch does not. it reverts back to the default name which is <new patch> or something like that...here is the code from "cs_menu_bank.inc" of "midibox_sid_v1_7303c";; -------------------------------------------------------------------------- ;; Restore channel and patch numbers from BankStick ;; (called after startup and BankStick exchange) ;; -------------------------------------------------------------------------- CS_MENU_BANK_RestoreCfg movlw 0x05 movwf CS_MENU_SID_M_CHN return clrf CS_MENU_SID CS_MENU_BANK_RestoreCfg_Loop BRA_IFCLR SID_BANKSTICK_STATUS, 0, ACCESS, CS_MENU_BANK_RestoreCfg_LoopNoBS ;; select first BankStick, verify off movlw 0x80 call MIOS_BANKSTICK_CtrlSet ;; rest of original code etc etc etc... even if the patch name doesnt stay i dont really care. just as long as it works on midi channel 6 or higher by default. so this is great! i got exactly what i needed. ive been making some new sounds and am really happy with the results. thanks everyone! :) ;) :D ;D :) ;) :D ;D Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.