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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...