CC & PC for DR-880 drum machine

Status
Not open for further replies.

bossredman

Well-known member
Hi,

Been struggling for days now to get sent midi CC & PC msgs working on my Roland Dr-880 drum machine.

I'm sending them from my custom built Midi Foot Controller powered by a Teensy 3.6.

The midi implementaion documentation for the DR-880 says:
Control Change: Bank Select MSB
Status Second Third
BnH 00H mmH

n = MIDI Channel Number: 0H–FH (ch.1–ch.16)
mm = Upper byte in Bank Number:00H (preset) 01H (user)

Similarly for the Prgram change:
Status Second
CnH ppH

n = MIDI Channel Number:0H–FH (ch.1–ch.16)
pp = Program Number:00H–64H (prog.1–prog.100)

But cant seem to get this to work though using a MIDI.sendControlChange(....) or MIDI.sendProgramChange commands though.
eg: MIDI.sendControlChange(0xB9, 0x00, 0x15); MIDI.sendProgramChange(0xC9, 0x15);

I've just noticed that the midi library I'm using shows the syntax for a CC as:
sendControlChange(DataByte inControlNumber, DataByte inControlValue, Channel inChannel);

..which is essentially in reverse order.

Again the same for PC.

Simply reversing the byte order has no affect either.

Any idea how I can get this to work pls.

I know midi comms between my MFC & DR-880 are working as I can successfully send System RealTime msg's for Start & Stop which Start & Stop the DR-880.
 
Number, value, channel.

Channel is half the status byte... the other half is implied in calling for a CC message. So it's not reverse, it's just been separated from the status byte.
 
Number, value, channel.

Channel is half the status byte... the other half is implied in calling for a CC message. So it's not reverse, it's just been separated from the status byte.

Sorry not too clever on this midi stuff.
Sorry but could I trouble you for a sample command pls?
 
E.g. bank select:

MIDI.sendControlChange(0, bank, channel);


Where bank and channel are byte variables.

0 is the CC number for bank select. You can use hex but you don't have to.

Raw MIDI uses three bytes for for fields. The status byte is split into type and channel but in the libraries channel is split out as a separate parameter and comes last.

Only the generic read and send commands need the type as it is implicit in the specific commands.
 
Thanks mate... but I fear I may have been wasting my (& your) time.

I think I mis-interpreted "section 1 -Recieve data" & specifically the Change Control/Bank Select & ProgramChange sections to mean they coul dbe used to change the "Pattern" number.

It just dawned on me after reading it again for the 100th time, that these command refer to "Kits".

Argghhhhhh - literally wasted a week of my life trying to get something that couldn't work - to work.

Don't know if its a limitation of this particular old model of drum machine or not?
Do you know if Pattern Change is controlable on newer machines?
 
Status
Not open for further replies.
Back
Top