Sending CC's and NRPN's from DT to DN


#1

I’m seeing some cases where sending NPRN’s from the Digitakt to the Digitone works fine, but sending the equivalent CC’s does not. It’s probably something I don’t understand about CC’s.

Filter: release time cc73 works and nprn MSB 1 and LSB 19 work.
Filter: filter frequency cc23 and cc55 works and nprn MSB 1 and LSB 29 work
Delay: delay time cc15 and cc47 does not work however, nprn MSB 2 and LSB 10 work
Filter: env depth cc77 does not work, however nprn MSB 1 and LSB 23 work fine.

Also on page 80 of the manual: Combined, Pitch All has the same NPRN MSB 1 and LSB 23 as Filter, Env Depth. There are several other parameters that have the same NPRN. That’s confusing me.


#2

Are you sure you use the latest version of the manual (from the Elektron site)? NPRN 1/23 is listed only for Filter Env. Depth. I see also no other multiple usages of the same NPRNs.

Filter env. depth is listed as CC MSB 25 and CC LSB 57 (not CC 77 as you wrote).


#3

Thanks, that helped solve a lot of confusion. However, I still think there’s some wierd-ness with the CC’s in the Digitone MIDI implementation table.

For example, the Trig parameter Root has a CC msb of 3, and so does Chorus depth. Same thing with msb CC’s 13 and 14. They are assigned to both the Filter trig and LFO trig, as well as delay send and reverb send.

The NPRN numbers all appear to be independent. The ones I’ve tested so far appear to work properly.

Thanks!


#4

I’m not completely sure, but I think it’s related to how 14-bit CCs are handled. For 14-bit values it cannot set each value (MSB and LSB) separately, but needs to wait for the next message after an MSB message and check if it is the corresponding LSB message. If it is, it combines both values into a 14-bit value and then finally sets it (otherwise you would get unwanted inbetween values).

This makes it possible to use the same CC MSB for two controls (one 7-bit control and one 14-bit control).

CC 3 has an MSB-only variant (Trig Root) and a second one with an additional CC LSB 35 (Chorus Depth).

So when the receiver waits for the next message after a CC 3 it can decide if it is Trig Root (7-bit) or Chorus Depth (14-bit).

CC 13 and 14 are similar: each has a 7-bit and an 14-bit variant addressing different controls.

Of course there is some timeout involved, so the receiver doesn’t wait “forever” if no next message ever arrives :wink:

(since it was decades ago I’ve done midi programming there is some guess work included here)