Jump to content

Recommended Posts

Posted

I'm looking at building a controller for 2-3 MC-303s

Here 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 channel

mm = upper byte

ll = lower byte

and one example is the cutoff frequency:

MSB: 01H    LSB: 20H        MSB: mmH      TVF cutoff frequency (relative change on specified channel) mm: 0EH-40H-72H

That 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.

Posted

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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...