How to get MIDI OUT on new v4 kit? [SOLVED!]

I’ve searched the wiki and forum, and there seems to be no reference to using hardware MIDI out at all, which is odd. Is it supported yet?

I’ve tried using the MIDI Thru LV2 plugin and setting its routing to hardware MIDI out, as well as using the 4x4 sequencer. Both cases, I’m able to get Zynthian synth layers to respond to the relevant MIDI data, but the routing to the DIN out doesn’t seem to happen.

I get occasional errors, but nothing consistent. The most interesting was " Aug 08 07:42:29 zynthian startx[489]: ERROR:zynthian_gui_layer.add_to_midichain: Error chaining MIDI tool (‘NoneType’ object has no attribute ‘get_midi_jackname’)"

If it had been consistent, it would seem like a smoking gun.

Also, I’m on the (default) v3 pro hardware kit, since every time I try switching to v4 in the webconfig, it 500s.

More so than it ever got supported on the Nord Modular :smiley:

It’s not received much ( probably any) attention that I’m aware of. I’ve used the MIDI DIN as a destination remotely over qmidinet but not really in anger. Just a mental check box that you can do that.
I could hang some external synth on it and give it a whirl, but it’s not doing that that lead me to zynth in the first place.

Sorry these are lots of excuses really.

Does the MIDI recorder pick it up if suitably routed? that would at least allow a certain degree of post mortem.

The MIDI test in the Admin menu squirts data out of MIDI Out. Try that.

1 Like

Very little gets routed to MIDI output. I would suggest as a first step would be to add MIDI output routing to each layer similar to the audio routing. Someone may wish to submit a feature request.

Pedantically, the only thing that should be going out of MIDI out is midi originating on the zynth. That would be the Step Sequencer. Or maybe the qmidi arp. Anything else would be MIDI Thru. Although the Atari ST had MIDI Thru and Out on the same din, so we could probably do the same.

And keep a MIDI panic switch handy…:smiley:

All MIDI output from the ZynMidiRouter (processed MIDI stream) goes to MIDI-OUT. In such a way you can use the native zynthian’s MIDI filter for processing MIDI streams.
Also, if you create a MIDI effects layer, the layer’s output should go to MIDI-OUT by default, although you can change the routing.

Regards,

It may also be useful to be able to send encoder values to MIDI output.

1 Like

I would also really like the zynthian to be able to send midi out over USB; currently I’m using a dedicated Midi cable for that (zynthian: midi out, hardware synth: midi in) as I couldn’t get USB Midi to work bi-directionally, I could do away with as my hardware synth supports midi in over usb.
Midi in over usb from hardware synth to zynthian works.
Trying to simplify my setup to the bare minimum, 1 cable at a time :slight_smile:

Zynthian is perfectly capable of sending MIDI over USB. Simply configure the MIDI-OUTs from the webconf UI’s MIDI options -> [advanced view] -> MIDI ports

I just added this to the wiki’s documentation:

https://wiki.zynthian.org/index.php/Configuration_Users_Guide

Regards,

1 Like

Ah, great. Indeed, my device was listed there and I could enable the MIDI out over USB.
Thank you! One more cable that I can remove :slight_smile:

I don’t understand the need for the asymmetry though.
I could see that my synth was already automatically preconfigured on USB MIDI-IN, but the configuration was not enabled on USB MIDI out.
It seems that the connection is autoconfigured for USB MIDI in but not USB MIDI out ? It seems more plug and play if this could be done automagically (and most importantly: without the need for a computer via the webconfig…). Probably a stupid question :slight_smile:

My simplified Setup is now the following:
Hardware Synth – USB (Midi in/Midi out/Power) -> Zynthian USB
Hardware Synth – Audio out -> Zynthian Audio In.
Midi Keyboard – USB (Midi out/Power) -> Zynthian USB
Zynthian (Audio out L+R) -> Amplifier.
Zynthian (Power) -> Raspberry Pi Official Power Supply -> Wall socket.

That’s down to 6 cables :slight_smile:

The Zynthian is the only thing of these 3 devices that is powered (both the synth and keyboard only sip power) through the standard 5V/3A power supply.

I already dispensed with an effects box (the TAL effects seem ok) and a USB interface, and a computer for recording.
I really hope that this could work self-sufficiently without actually needing a DAW or computer for recreational sound exploration most of the time :slightly_smiling_face:

I was able to give the external synth a layer on the Zynthian by using the Audio FX Gain 2x2, and managing audio effects via the layer’s context menu. I believe that is the current recommended way ?
It’s not very clear how to manage MIDI Effects on the external synth: I’ve tried via a new Top Level Midi-FX layer connected to it, sending MIDI to the synth’s channel )?

Sorry for the obvious questions.

Kind regards,

Almost all MIDI-USB devices have input ports, including controllers and keyboards, but you don’t want to send back a stream of MIDI to them. It’s a waste of resources and it can cause problems with some devices. As it’s difficult to know when a device is a true MIDI consumer and you want to send the MIDI output to it, the best options is that the user do this selection. Perhaps it could be improved in the future … although it’s not a priority :wink:

I can’t imagine a better way … :wink:

External KB/Seq => MIDI Input => Zynthian MIDI FX layer => MIDI Output => External Synth

Tips:

  • Depending the way you use MIDI channels, you may like to enable/disable the Single Channel Mode
  • Take a look to “Layer Options => MIDI Routing”

Regards,

Wow, lots of activity while I slept! Gonna check more things soon, but the MIDI test definitely isn’t sending to the DIN MIDI. Might need to crack the case and check that LED, since I think the docs said it or the jumper are required. That could be it.

Yes the led is part of the current loop. The jumper is there to resolve the absence of an LED

The MIDI out and thru wont work without an LED unless JP1&2 are shorted. Since we are using it in led mode, the only other options are the LED is wired in reverse, bad or bad connection.

Ya, I installed all the LEDs the same orientation and checked that twice (I turned LEDs into SEDs too much as a kid to not be careful about that!) but I could have a cold solder joint. (I wasn’t getting good connection with the headers so I just soldered).

Okay, the connection and polarity is good. Tested across JP1 and JP2 and I can light the MIDI-OUT LED (suspect channel) and MIDI-THRU LED (known-good) with the same polarity from my meter.

What would I check next? Everything in this thread (webconf showing MIDI-OUT configured default, etc.) is as it apparently should be.

Also, since I don’t know this software stack, I don’t know what’s helpful/obvious for me to go through as a checklist, so if you just want to give me a to-do list and tell me not to bother the forum until I’ve checked everything, that’s totally ok.

So the only consistent error messages in my logs are:

Aug 08 08:19:01 zynthian startx[531]: lilv_world_load_bundle(): error: Error reading file:///zynthian/zynthian-plugins/lv2/Surge.lv2/manifest.ttl
Aug 08 08:19:04 zynthian startx[531]: ERROR: PatternManager failed to open file for load /zynthian/zynthian-my-data/sequences/patterns.zynseq
Aug 08 18:50:02 zynthian startx[531]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN!

I wrote them off to normal logspam, since I haven’t looked at or used any plugin called surge, haven’t used the main step seq, and audio is fine so I haven’t tried figuring out if the jack xrun is anything to worry about. Could any of these three be causing MIDI OUT issues?

Not that I mind listening to Take 5 over and over again against different dexed patches, but I’d love to get the midi out of the back too! :smiley:

Edit: I think this really must be the smoking gun. I tested the following:

  1. MIDI Test -> Dexed layer, worked, but was not copied to MIDI OUT
  2. MIDI Test -> MIDI recorder, worked, but ditto
  3. MIDI recorder (playback) -> Dexed layer, worked, but ditto
  4. Add MIDI Thru layer, hung for several seconds and gave this error:

Aug 08 19:05:33 zynthian startx[531]: ERROR:zynthian_gui_layer.add_to_midichain: Error chaining MIDI tool (‘NoneType’ object has no attribute ‘get_midi_jackname’)

I think this means my jack config doesn’t know about the MIDI OUT?

Edit 2: Trying to change MIDI routing to “Hardware MIDI Out” for the MIDI Thru layer causes an indefinite hang, with no error messages logged to webconf.

Might be worth burning a new image. I lost the din midi on one image and it took another burn to get it alive again. The other option is the iodetect utility which will show you the actual state of the io pins

1 Like
root@zynthian:~# iodetect
-bash: iodetect: command not found
root@zynthian:~#

Or is it something in webconf? I’m not seeing it in there.

EDIT:

Because this is a new account, I can’t send any more replies today, apparently. I hope you see this edit!

Here you go! If you don’t see anything obvious to you, I’ll re-burn.

root@zynthian:~# gpio readall
 +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 | ALT0 | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 | ALT0 | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 0 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 1 | 11 || 12 | 1 | ALT0 | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |  OUT | 1 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 1 | OUT  | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI | ALT0 | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO | ALT0 | 0 | 21 || 22 | 1 | OUT  | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK | ALT0 | 0 | 23 || 24 | 1 | OUT  | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | OUT  | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 | ALT0 | 1 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | ALT0 | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | ALT0 | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+