Adding midish sequencer as an engine


Started working on adding midish as an engine, and i’m actually getting somewhere, not at all a
working version and the code looks like turds, but since i know there’s been talk about adding midish before i was wondering if i’m doing double work here or if you’ve found a good reason to drop midish

Midi player/ sequencer / looper program?

Hi @Mikee!

These are GREAT NEWS!! Really!

I really love midish and i played with it some time ago, at the beginning of Zynthian project. Although it doesn’t supports jackd MIDI, it can be connected using the a2j … and better, i see that it’s being recently maintained, so perhaps native jackd support is on the way :wink:

As it’s the first sequencer engine, i think we should think deep about the key concepts:

  • sequencer UI workflow => try to keep the spirit of current audio engines
  • abstraction, regarding the future implementation of other sequencer engines.
  • integration with “audio” engines
  • tempo, synchronization, etc.

Please, could you explain a little bit the basic functionality that you are implementing in the new engine?
How you plan to connect it to the other "audio " engines? Etc.

Thanks a lot for your time and effort!!


I’ve been thinking of implementing the knobs in a different way than the other engines, first off my zynthian is not a true zynthian, i only have the 7" touch display and an audioinjector card so no physical knobs. For now i’ve settled on making a row of buttons a transportbar and using the screen list as a track list where you can select the active track, in the future i was hoping to connect one knob to track selection, one knob to button selection, rec play stop and so on, the third knob to the transportbar and the fourth to exit. By having buttons changeing state between rec and pause you can easealy punch in and out.
Midish can create un connected alsasequencer ports so i’ve tried connecting those with a2j_bridge so now i have midish running with jack ports, haven’t gotten autoconnect to catch it though.
I was thinking of connecting midish as a midi input and selecting midichannel for each track to output on, that way you can start another instrument engine and select a midichannel and it will recieve midi from midish on that channel.

I’ll try to upload a video of the gui in its current shitty state later



Ji @Mikee!

Any update/improvement with this?
Have you managed to connect the midish ouput to the zynthian layers/engines using the “autoconnector”?



Haven’t had much time to work on it, wrote some test code to try to connect hw inputs to midish in and midish out to zyncoder. That gave some strange results that may be zyncoder related, changeing controller page when playing the demo song, but no notes sent through to zynaddsubfx. Ill have to look in to that


Actually got some moderate success last night when i decided to connect midish in parallel to zyncoder autoconnecting hw in to midish in and midish out to engines, midish would play zynaddsubfx on midichannel 1, so now it’s just the internal filter routings in midish and all the rest😪


6 posts were merged into an existing topic: Tedy’s Thread


Hi @zynthianers,

I’ve been thinking about the different options for having a midi sequencer in Zynthian. Of course, midish is one of my favorites. I contacted with the main developer of midish and i would like to share this brief conversation with him:

On Wed, May 16, 2018 at 04:36:40PM +0200, Jofemodo wrote:

Hi Alex!

I’m Fernando from Zynthian Project:

I just learned about Zynthian, sounds very interesting. This is
exactly what I needed, back in 2015, to run a microtonal flute synth.

We’re really interested in using your wonderful midish software as the
main sequencer engine for Zynthian project.

Zynthian is a small but powerful sound module (multi-engine,
multi-layer, multi-timbric, etc. based in Free Software and “Open” Hardware.

We really love your software but we would like to have some extra
features like:

  • Jack Audio MIDI support
  • Looping features

I’m interested in both features. I’ve very limited free time right
now, but I’ll try to help as much as possible with this.

FWIW, people seem to use alsaseq-to-jack gateways to workaround the
lack of jack support, hopefully this could work for you in the

I just synched the github repo to the project one. Now I’ve to find a
mean to automate the process :confused:

P.D.: “Sonate aux insomniaques” is a magnific piece!! Congrats!!

thanks, glad you liked it

Ahhh! You can find the midish github repository here:

I’ve added 2 issues for implementing the desired features, but we should do the task :wink:

Kind Regards,


I sort of gave up on developing it more after getting it o work since the looping wasn’t going to happen


But the looping is going to happend … :sunglasses: