MKII: Unexpected behavior on program change and bank select


#1

There is a little about it in the manual, here are a few finding I did with my particular configuration. I used MIDI Monitor for tracking.

Configuration:

Octatrack MKII 1.30c.
All audio track midi channels are OFF.
Audio CC out: Int
Audio Note out: Int
Prog Ch Send: OFF
OT controls a few MIDI synths.

  1. At power on OT sends PC message 0 on the PC Channel if set to a particular number. Certainly unexpected because I explicitly turned it off.
  2. If the PC Channel is AUTO, at power on OT sends PC message 0 on the highest MIDI channel from the configured MIDI track. For instance if you have configured MIDI tracks 1 and 5 to send PC, it will send on channel 5. Completely unexpected and potentially very disruptive. Fortunately it is overwritten by the subsequent PC for the loaded part but it may not be always so.
  3. If nothing is set on MIDI tracks, OT sends PC 0 on channel 1.
  4. The same behavior is at turning OFF. And here the things get really scary. Imagine you just found that sound on your three synths working together but did not save the patches. You turn the OT on and that sound is gone. What’s worse, after an inspirational jam at 3am you switch the OT off and at least one sound is lost unless you never use channel 1 for PC and never switch programs from OT.
  5. Bank select uses only CC0. Some synths react only to CC32 (with CC0 set to 0), so for them MIDI track settings are useless.
  6. Finally, the way the patterns send the PC is weird. Each pattern just sends its number as a PC on the track’s MIDI channel. I see very few practical uses of this.

What I’d like to see is the ability to send both bank select (coarse and fine) and PC messages as parameter locks on any MIDI channel from any MIDI track. Thus I could switch programs on one track at the opportune time from any other track.


#2

PC / Bank implementation is bad on OT.
An option to disable PC send should exist.
You can send CC32 but you have to send it before, so at the end of the pattern.
It is better on DT and MD.

My workaround is a midi processor, mapping a chosen CC to PC.


#3

You may know this, but just in case…

-Note that the send/receive pc and pc channel in the options are only for sending pc on pattern change typically for syncing other elektrons to follow the same pattern number, and that the midi tracks pc behave separately and should work on their specific midi channel, not the pc channel in the options.

-The channel behavior may have something to do with this:
CHANNEL sets which channel the Octatrack should send program change messages on. The LEVEL knob is used to change this setting. If AUTO is chosen the first MIDI channel used by the audio tracks, and not used by any of the MIDI tracks, will be used. If a MIDI channel is set, the program change message will be transmitted on that channel.

But your description doesn’t match up so it does seem weird, and with PC send off in options it shouldn’t be sending one anyway, it should only send the ones activated from the midi tracks. :thinking:

I will say that I’ve had midi channel specific pc work from midi tracks, and I have never noticed unwanted pc changes happening, but I am on mk1 1.25H, maybe there’s a bug?


#4

Yes, I realize now that OT is not good for the specific workflow of changing patches on the fly (but what is?). But it should not send any PC on any MIDI channel if this setting is OFF. Neither at power on, nor at power off. Seems like a bug to me.


#5

I’m made some tests. No PC sent for me if nothing selected. 1.30B OS

When turned on it seems to send bank and PC twice, for each track, crossfader position, sometimes Stop, sometimes FF (system reset). So if you set several tracks with PCs and CCs, you can send a lot off midid messages when you turn on or load a project.

New project,
Action / Setting > messages received with a midi monitor :

Tun off > FC (Stop)

Turn on > B0 30 00 (Control Change 48 value 0 = crossfader position)

Set midi track 1, chan 1, bank 1, PC 1, 2xSTOP >
B0 7B 00 (Control Change = all notes off)
B0 00 00 (Control Change 0 = bank 0)
C0 00 (Program Change = 0)

Turn off > F8 (Timing Clock)

Turn on > FF (System Reset)
B0 00 00 (Control Change bank)
C0 00 (Program Change)
B1 30 00 (Control Change Xfader)
B0 00 00 (Control Change)
C0 00 (Program Change)

Set midi track 2, chan 2, Bank 1, PC 1, turn off > F8 (Timing Clock)

Turn on > B0 00 00 (Control Change)
C0 00 (Program Change)
B1 00 01 (Control Change)
C1 01 (Program Change)
B2 30 00 (Control Change)
B0 00 00 (Control Change)
C0 00 (Program Change)
B1 00 01 (Control Change)
C1 01 (Program Change)


#6

What is good ?
Digitakt, Machinedrum, OT with midi processor, MPCs (not Live !), Yamaha QY100, old sequencers in general…


#7

Did you switch all audio track MIDI channels OFF?

Just checked with the default audio track MIDI channels 1-8 - no change. Still sending PC 0 at power on and power off.


#8

This is a problem on both Octatrack and Digitakt. We don’t know definitively, but it appears to stem from Elektron misunderstanding the MIDI spec for the Bank Select message.

Agreed. The only way to get this done is to send a feature request to Elektron: e-mail feature-request@elektron.se

The use for this is for synchronized changes of pattern across any connected sequencer device.


#9

It’s a design decision, as explained by a previous poster. Automatic send of Program Change when a pattern change occurs is provided to enable synchronized change of pattern on multiple sequencers; this aspect is controlled by the setting in the PROJECT menu.

Sending a Program Change message from a MIDI sequencer track when a pattern linked to another Part is activated is a separate function. If you don’t want it, don’t switch it on in the MIDI sequencer track. Here the stored Bank and Program number is part of the Part. Think of the Part as storing a “kit” comprising the audio track parameters and the Bank and Program on the external gear.


#10

… and Monomachine.


#11

Does not seem to be controlled well enough. Even when it’s OFF, it is sending PC 0 on MIDI channel 1 at power-on and power-off (!). The whole thing makes patch management on non-Elektron gear very awkward.


#12

What do you have set on your MIDI tracks?

If you have program assignments here they will transmit separately of the changes based on pattern.


#13

Nothing.
If I set anything, it transmits the PCs correctly two times at the power-on. PC 0 is still transmitted regardless, only on a different channel.


#14

No I started with a new project. I wrote what settings I made for tests. Maybe you can try again with new project.


#15

It’s a good idea, I’ll start with a new project and report back.


#16

Yup.

Can send an essentially arbitrary (within the confines of what MIDI can handle) number of messages, including sysex and polyphonic aftertouch, per step on the MPC2000xl. Midi editing in general is about as sophisticated on it as most DAWs (not counting event processing that DAWs include now, just sequencing), it just only has a per-step event viewer instead of a piano roll, but all the functionality is there. On that front, Electron sequencers don’t even come close but they don’t have to, they are a completely different kind of sequencer for a different purpose, and for that - being a performance-oriented x0x style multitrack sequencer, they are fantastic and make it easy to do all sorts of stuff that’s either cumbersome or impossible to do in real time on an older model MPC, but you’re not going to have much luck sequencing an orchestral style film score on it or anything like that (which you could definitely do on an older MPC or similar).

Different tools for different jobs.


#17

I tried it with a new project. At power on it sends PC 0 and CC48 0 (crossfader) on channel 1. The Prog Ch Send is off by default. So if you have a synth reacting to PC on channel one, you will be scratching your head, where your favorite patch has gone.


#18

Weird. MkII problem? 1.30C problem?
Support ticket?


#19

A ticket has been submitted and the issue confirmed (partially).


#20

MkII only ?
Anyway it would need improvements for both.