Correct. Bank Select is literally a hack to extend the range of the Program Change message.
Not. Again, I prefer Elektron to resolve this issue properly, even for gear that has implemented bank select incorrectly, or that has an insane number of banks!
what he said (implying for other manufacturers’ devices)
if Elektron want to abuse the spec to fit their devices that’s their prerogative - you can’t just assume the functionality is there for all ‘standard’ usage cases
Elektron don’t use/support the ‘standard’ CC message for Pedal Sustain (and I’ve no issue with that)
Again - as I said in the first post - it needs an ‘intended use’ comment - and as I also said - I think if it’s for patch selection (w other non Elektron gear) then it’s not been done in a useful way
How old is the OT ?! These guys have had ample time to change such a simple ‘oversight’ - it’s a no-brainer in terms of coding - but it persists - I’ve just been suggesting, wait, to see if there’s a reason for that being that (less than ideal) way
– is it conceivable that the MSB message was adopted instead of the LSB message in error - yes - especially as it’s the first one you ‘see’ - is that case closed then - no
y’all are pouncing on my words like I’m trying to stop a fix - I’m just offering counter-thoughts and I’ve made my preference clear (CC32 would be more useful) and if I had a DT i’d certainly want that even more as the prg change messages are viable to use creatively
I think we can safely assume that on the Digitakt’s MIDI tracks the intended usage case of the BANK knob is indeed primarily patch changes on external synths.
Sorry to make you feel like that. I think our goal here is to make the issue as clear as possible in the hope that the development team at Elektron picks up on it and fixes things.
The goals was not to make you feel bad, and I was not under the impression that you were trying to stop a fix.
That’s how i’d use it all day - but maybe it’s legacy … for mapping Elektron patterns
Otherwise why have such a useless implementation in the OT - that’s certainly not useful for patch hopping - but it’s perhaps (slightly)better for re-mapping patterns if users don’t want to go ‘linear’ by allowing the prg change messages out in the global ‘sync’ menu (for all pattern changes)
There’s perhaps less justification for adopting CC0 to extend the pattern range (even if you never intended a device would send patch changes) … it might easily have been done with CC32 by default (but I only suggest that CC0 may be used as it’s less likely to do something on an external synth if you’d only envisaged using that bank/prg functionality to sync up your own products)
repeat point : i’d want the CC32 followed by Prg change message too - it may also be an error - but it’s not a given
I don’t feel bad - I’m just frustrated that there’s no flexibility in the insights offered - i’d be disappointed if Elektron said ‘it’s mainly for mapping patterns on our boxes’ but I (obviously) wouldn’t be surprised - you guys just don’t seem to entertain this is even feasible, no matter how unpalatable
being able to change bank/prg as advocated above (using 32) would be better (but I don’t know the interoperability implications with older Elektron boxes or why CC0 was chosen, assuming it was (and it may not be) chosen carefully)
to be fair - I don’t expect the Elektron guys will be able to indulge us here in any case - they’re just back from Namm , catching up and obviously shipping new gear etc
I would prefer Elektron to stick to the midi specs. Whats the point of having standards when manufactures do whatever they want? Imagine if they would do that with USB or HDMI or something. If you implement stuff that has a spec then stick to that spec.
The point of having the Bank Select and Program Change associated with the Part would be that the Part is like a “Kit” of settings for both the audio tracks and the MIDI tracks. Not having Program Change per step on the OT is a separate issue, especially now that there is Program Change per step on the DT and DN.
The idea of including Bank Select for changing patterns only seems improbable given that the OT is the only Elektron device that has more than 128 patterns (which can be all selected using PC, no need for BS).
If a manufacturer only considers syncing with its own products, it wouldn’t be paying attention to what was implemented on another manufacturer’s products.
The reason for that is the actual responses that we have received from Elektron that either say that it’s the other manufacturers who are doing it wrong (see post 25) or that there is a problem with their own implementation but no prediction for whether it will be corrected. To my knowledge, there hasn’t been any statement to say that implementing BS MSB only has any advantage.
Sending CC 32 only would have problems for the OT. My suggestion of being able to send both CC 0 and CC 32 (but to switch off one or both, in the same way that BS can be set to “Off” on the DT and DN) would be compatible with all Elektron gear and all other gear.
you’re missing the essence of the discussion entirely; it’s beyond specs, let’s just assume everyone understands specs - now let’s go beyond them and adapt solutions to the options available
should Elektron forego using CC38 (or whatever) just because it’s ‘meant’ to be for pedal sustain on the A4, no - they don’t want to use that feature so the CC is re-used for something of benefit to the owners (with potential misunderstandings, but it’s still a benefit)
it’s too easy to look at specs and be rigid - if company X want to shoehorn a feature into a device by misusing a MIDI command then so be it - so long as everyone understands what’s what - it’s not been done to trip folk up … there’s usually a reason for things that folk can’t/won’t see beyond in my experience, but that’s not to say there’s not an oversight here
we could have a discussion all day about whether people should be using the midi note off message as per the specs - but things have adapted to cater for the common usage of Note On Vel 0 and the spec may even acknowledge this - but it still pops up from time to time as an issue
we’re not berating anyone for not catering for Note Off messages . .specs are just part of the picture
I’m not advocating status quo, an alternative solution or debating the need/benefit of improvements … I’m just saying hold on with the 100% wrong judgements, case closed … it’s not yet clear whether there is any conceivable reason why the MSB value is used in preference to the alternatives we all agree would be more useful LSB or MSB/LSB and from my first post I haven’t discounted error, I’ve even tended a reason for the origin of it
perhaps I’ve just learned from my own black/white judgements before, it’s always best to consider all possibilities (greys) rather than being tram-lined by your own preconceptions/desires
I’ve said enough here in any case … if nothing else it’d be good to have an official word on this although it seems to have been made clear it’s a logged feature request already to have the all encompassing option … perhaps that’s what we have to work with (and the months/years of waiting) … there are quite a few logged issues/requests still outstanding, so I wouldn’t hold my breath although this would be an easy ‘fix’
Sorry, nuance wasn’t relevant for my point/post
My thinking when it comes to standards is binary. Either you follow the spec or your don’t.
But I understand it’s more nuanced, just wanted to add my 2 cents. Thats what forums are for right?
The MIDI specification is about the interoperability of devices.
The problem for the subject of this topic, based on the replies we have received, is that we can’t assume that the decision-making part of Elektron on this matter does understand the MIDI specifications for transmission of Bank Select.
The official word that you cited here says “Mininova expects CC 32 and not Bank Select” which is further illustration that Elektron’s misunderstanding is the cause of the problem.
Regarding the handling of incoming messages, that’s up to Elektron to decide. If they choose not to implement a feature in a specification, and break convention for their own instrument, so be it.
The problem here is that the outgoing Bank Select message feature is implemented, but not implemented correctly.
That’s exactly the point! A transmitter that implements “Note On at zero velocity” for Note Off is confirming to the MIDI spec and a receiver that does not respond appropriately to this is harming interoperability.
Using Control Change message numbers below 120 for purposes other than those listed in https://www.midi.org/specifications/item/table-3-control-change-messages-data-bytes-2 is not in violation of the MIDI specification. The specification does recommend that “the manufacturer informs their users of the fact that a device is using non-standard controller assignments”.
There are a lot of undefined and general purpose CC numbers available, so in almost all cases there’s really very little need for what you describe in your example.
The MIDI specification has always clearly and explicitly stated that a Note On message with velocity 0 is equivalent to a Note Off message.
In general, I think a lot of confusion regarding MIDI comes from assumptions people make based on their personal experience with their own setup. Reading the specifications can really help understand why things work in a certain way, and how some things can be done in more than one way.
And indeed the guidelines on this very forum
I’ve done some testing and bank select sure is one of those things were every manufacturer has done pretty much its own thing.
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.
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.
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.
Digitakt & Blofeld (multi mode) MIDI
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.
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
You’re welcome! Exactly why I posted it. I always appreciate when others post the answers on their specific questions. Cheers!
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?