iceberg Posted October 14, 2005 Report Posted October 14, 2005 I'm looking at building a controller for 2-3 MC-303sHere is the deal, when the MCs are in module mode they have to be externaly sequenced and all functions are controled externaly. No biggie, for now I'm going to use a Yamaha RS7000 for sequencing as I'm mor interested in building a MB controler than a MB sequencer.The MC-303 uses NPRN MSB/LSB for most of the controls of the sound. This is what the manual has to say, and I dont undersand how this si suposed to be structure, all I understand is that these messages must be sent to the controler. H is designation for hex numbers which the will ALL be.NRPN MSB/LSC (Controller number 98, 99)[table][tr][td]STATUS[/td][td]2nd BYTE[/td][td]3rd Byte[/td][/tr][tr][td]BnH[/td][td]63H[/td][td]mmH[/td][/tr][tr][td]BnH[/td][td]62H[/td][td]llH[/td][/tr][/table]n = MIDI channelmm = upper bytell = lower byteand one example is the cutoff frequency:MSB: 01H LSB: 20H MSB: mmH TVF cutoff frequency (relative change on specified channel) mm: 0EH-40H-72HThat is pretty much taken from the midi implimentation part of the manual.I tried to set this up on my Emu XBoard25 but could not figure it out, the guys at Creative/EMU tried to help, but no luck. I figure that the XBoard isnt the best option and I will either return it or just use it for another instument. If someone could explain this to me, and what I may want to do as for as designing a MB64 controller I would appriciate it.If you want to look at the manual it is availablefrom roland, or I can send a jpg, but the pdf they send is pretty crappy quality to begin with so sending a jpeg of it may not be best but I will accomodateanyone wiling to help.Thanks in advance. Quote
TK. Posted October 14, 2005 Report Posted October 14, 2005 You could define a Meta event in mb64_meta.inc which sends the NRPN stream. Just remove everything below MB64_META_Handler and write:MB64_META_Handler ;; Example: Meta Event "F4 20" sends B>4< 63 01 62 >20< 26 vv movf MIDI_EVNT0, W ; extract MIDI channel andlw 0x0f iorlw 0xb0 ; send controller | MIDI channel call MIOS_MIDI_TxBufferPut movlw 0x63 ; NRPN MSB call MIOS_MIDI_TxBufferPut movlw 0x01 call MIOS_MIDI_TxBufferPut movlw 0x62 ; NRPN LSB (specified in Meta Event Entry) call MIOS_MIDI_TxBufferPut movf MIDI_EVNT1, W call MIOS_MIDI_TxBufferPut movlw 0x26 ; MSB Value (pot value) call MIOS_MIDI_TxBufferPut movf MIDI_EVNT_VALUE, W call MIOS_MIDI_TxBufferPut return[/code]Best Regards, Thorsten. Quote
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.