Digitakt not sending bank select (patch works)

I’ve done some testing and bank select sure is one of those things were every manufacturer has done pretty much its own thing.

Roland D-05

When you change a patch using the buttons on the D-05 itself, it always sends a bank select. The D-05 never sends only a Program Change message, even if you choose a patch within the same bank.

When changing to P1-11, the D-05 sends:

0xB0, 0x00, 0x57  (bank number MSB)
0xB0, 0x20, 0x08  (bank number LSB)
0xC0, 0x00        (program change)

And when changing to U2-88, it sends:

0xB0, 0x00, 0x57  (bank number MSB)
0xB0, 0x20, 0x01  (bank number LSB)
0xC0, 0x3F        (program change)

Even though the preset banks come before the user banks on the hardware, the user banks are numbered before the preset banks in the bank number LSB.

What’s seems rather weird to me is that it sends a MSB with a fixed value. This means that using the full 0-16383 range according to the MIDI specifications, the U1-U8 and P1-P8 banks would be numbered something like 11136 - 11152 which seems inconvenient.

The Roland D-05 will still happily change banks when you leave out the MSB. This means that sending the following is equivalent to the examples above:

Instead of the above, you can also change to P1-11 on the D-05 by sending:

0xB0, 0x20, 0x08  (bank number LSB)
0xC0, 0x00        (program change)

And you can also change to U2-88 on the D-05 by sending:

0xB0, 0x20, 0x01  (bank number LSB)
0xC0, 0x3F        (program change)

However, when you try to perform a bank select with the MSB set to a different value, the D-05 will ignore any further program changes until you send a bank select with the MSB set to 0x57.

Pioneer Toriaz AS-1

When you change a patch using the knobs on the AS-1 itself, it always sends a bank select. The AS-1 never sends only a Program Change message.

When changing to U1 P1, the AS-1 sends:

0xB0, 0x20, 0x00  (bank number LSB)
0xC0, 0x00        (program change)

And when changing to F1 P99, the AS-1 sends:

0xB0, 0x20, 0x05  (bank number LSB)
0xC0, 0x62        (program change)

As you can see, the AS-1 leaves out the MSB entirely.

The AS-1 will still happily change banks when you include any MSB value. It just seems to simply ignore this completely.

Roland SE-02

I haven’t found a way to make the SE-02 send program changes, but I might be overlooking something obvious.

The SE-02 will respond to bank select, but it uses the value of the MSB to change banks and completely ignores the value of the LSB!

You can for example change to bank C, patch 3 by sending:

0xB0, 0x00, 0x02  (bank number MSB)
0xC0, 0x02        (program change)

The SE-02 will still happily change banks when you include any LSB value. It just seems to simply ignore this completely.

Summary

D-05: Requires LSB. MSB is optional, but must have the value 0x57 when included.
AS-1: Requires LSB. MSB is ignored when included.
SE-02: Requires MSB. LSB is ignored when included.

Given these results, I am now convinced that @PeterHanes suggestion to have two separate bank knobs, one for the MSB and one for the LSB, that can both be enabled and disabled independently is indeed the only way in which bank select can be made to work for everyone.

Something I forgot to mention before…

This thread contains something of a “workaround” that allows you to change banks on some external devices using a knob on the DT by setting up CC 32 for that knob.

This can be used for manual remote control, but it can not be used to change banks when changing patterns because the DT sends the program change before the CC that’s locked to the first step of the pattern (which is in itself sensible behavior, but not for bank selects…):

I sincerely hope this issue will be resolved in the DT update that @Ess announced yesterday. And if not, that Elektron is aware of the intricacies of the bank select issue and plans to fix it later.

The DT is a lot of fun for live perfomances, and it works really well as a quick MIDI sequencer for external gear for me, if only I could rely on that gear switching to the correct patch in the right bank when I change patterns.

With regard to using Note On messages with value zero, instead of using Note Off messages, this is more efficient and hence is adopted by most sequencing applications.

1 Like

thanks so much for sharing this.

It’s sold my bank change issues with various VSTs that I’m controlling from the digitakt.

Yes it might seem a bit of a backward step but I love having the digitakt as the hub and Ableton as the slave that is simply hosting my favorite VSTs.

Dream setup. Thanks again this is a massive problem solved

1 Like

You’re welcome! Exactly why I posted it. I always appreciate when others post the answers on their specific questions. Cheers!

1 Like

A post was merged into an existing topic: Midi bank change

I’m having this same issue, it looks like the Bank parameter on my Digitakt is not working with any of my gear in the way that it should. Diving through all these posts, it seems that Elektron is not conforming to the spec that other manufacturers are. Why don’t they change this? Has anyone gotten an answer?

The DT transmits Bank Select values from 1 - 128, but my Roland XV expects values in LSB/MSB format. Any ideas how to convert it?

1 Like

same problem with the JV-2080

@krunchr @jaw
You can set the DT’s MIDI parameters to send these messages.
On the AMP page, set one knob to MSB and one to LSB (I think these are CC 6 and 38 but you might need to double check this - they are actually labeled as MSb and LSB in the DT when you get to the right one so shouldn’t be too hard to find)
On the FILTER page, hold FUNC + press the encoders that match up with the ones you set on the AMP page, to enable them. Then set them to whatever MSb and LSB values your equipment needs.
Can’t comment on your specific equipment and you’ll probably need to mess with it some until you find the “magic numbers”
I had to do this to send program changes to the Roland MC-303, but one of the numbers was off by 1, I forget which, but say for example in the MC-303 manual it had something listed as “bank 1, sound 30”, I had to send like, bank 0, sound 30, or bank 1, sound 29, I forget which was off, but something was off. Also not sure if it was because of quirks in the MC-303 implementation or in the DT, or just a difference in approaches since decades have gone by :slight_smile:

Just last night I was experimenting with sending NRPN to my Micromonsta, that was even more tricky, but finally had success, so all the MSB/LSB/NRPN stuff is definitely possible

6 Likes

Solved it ! I was about to give up, and tried a last time to play with CC after reading your message, and finally found the right combination.
thx ! :smiley:

2 Likes

Hi guys,
On my Digi I send midi program changes to Minilogue - choose bank 1 and program 20 for example[SRC].
It works great when I choose presets 1-100, but when I try preset 101 I can’t because it stops changing on preset 100. I tried to switch bank to 2,3,… , but still can’t acces presets above 100 on my Minilogue;/
how idea what’s the problem?

Thanks!

If I remember correctly the digitakt has to send CC 32 to the minilogue (as well as program change as usual) to be able to select patches 100+

2 Likes

I believe that this is correct; if you send CC 32 with value 1 immediately before the Program Change message, the Minilogue should choose the correct program in the upper 100 locations.

Send CC 32 with value 0 immediately before a Program Change message to select a program in the lower 100 locations.

1 Like

14 posts were split to a new topic: Alesis NanoSynth problem

Thanks Peter! It works:)

1 Like

Just came here to figure out why my OTmk2 was not changing banks on my Deepmind12.
Would be nice if Elektron decided to fix this. It does appear most manufacturer’s correctly use the cc 32 setup. Not sure why Elektron chose the path they did but hope they decide to change.
Bummed I have to eat up a CC lane.

1 Like

I could find the following solution:

I am using an iConnect Midi 4+ as standalone midirouter between the devices.
In the Midi 4+ it is possible to patch CCs, so I have set a rule, from Digitakt Midi CC0 redirects to CC32. This still means that you have to turn both Bank Select and Program Change for something to happen, but the digitakt sends both information when loading or change patterns. Thus, the specified preset of the target device is called correctly.

3 Likes

Hi,

I am new to the digitakt and fell over this bank select problem with my yamaha digital piano DGX-650.
Took me hours to find out how to change to programs from different banks.

Here are my findings:

  1. To select a program from a bank with a bank select lsb other than 0 you have to set a knob to bsel lsb on the Amp page and then set the bank select lsb on the filter page.

  2. The bank select lsb seams to be sent only at start of the sequencer.
    Changing the value will have no effect until you restart the sequencer.

  3. When trying to use parameter lock for the bsel lsb it looks like that the value is sent AFTER the note with the parameter lock. This results in the note played with the old bank setting. The following note will reflect the bsel lsb change.

This results in the need of the following ugly workaround to change the program of a track to a program from another bank.

If you have a step free before the note which should use the new program, place a cc only trigger with a parameter lock for the bsel lsb for the next note. If the step preceeding the note is already used, do the parameter lock at the preceeding note. In both cases you have to parameter lock the program on the second note.

Interristingly, the note following the second note without parameter locked program and bsel lsb are played correctly with the sound defined for track so digitakt is able to send the program change messages in correkt order when switching back to the original sound of the track.

I think this is bug or at least a flaw in digitakt.
Fixing this however may break any patterns using this workaround
(playing the new sound on the preceeding note).
This may be the reason why elektron is carefully thinking on how to fix that.

An additional midi setup for bank select behavior broken/fixed :slight_smile: would be necessary, which is a bit emberassing.

So dear elektron developers, please fix it without breaking setups using this workaround for this problem.

If I am wrong or just missed something please tell me.

Regards
Stubs

3 Likes

I cant change banks from the Digitakt, just programs within whatever bank I choose in the AS-1. I just looked at the AS-1 manual and didnt fine anything about bank changes. Im clueless.