RK-004 MIDI Implementation

The ACI port on the RK-004 allows you to set parameters via an audio signal so you don’t actually need to have a computer around to change it’s settings. However, it’s sort of a fallback. If you are a MIDI crack, there is a complete MIDI System Exclusive set available to change and read the RK-004’s parameters. Below is an explanation of the available commands.

Click here to download the full RK004 manual.

RK-004 MIDI System Exclusive Parameters
----------- 
SysEx Format: 
F0 00 21 23 00 04   F7 

- each command will be acknowledged with a response from the 004. 
-  are 7-bit packed: 7 bytes of 7-bit data is prequelled by a byte containing the MSBs 

SETPARAM_REQ 
F0 00 21 23 00 04 03 00   F7 

SETPARAM_RSP 
F0 00 21 23 00 04 43 00   F7 

GETPARAM_REQ 
F0 00 21 23 00 04 04 00  F7 

GETPARAM_RSP 
F0 00 21 23 00 04 43 00   F7 

FACTORY_RESET_REQ 
F0 00 21 23 00 04 05 F7 

FACTORY_RESET_RSP 
F0 00 21 23 00 04 45 F7 

COMMIT_PARAMS_REQ 
F0 00 21 23 00 04 07 F7 

COMMIT_PARAMS_RSP 
F0 00 21 23 00 04 47 F7 

PARAMS: 
--------- 
NOTE: Params can be set at any time, but are *NOT* stored in internal memory, until 'COMMIT_PARAMS_REQ' has been sent 

  0 [0x00] SYNCIN_MODE             	(not used yet) 
  1 [0x01] SYNCIN_PPSN             	pulses per sixteenth note for sync-in 

  4 [0x04] SYNCOUT_MODE            	sync-out mode: 0=POS_SHORT, 1=NEG_SHORT, 2=POS_LONG, 3=NEG_LONG, >=64:BattSynth 
  5 [0x05] SYNCOUT_PPSN            	pulses per sixteenth note for sync-out 

  8 [0x08] DIN1_MODE                	0=SYNCOUT_POS_SHORT
					1=SYNCOUT_NEG_SHORT
					2=SYNCOUT_POS_LONG
					3=SYNCOUT_NEG_LONG
					4=MIDI_AUTO
					5=MIDI_IN
					6=MIDI_OUT
					[email protected] (DIN1 only)
					[email protected] (DIN1 only)

  9 [0x09] DIN2_MODE 
 10 [0x0A] DIN3_MODE
 11 [0x0B] DIN4_MODE 
 12 [0x0C] DIN5_MODE 
 13 [0x0D] DIN6_MODE 
 14 [0x0E] DIN7_MODE 

 16 [0x10] DIN1_PPSN                	pulses per sixteenth note 
 17 [0x11] DIN2_PPSN 
 18 [0x12] DIN3_PPSN 
 19 [0x13] DIN4_PPSN 
 20 [0x14] DIN5_PPSN 
 21 [0x15] DIN6_PPSN 
 22 [0x16] DIN7_PPSN 

EXAMPLE: Set SYNCOUT_PPSN = 6    (=5, =6) 

SETPARAM_REQ: 
F0 00 21 23 00 04 03 00 05 06 F7 
\_______________/  |  |  |  | 
   Retrokits       |  |  |  +--- paramval 
   RK004           |  |  +------ paramnr (5) SYNCOUT_PPSN 
   header          |  +--------- MSBs 
                   +------------ CMD = (3) SETPARAM_REQ 


SETPARAM_RESPONSE: 
F0 00 21 23 00 04 43 00 05 06 F7 
\_______________/  |  |  |  | 
   Retrokits       |  |  |  +--- paramval 
   RK004           |  |  +------ paramnr (5) SYNCOUT_PPSN 
   header          |  +--------- MSBs 
                   +------------ RSP = (43) SETPARAM_RSP 

FLOW CONTROL 
-------------- 
Especially when operating the RK-004 on the full-duplex uart port running at 38400bps, there is a realistic chance of overflowing the connection. 
Therefore the RK-004 emits XON/XOFF messages in order to flow-control the connection: 

XON  = 0xF9 
XOFF = 0xFD 
Both messages are 'undefined' in MIDI, and therefore are to be used solely for in-band flow-control.