Korg Drumlogue Instrument Definition

VERSION 1 # Currently, this should only be 1.



# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL

TRACKNAME Drumlogue 



# Can be POLY, DRUM, MPE, or NULL

TYPE DRUM



# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL

OUTPORT A



# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI

OUTCHAN 1



# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL

INPORT NULL



# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG

INCHAN NULL



# This defines the default 'MAX RATE' for automation lanes.

# Can be NULL, 192, 96, 64, 48, 32, 24, 16, 12, 8, 6, 4, 3, 2, 1

MAXRATE NULL



# DRUMLANES

# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME

# ROW must be between 1 and 8

# TRIG can be between 0 and 127, or NULL

# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL

# NOTENUMBER can be between 0 and 127, or NULL

# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL

# Please note this section will be discarded for tracks which are not DRUM tracks

[DRUMLANES]

1:NULL:1:36 Kick

2:NULL:1:40 Snare

3:NULL:1:42 Hat closed

4:NULL:1:46 Hat open

5:NULL:1:45 Low Tom

6:NULL:1:50 Hi Tom

7:NULL:1:55 Noise

8:NULL:1:53 Shaker

[/DRUMLANES]





# PC

# Syntax: NUMBER NAME

# number must be either:

#   - A number (for simple PC)

#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.

# PC must be between 1...128

# MSB/LSB must be between 0...127

[PC]

[/PC]





# CC

# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME

# DEFAULT_VALUE must be a valid number between 0 and 127

[CC]

[/CC]





# NRPN

# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"

# Lsb & msb should be between 0 and 127

  # Note: LSB can be over 127 ONLY if MSB is 0 or omitted

  # e.g. '0:1026:7 FOO', or ':2000:7 BAR' 

  # the examples above would be equivalent to '8:2:7 FOO' and '15:80:7 BAR' respectively

# DEPTH can be 7 or 14

# For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)

[NRPN]

[/NRPN]





# ASSIGN

# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE

# POT_NUMBER must be between 1 and 8

# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).

# Non explicitly-defined pots will be considered "NULL"

# VALUE VALIDATION

#### For CC: Value must be a valid number between 0 and 119

#### For PB and AT, any text after the TYPE will be ignored

#### For CV, value must be between 1 and 4

#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14

# DEFAULT VALUE

#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127

#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383

#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)

#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"

#### Please note default value will be ignored for PB and AT messages.

[ASSIGN]

[/ASSIGN]





# AUTOMATION

# Syntax: TYPE:VALUE

# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"

# VALUE VALIDATION

#### For CC: Value must be a valid number between 0 and 119

#### For PB and AT, any text after the TYPE will be ignored

#### For CV, value must be between 1 and 4

#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14

# NOTE: You are limited to 64 automation lanes

[AUTOMATION]

[/AUTOMATION]





# This section will be readable from Hapax.

[COMMENT]

Korg Drumlogue 

[/COMMENT]

Definition for Korg Drumlogue
Use this as a starting point. I kept the snare and lost the clap. haha… anyway, the definition loaded and works for me.

will add CCs and stuff as I learn the instrument.

1 Like

Thanks for this!
Did you ever update it with CCs?

Otherwise I’m about to do that so will post results once i’ve tested it a bit.

1 Like

No, I never did. I sort of hit a brick wall when I found out how bad the CC implementation was in Drumlogues midi spec. I prefer to just leave my settings alone until I can get both a mixer for the Drumlogue (Oto Bebe Cherie) to drive the sounds and provide the compression and oomf the Drumlogue needs and insert pedals to really push the channels.

Anyway if you can extend the file please do.

Funny you mention that,

I just opened up the drumlogue midi implementation chart and was incredibly disappointed. I’m not sure why I should be surprised, but I always am so let down by the way CCs are implemented.

The biggest annoyance (and one that applies to the drumlogue), is that parameters that already have physical knobs on the device get repeated by including midi CCs, but then parameters that are only available deep in the menu, always get left off the MIDI implementation chart. Ehhh…

In particular I was planning to add a midi controller to allow me to control the deeper instrument parameters like sweep, attack, filter cut/res, reverb send, delay send.
There are a few parameters that help (eg the actual reverb/delay controls), but basically I am still left with a half-assed drum machine that requires menu diving. As someone who is almost 100% only interested in live improv performance, this is so frustrating.

I guess I’ll keep writing the def, but severely disappointed. The same reason I got rid of the TR-8S essentially. With the TR8S I even went so far as to decipher the sysex messages in the hopes that one day I could put together a midi controller->sysex parameter solution, but it just got put in the too hard/too expensive basket… Same issue with the MC707 (Roland is a repeat offender).

One of the options I haven’t exhausted yet is the MPC One (new MPC OS). The midi controller assignments for that were incredibly bugged out and would cause crashing if you tried to control multiple tracks with a single midi controller, but I’m going to give it another shot now that MPC OS 3 beta is out, hoping they’ve tightened things up.

Anyway, I’ll let you know… I’ve written out the CCs I just need to test and ideally add the automation lines to the template as well, as it takes forever to add dozens of automation lanes every time I load up a template.

Word… total agreement. They hobbled it by not allowing the fx to be externally controlled. And the side chain option… doesn’t work… alas I like its sound I just want more loudness out of it. Especially the hats they get swallowed up in the mix.

The sidechain seems to work a little bit, but I think the level coming into the comp (compared to the level of the instrument coming out of the device), the threshold, the envelopes and the actual quality of the kick combine to there being very little that can be achieved without destroying the sound. The other issue I had with sidechain is this:
If you assign BD to an individual output, it doesn’t automatically cut the instrument from the main stereo mix. So then you have to enable the ‘mute’ for that instrument to stop it going to the main stereo mix. But then if you enable that mute, it also mutes the signal from reaching the sidechain input lol. So you have to mix with sidechain comp all internally, lose use of the individual outs, and then because there’s a comp taking up the master fx slot, you don’t have any master eq/etc.

The ext audio input is also really noisy too, so if you input say synths that you also want to sidechain, the end result is if there’s ever relative silence, the noise floor ends up +being very audible.

Anyway, side-quest rant over lol. If I had a dollar for every time the MIDI implementation has let me down, I’d have enough cash to design and manufacture my own hardware.

I know right?

1 Like

Using this as a plausible origin story from now on :eyes:

3 Likes