Midi out to external instruments

Problem

Not getting Midi output to external hardware instruments using Zynthian.

  • I’m using the light Zynthian ORAM build (most recently stable) on a Pi 3 B+.

  • I dont intend on using virtual instruments. I’m primarily interested in the sequencer.

  • I’m currently using a common USB to Midi interface cable (to external midi instruments with 5 pin din ports).

I’ve done the menu dive in Zynthian. This includes the Admin menu and selecting midi output device. The device is recognised for input and output. I’ve started a new midi chain to all the correct midi ch#. I’ve tried midi tests. No go. I’ve tried playing the Zynseq, no go.

No midi message outputs occuring.

Any help would be appreciated. Thanks in advance

Adding a MIDI chain and configure that to the MIDI output you are wanting to address, is required, and it works here.

How uptodate is your Pi3?

Note that you can select ALL MIDI channels for MIDI chains.

Regards

1 Like

The Pi 3 B+ is a few years old, but it’s running the Zynthian Oram light build pretty well. As my operations only require midi sequencing to external instruments, the demand on the CPU is light, and the OS is stable.

  • I added a midi instrument chain to the mixer, and selected the USB midi output device. (Still no go).
1 Like

You need to add a MIDI chain, not an Instrument chain.

  • Go to main menu
  • Add MIDI Chain
  • Select “None” for the plugin (to create an empty MIDI chain)
  • Select “ALL MIDI CHANNELS”
  • Bold SELECT on the chain to show the chain menu
  • Select “MIDI Out” to show the MIDI Out menu
  • Enable each MIDI output you want to send MIDI data to, e.g. “DIN-5 MIDI”

Now sequencer MIDI data will be sent to those MIDI outputs.

1 Like

I’ve identified the outstanding issue. It appears this Zynthian Build only outputs to USB based hardware midi devices. Despite recognising USB-5PIN interfaces. Anything involving Midi out to 5PIN, via an adapter cable and no go (despite recognition of the said device). I have tried a number of Midi-2-USB cables and confirmed this. I’ve also confirmed this, using a number of instruments that accept USB, vs those that only accept 5 pin. So only natively USB midi devices are playing the Midi output from Zynthian.

As a long term user of synthesizers and sequencers, I have a list of suggestions when evaluating this OS.

  • Having a midi track sequencer vs mere pattern sequencing would go a long way in its utility. I would hope to be able to compose more than Berlin House Music with a sequencer. The workflow seems designed around this genre and this is clearly evidenced by the inability to stretch a midi note for the span of 4 bars (to hold a note in a pattern sequence). If one seeks, therefore, a long seamless pad synth across the 4 bars, one is required to chain a row of notes across the pattern, which interferes with the velocity structure of a composition (undesirably so).

  • Crash caution. If I try to include a 2nd instance of a Midi Chain directed to Midi Ch#1 (full system crash occurs with a perpetual load screen, with no hope of recovery). Hard reboot only option. This is unacceptable. A number of midi chains should have the potential to be routed to the same midi Ch#.

  • When in mixer mode, I would hope to be able to click on the ch# and find routing options from the sequencer. At its potential, this would include a pattern block builder to construct more complete compositions. So the sequence blocks A1,A2,A3,A4… etc can be discretely arranged in non-linear sequential progression (in the same box where it says no processors). A midi chain, as implied, would be capable of linking A1,A2,B3,B4,A1,A5,… and so on in whatever order the composer requires. But there are no such parameters on this screen. In fact there are no parameters on this screen unless I assume a virtual instrument is loaded.

This solution would help somewhat (failing a full track piano-roll sequencer) since there’s no point duplicating Midi sequence data, when it can be efficiently referenced.

  • When in mixer mode, and loading a midi chain, we get a matrix of unused boxes which don’t appear to do anything unless a virtual instrument is loaded.

I hope this feedback is useful and its intention is not to denigrate what is achieved so far.

Hi @Yan! Thanks for the feedback. I haven’t understood some of it.

If there is a bug then please use webconf’s “Report Issue” button to raise a support ticket. It provides a template so that you can provide a good fault description and we have a better chance of diagnosing the problem.

No, zynthian can output to any recognised MIDI device. You need to give a more detailed description of the configuration and workflow. Using the webconf “Report Issue” button is a good way to report such issues.

We have the Arranger which allows multiple tracks within each sequence and multiple patterns on the timeline. We avoid building a full DAW but this is similar to what you describe.

I can’t reproduce (or maybe I do not understand) most of your other feeback. You have not said what version of zynthian you are running.

The sequencer is not perfect but does have a lot of functionality. We are improving it and all feedback is very welcome. We have spent some time improving the short single pattern based sequencing that you describe but want to improve other workflows too.

2 Likes

Perhaps reading the user’s guide could be a good starting point to know the full capabilities of the zynseq:

ZynSeq User Guide - ZynthianWiki

Regards,

This shouldn’t happen. Please, could you tell us the software and hardware version you are using? We would also need the detailed steps to reproduce the issue.

Perhaps you could open an issue ticket in out tracking system. it’s the best way to report this kind of issues:

Thanks

I just tested sending MIDI output to:

  • zynthian’s hardware DIN-5 output
  • USB to MIDI DIN-5 adapter

Both worked fine. I was able to play from a connected MIDI keyboard (either setting the MIDI channel of the chain to match that of the external synth or setting to ALL and setting the external synth to the same channel as the MIDI keyboard). I was also able to send from sequencer to the external MIDI synth over hardware DIN-5 MIDI.

1 Like

Thankyou. I will try your suggestions again. I haven’t worked out how to use webconf yet. Currently I’m using paragon to access the OS files from my SD card reader.

I have used many workflows over the years.

I would have to say, in no uncertain terms, the best hardware performance sequencer workflow I experienced was with the Roland MC-909. This includes superiority over their later releases, and, has even more inspiring workflow than a Left to Right DAW. So, I see some sense in departing from the usual left to right formalism for DAW workflow, as they can be somewhat un-inspiring. I do like the potential here, with zynthian, using the mixer as the main workflow screen. Like a groovebox.

I think the add midi chains is good.

Workflow should ideally be based around this mixing screen, requiring the least amount of touch operations (minimising having to click back to main, go to sequencer, and jumping in and out of screens and the menu - and an arranger ? I couldn’t find one on this build. The build I’m using (Oram stamped within the last month) has something called a ‘midi recorder’, but its function is unclear as to whether its purpose is to record midi, or replay it ? This generates a bit of anxiety. Am I unintentionally recording over an important midi file that I was hoping to simply replay ? Ouch.

If we’re going to record track length midi, allow at least a record button on the mixer screen for each chain, so we know which chains or channels the cc is being recorded to. Tempo options should be on the mixer screen also. Metronome is expendable. Any sequencer sith worth his salt, puts a reference beat down.

Clicking onto the mixer fader (Chain) one should have midi composition first and foremost. Whether this is done arranging the A1…etc blocks. Or unlimited track length recording. In the adjacent seemingly empty dialog boxes, priority should be given to midi pan as well midi keyshift and/or midi transpose. A midi note transpose can be as useful as an eq in many mixer environments. Take a melody, for instance, and sweep it all the way down to a bass, or sub-bass line. There’s a way to use midi to boost or cut the bass…boost mids… I regard these as essential.

As for the weirdest and coolest sequencers I’ve ever used, 2nd to the MC-909 is the Kawai K5000W. It had a function to convert any recorded pattern sequence into a music style or genre called the APG (Auto Phrase Generator). In fact, it was a rudimentary midi-AI in this regard. Its midi composer has the most simplistic fully fledged daw on a 5 inch screen. To quantize, or not to quantize. That’s philosophy btw, not Shakespeare. Philosophy that the Berlin House Advisory Board and the Techno Vikings will grapple with I imagine.

The manuals of these specific sequencers is well worth a looking into.

Kawai K5000 manual p.19
MC-909 manual

Btw, in later iterations, this Zynthian could potentially outdo the MC-909. Which is still king of the hardware sequencers. After all these years. Its greatest shortcoming was having only the 8 faders on the mixer (in conjunction with a toggle for the 9-16 midi tracks - especially since percussion tracks are customarily sequenced to ch#s 10 - 16). Toggle toggle toggle… ouch. Sequencer anxiety.

The Dark Lord of all Grooveboxes would be the full 16 fader MC-909.

We kind of let MIDI limitations limit ourselves. It seemed a sensible approach.

To define debate: What kind of display would you like to see in the MIDI chain mixer view that would be as relevant as our superb current audio metering?

Not in mixer view.

When clicking into a chain, theres a screen of empty boxes. Prev》next》etc. Its the screen that says “no processors”.

Notwithstanding Midi record should be available from the mixing screen itself so the user can select the chains or tracks they’re recording midi to (which could be multiple).

User should be able to click into the chain screen and see the midi arrangement. Or at least, the list of pattern sequence A1,A2, … etc, on loop…

Bpm shpuld be on the mixing screen itself also. Infact, all transport controls should be on the mixing screen. Including a record button, which corresponds to the armed tracks for recording midi.

I imagine this would also be the case for audio, but that’s outside of my evaluation atm. I’m only evaluating the sequencer, and the utility of the zynthian as a groovebox/ sequencer.

The mixer is the main (home) view with the faders, etc. If you press the button at the bottom of the mixer strip you are taken to the control view. This shows pages of controls for the processors in the chain. If you add an empty audio or MIDI chain then the control page will be empty because there are not processors and hence no processor controls. If you add processors to a MIDI chain then this screen will be populated. It is not unused space, just available space. :wink:

It may be beneficial for your to give your feedback in the context of workflow rather than screen layout/design, e.g. “It may be beneficial to have direct access to adjust tempo from mixer view”. This helps to differentiate between what a user wants/needs to do and how they personally imagine it might be implemented. This can help us to help you understand what is already implemented and why and also to guide future development of design to support workflows. Our initial idea for a solution may be suboptimal and all design needs to be considered holistically.

Your suggestions seem to be trying to cram a lot into a small space. We already do this so it becomes increasingly challenging to fit even more in. We try to design for workflows so that users can do their work most efficiently but there are hundreds of different users with different workflows so meeting them all is a challenge and we developers are the first to admit that we get it wrong… quite a lot! We aspire to do better so all feedback is very welcome.

You haven’t described your hardware build so we don’t know what physical UI you have. (Knobs, buttons, touch, mouse, etc.) It seems that you are giving feedback for a touch-only device. As you can read in the wiki user guide, there are three main physical UI we design the software to work with:

  • V5: 5" capacitive touchscreen, 4 encoderswith switches, 20 RGB buttons
  • V4: 3.5" resistive touchscreen, 4 encoders with switches
  • Touch: 5" or larger touch only ((preferably capacitive or use a stylus to get sufficient accuracy)

The documentation for each may be selected by clicking on the relevant option in the top right of the wiki user guide.
image

The code has developed over many years, primarily targeting V4 and later, V5. Touch generally had a poor implementation until Oram when we spent a lot of time improving this so that you can do (almost) everything from touch but there remain some features that are easier with the knobs and switches. We try to maintain some consistency between the different physical UI to allow users to switch between them, e.g. I want to be able to use my touch-only zynth then move to my V5 without having to relearn how to use it. There may be workflows that could be implemented very differently on touch but we avoid too much of that deviation. We do have some implemented, e.g. swipe and pinch gestures are used in some places.

We also have integration of external hardware controllers such as MIDI, OSC, HID, etc. This allows users to bind hardware controllers to zynthian actions so for example, if you want a knob on your MIDI controller to always be able to adjust main volume then you can map it. This expands the control options and may reduce the need for such control on the main view.

Whilst writing this response I tried mapping MIDI CC to tempo and realised I couldn’t so raised a ticket in the issue tracker. This is a great way to get things looked at.

Do remember that zynthian is many things to many people and we need to design it to work best for the most. Sometimes individual workflows may be suboptimal due to them conflicting with the more popular workflows but we try hard to help everyone do what they want/need as best they can - so keep the ideas coming. :smile:

3 Likes

Having the ability to stretch a note, across 4 bars, so that it doesnt have to be triggered 16 times…

That isn’t just sub-optimal. That’s just a basic expectation of midi sequencer functionality. In fact, in a choice between this functionality, and not even seeing a piano roll screen, id rather just see a box

A1,A2,A3,A4,A5, etc… each of these would have a record button, and the option to quantise what is been recorded in this box (aligning notes to the grid via quantisation) while real time, or step sequencer recording was active.

I can tell, that whoever designed this sequencer, really like music full pops and blips and gargle noises. Probably electronica, or like I suggested earlier, berlin house or something like that. Quantised sequences should be optional. Not forced into the workflow.

Look at the resolution of the sequencer grid also. Notes shouldn’t always start precisely “on the 16th”. Sometimes it’s necessary to offset a note on the piano roll, even by fractions of a second, simply to prevent muddying a mix. Why should the sequence programmer be limited to triggering notes only at the 16ths. These are not merely questions of sub-optimal workflow. These are basic expectations of any midi sequencer.

I think this is the key concept. Zynthian UI is designed trying to balance the needs of several (many?) use-cases. The primary use-case is (or has been?) keyboard expander and for this, i think zynthian is a beast. Of course, we have room to improve things on this and other use-cases. And certainly we are improving all the time, but we go step by step, always trying to keep the balance. It’s impossible to optimize 100% for a single use-case without forgetting about the rest. Perhaps some day we decide to fork the UI and develop a dedicated UI for the Sequencer /Groovebox use-case. Not today.

All the best,

1 Like

Heres my prediction…

Anybody taking workflow seriously with this product, in such a capacity as to take it on stage…

They’re going to doing the bulk of their setting up work, composition and so forth, using external monitors, mouses and so on…

Where’s the save snapshot button on every single screen ? Every screen, every menu needs a save snapshot button. It should be a permanent feature of all screens, if theres no file-> save as → *.zss formalism.

Yes, all I see here is a keyboard expander module to virtual instruments

You are not looking hard enough my friend. Zynthian to me is:

  • Effect chain for my guitar
  • Mutlitimbral MIDI synth with dozens of sound engines
  • Powerful step sequencer
  • Multitrack audio recorder and player
  • Sampler
  • Stereo audio mixer
  • MIDI processor
  • MIDI recorder and player

Open your eyes and open your mind and the world looks a light brighter.

Each time I use zynthian I discover more that I can do and more that I want to do. I also discover issues that block me from doing some things, so I fix them. It is open source. YAY!

4 Likes

??? I don’t understand. Could you elaborate a little bit?

Thanks