Send Midi CC+PrgCH?

Hi @zynthianers!

I just pushed into Vangelis an alternate implementation for this, using pure python and the internal zynthian router MIDI functions. It’s called “MIDI Control External” and you will find it in:

MIDI Tool → Others → MIDI Control External

As its name says, it ONLY works with external devices. If you route MIDI from this processor to internal ports it simply wont work.

  • It sends “MSB Bank + Program change” by using the zynthian’s bank/preset mechanism.
  • It has an “almost full” list of CCs with standard names. This could be modified. It’s just a PoC.

Note this simple “processor” could be used as a template for easily creating specific/custom controllers for specific external devices. This is cool :wink:

Update and test, please (in Vangelis!)

Enjoy!

6 Likes

Don’t you just love competition! Between us we should hone in on a sweet spot that supports most of our users. :smile:

3 Likes

Just as long as I can run the betting…

Great work just tested Midi CCsend.
External synths in my studio everything works as it should MidiCC and PrgCH .
Ostirus in multimode can also be controlled.
Select different presets on all 16 midi channels and control them via different Midi CC .

Great

1 Like

We’d love to hear an example…

I just tried this with my VZ-1 and observed a (possibly undesirable) effect: Scrolling with the Program Change control results in all PC messages being sent which can be slowly interpreted by the receiver. If I scroll quickly my VZ-1 takes a while to change all those programs before settling.

Not to be outdone, I have pushed a change to my plugin to add common CC names. (Thanks for the idea @jofemodo. Sharing is caring!)

I can’t see how to send program change from MIDI Control External. Will you please explain @jofemodo?

2 Likes

I can say that plugins significantly advance the capabilities of Zynthian.

I tried both:

  • MIDI Control External
  • Midi CCsend

Both work great with USB devices.

But unfortunately no midi signal is getting to the RTP-MIDI output. Can someone else please confirm this independently?

Select bank/preset, darling :wink:
If you select bank “None”, then no bank change message is sent.
Currently only bank MSB is supported. Using LSB is overkill and complicates everything. Anyway, you can always do it from the CC#32.

1 Like

RTP-MIDI and other MIDI network protocols are managed as external devices, so they should work with “MIDI Control External”. Is the RTP-MIDI service running normally? I will check ASAP.

Regards,

With all this MIDI development would it be useful to update the relevant block diagrams in the wiki whilst the discussion is current?

I have to admit, I have always used only RTP-midi in the direction of midi data flowing to Zynthian. I have verified this and this direction works for me.

It is sending the wrong data.

Selecting Preset 9, MIDI Control External is sending:

b1 00 ff
c1 09 00

The first message is a bank select to bank 255 which is not required and seems erroneous but my synth ignores this.
The second message is the requested program change to program 9 but then the extra 0 is interpreted as program change 0 because of running status.

So I see the patch change briefly (to patch 9) and then immediately return to patch 0.

I did that at first but was requested to provide MSB & LSB so I did. :stuck_out_tongue:

I tested my plugin with qmidinet and that worked. I don’t have rtpmidi working on my LAN so can’t currently test but @wyleu had some fun with it recently.

Can confirm this, it always jumps back to the first preset.
Bank select works externally, preset selection unfortunately does not.
Tested with Tubohm Jeannie and Behringer Deepmind.

What bank did you select? What would be the expected behavior? :wink:

Bank = None gives Bank = FF.
That is less of an issue for me (although it may affect others). It is the extra zero on the end of the program change command that breaks it.

I prefer my plugin at the moment. Not just because it works :stuck_out_tongue: but also because it places the controls where you want them, directly under the encoders. You can chose which CC is sent from which encoder and you can easily select program and bank (MSB & LSB).

But I am not the boss, nor am I the audience. Let the judging commence… :smile:

1 Like

Oy let’s keep it civil…

OK! This is fixed.

This needs a little bit of work in the zyncoder library.

Regards