Digitakt not sending bank select (patch works)

I tried again using these exact steps, and it works!
It’s not as convenient as I had hoped, and it eats up one of your 8 cc’s, but it’s certainly better than nothing!
You seem to be pretty knowledgeable about how various synths respond to the Elektron way of sending program changes, have you got a list somewhere of synths that do or don’t respond well to it?
Not that I’m looking to buy a synth specifically to solve this issue, but it would be helpful to know for future purchases.

2 Likes

I’m glad that the workaround works for you.

Sadly, I don’t have time to keep a list. Out of my gear, only a Mutable Instruments Shruthi-1 and (partially) some Korg gear respond to the CC 0 message that OT and DT send.

EDIT: add Alesis NanoSynth and Roland SE-02 to this short list.

In my experience, Alesis, Clavia, DSI, Emu, Moog, Novation, Roland, Waldorf, and Yamaha instruments require CC 32 for Bank Select.

You can look at the MIDI implementation chart for any instrument to see whether it uses CC 0, CC 32, or both, for Bank Select.

I encourage anyone who would like the OT or DT to have a different behaviour to write a support ticket to Elektron.

2 Likes

That list of companies that don’t work with OT or DT looks pretty damning. They’re not exactly smalltime, boutique manufacturers!
I’ll submit a ticket, and hope anyone else that works with external synths on their OT or DT does the same.

1 Like

So I am having the same issue with the Deepmind 12. When you say send CC# 32 followed by a program change what does that actually look like on the Digitakt? Do I have a step where CC#32 is P locked so it switches the bank or is there mpre I need to do? For instance I want to switch patterns and when I do have the digitakt switch to a specific deepmind 12 bank/patch.

Could you briefly provide the steps for how I might achieve this? New to this level of midi stuff on hardware and would greatly appreciate some help!

I have neither the DT nor the DM12 so you may need someone else to give you a specific step-by-step, especially regarding the DM12.

You have a few options, which may or may not meet your needs:

The simplest way to have the DM12’s patch change when the DT changes pattern is to enable PROG CH SEND in the DT’s SETTINGS > MIDI CONFIG > SYNC menu and to send the PROG CH SEND CHANNEL number to match the MIDI channel number of the DM12. The new patch number on the DM12 will exactly match the new pattern number on the DT, which means that you would have to put the relevant DM12 patches in the right patch locations. This may not be ideal.

(I will update this post or write again with some other options when I have time later.)

1 Like

Thank you! Figured it out!

1 Like

Great! Do post your solution if you can in case it will help other people in the same situation.

A user on the Gearslutz Deemind12 thread provided the solution.

“In the SRC page, leave Bank empty (X). P-lock PROG for your Trigs with the respective Program number.
For the Bank switch, go to the AMP page and use BSEL LSB (32) for e.g. SEL1.
Go to the FLTR page and P-lock VAL1 with the Bank number (0=A, 1=B, etc.).”

I had everything but the leave bank an empty X set up so that is finally what did the trick!

5 Likes

Can someone help me please. I have an Access Virus and Digitakt works fine with the Bank select and sound select knobs. But when I try to change the bank of my SH-32 after switching the bank, I try to chose a sound and then the screen on the SH-32 displays three lines - - - and the sound cuts out. I have no idea what this means. I have to press the value button on the SH in order to bring up the Bank and sound numbers. then the sounds play again. I can scroll through the sounds with the value knob on the Digitakt but as soon as I fiddle with the bank knob and then back to the sound value knob it glitches out. - - -

This is the same problem as discussed above. The Digitakt does not send the correct Bank Select message for the SH-32.

The fiddly workarounds listed above may also work for the SH-32.

1 Like

I never got an email for this, but apparently they answered:

Hi, Have you tried using CC32 instead? The Mininova expects this instead of the regular Bank Change method. https://d2xhy469pqj8rc.cloudfront.net/sites/default/files/novation/downloads/9558/mininova-midi-implementation.pdf Regards, Simon M

Sadly, this makes it seem like the problem lies with Novation (and Acces, Behringer, Alesis, Clavia, DSI, Emu, Moog, Roland, Waldorf, Yamaha, etc), and it completely clears them of any responsibility.

Really, their only responsibility is that it works across elektron devices as those are the only devices they produce. Yes, a lot of other synths send bank change differently than the elektron OT and DT but by the many replies in the thread there is a functioning way to make everything play nicely together.
Just my thoughts

Elektron can choose how to handle program changes however they like, but I don’t like how they’ve implemented it at all. It’s just a source of problems, and forces everyone to have to use an awkward workaround when using the DT/OT with popular Roland, Novation, Berhinger, etc. gear.

I see zero benefit in the way Elektron chose to implement this feature. Sadly, this seems like one of those things that will never be improved because it’s not even considered an issue to them.

3 Likes

I don’t know whether what you quoted is an official response from the developers at Elektron. Whatever the source, it is contrary to the actual MIDI specification, which states:

Control Change numbers 00H and 20H are defined as the Bank Select message. 00H is the MSB and 20H is the LSB for a total of 14 bits. This allows 16,384 banks to be specified. The transmitter must transmit the MSB and LSB as a pair …

Both Octatrack and Digitakt fail to do this. The implementation of the Bank Select by all the other manufacturers listed above is correct. It’s a great shame that Elektron doesn’t recognize this, not least because the problem should be easily rectifiable within the UI constraints of the two instruments.

1 Like

It’s an official reply. I’ve told them to look in this thread, but they clearly didn’t bother.
I’ve received another reply to a request for at least a setting to make it work for non-Elektron devices:

1 Like

Another reply:


I’ve only cut off the name, because there was a whole thing about privacy on here a while back.

1 Like

So, at least the issue is on their feature request issue, even if the message you received does not quite acknowledge the actual details of the MIDI specification. Let’s hope they can get to it at some point.

2 Likes

Thanks for pointing to this thread for the MIDI patch bank issue. I would really like to see my SH-32 operate at its full potential while switching tracks on my DT. Hopefully they will be able to generate a quick fix and implement that into the next big OS update = )

Please Elektronites!

Just ran into this issue as well and it’s indeed rather annoying. The current behavior of the DT is clearly not following the MIDI specifications.

I just submitted the following ticket and I strongly urge anyone who has the same problem to submit a ticket as well. Feel free to use the same explanation, but make sure to only include references to synths you actually have tested with yourself:

Subject: MIDI Bank Select implementation is incomplete and doesn’t work with a lot of synths

It looks like the MIDI Bank Select implementation on the Digitakt doesn’t comply with the MIDI specifications. As a result, bank select doesn’t work with most synthesizers that support it.

I’ve tested bank select from the Digitakt with a Roland/Studio Electronics SE-02, a Roland D-05, and a Pioneer Toriaz AS-1 and it does not work from the Digitakt with any of these synths. On the Roland D-05, trying to do bank select even results in subsequent program change messages no longer working.

I can successfully perform bank selects on all these devices from other gear and from my computer by sending the correct sequence of MIDI messages according to the MIDI specifications.

 

If you’d allow me, I would like to first describe how MIDI Bank Select should be performed according to the MIDI specifications.

A bank select should always consist of two Control Change messages followed by a Program Change message. The Control Change messages select the bank number (0 to 16383), while the Program Change message then selects the program number (0 to 127) within that bank.

The control numbers for the Program Change messages are 00 and 32 respectively. CC 00 is used for the MSB (Most Significant Byte) and CC 32 for the LSB (Least Significant Byte) of the bank number.

Please note that a bank select must include both the MSB and the LSB sent using two Control Change messages (CC 00 and CC 32), even when the LSB is always zero because the receiving device doesn’t have more than 127 banks.

Also note that a bank select is not complete unless it also includes a Program Change message (sending a Program Change on its own is of course perfectly fine).

As an example, a complete bank select for program 13 in bank 3 should consist of the following 3 MIDI messages in sequence:

  1. Control Change message with control number 00 and value 00
  2. Control Change message with control number 32 and value 02
  3. Program Change message with value 12

 

Let me now describe the current behavior of the Digitakt:

When you turn the “BANK” knob (after enabling it), the Digitakt sends a MIDI Control Change message with control number 00 and the value the knob is changed to.

This means that the Digitakt does the following things incorrectly when the “BANK” knob is turned:

  • It only sends the MSB of the bank number.
  • It does not include a Program Change message.

When you change patterns to a pattern where the “BANK” knob is enabled, the Digitakt sends a MIDI Control Change message with control number 00 and the value the knob is set to, followed by a Program Change message with the value the “PROG” knob is set to.

This means that the Digitakt does the following thing incorrectly when patterns are changed:

  • It only sends the MSB of the bank number.

 

I would like to suggest the following changes to the behavior of the Digitakt to bring it in line with the MIDI specifications:

When the “BANK” knob is turned:

  • Always send both the MSB (CC 00) and the LSB (CC 32) of the bank number.
  • Always follow with a Program Change message.

When patterns are changed:

  • Always send both the MSB (CC 00) and the LSB (CC 32) of the bank number.

Personally, I don’t think it’s needed to extend the range of the “BANK” knob beyond 127. A benefit of not changing the range of the knob might be that the LSB (CC 32) can be hardcoded with a value of zero.

2 Likes

It appears that some manufacturers have implemented bank select incorrectly, and that Elektron has followed that incorrect implementation because bank select behaves a little differently from CC messages in general.

On page 13 of the “MIDI 1.0 Detailed Specification 4.2” (page 45 of the “The Complete MIDI 1.0 Detailed Specification” PDF you can download from http://midi.org) the correct behavior for bank select is described in detail:

Bank Select is a special controller. […]

Control Change numbers 00H and 20H are defined as the Bank Select message. 00H is the MSB and 20H is the LSB for a total of 14 bits. […]

The transmitter must transmit the MSB and LSB as a pair, and the Program Change must be sent immediately after the Bank Select pair. If their [sic] is any delay between these messages and they are passed through a merging device (which may insert another message) the message may be interpreted incorrectly. […]

What’s confusing is that the same document earlier states that with CC messages in general, you can simply leave out the LSB to get 128 steps of resolution without also mentioning that bank select is a special case that always requires both the LSB, MSB, and the Program Change message in that order.

2 Likes