Midi player/ sequencer / looper program?

Is there a midi sequencer that can:

  • load a midi file,
  • loop a (predefined) section (range of measures) of the song
  • switch to a different section in the song at the end of a measure, triggered by a midi event (foot pedal)

I like to use this as as stand-alone, portable (battery powered) acompaniment box for my piano lessons.

The midi file will have several variants of tracks for e.g. bass, drums, solo or voice, second instrument.
Preferrably each of the tracks could be looped independantly: e.g. just a 4 bar drum line can be repreated over any range.
Usage would be: start the intro, loop over section A, until the pedal was hit, switch to a bridge, then loop section B, until pedal press …
When defining shorter section, it’s great to practice difficult parts, or learn to play faster.

1 Like

Sorry, currently Zynthian hasn’t a MIDI sequencer with the functionality you want.


There are a few midi sequencers for linux/raspberry… For the “zynthian purpose”, I would like a friendly step sequencer in combination with a good controller surface. But, with a low cost Arturia beatstep, we get the same features without coding anything.

With the features you mentioned @FransK , it seems to me that you are looking for something like an arranger software, just like the Yamaha PSR line.

Look this:

I have plans for adding sequencer features to Zynthian:

  1. MIDI looper/sequencer. Similar to SooperLooper but MIDI :wink: It will be intended for jamming and quick prototyping/creation. Of course, it should import/export from MID files. Perhaps “midish” is the best suited software for that, but it doesn’t support Jack and looping features should be added.

  2. Step Sequencer: A simple step-sequencer, easily interfaced from grid-control-surfaces like Novation LaunchPads and others. We have some interesting candidates here. For instance

    • LV2 stepseq from Robin Gareus is already installed in Zynthian (usable with MOD-UI).
    • QMidiArp
    • ???

All comments and collaboration are welcome :wink:

Kind Regards,

1 Like

Sorry, no privative software in “core” parts. Pianoteq could be added because nothing depends on it. In the other hand, Zynthian’s sequencer engine is going to be a core part, so only free software can be used here :wink:



Good news!

I contacted Alexandre Ratchov, the developer of midish. Here is the conversation:

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


So we have the github midish repo udpated and ready to use and add the features we need.



I had a quick look at midish (not the source), It does most things I want, except for looping and beat-synched switching of tracks/ranges. Other features not requiring realtime/very fast response (midi controller input) could be added in a front-end program.

Recently I looked at pyxdotool, a python interface module to the commandline tool xdotool (tool to inquire and control applications, keyboard and mouse in xWindows). the module starts the xdotool executable as subprocess and allows a python script to send commands and retrieve information via stdin/stdout in a pythonic way.
This approach could be used to add features on the outside of midish (set up alsa midi port, convert midi controller messages to midish, read a config file with some specialised (loop/range) information that might or might not be part of the input midi file).
(a direct interface to the functions of midish would be preferrable for reasons of speed and response time, but I have no idea of the performance of a RPi-3, just the RPi1 a few year go. )

I hope to get my Rpi-3 with 7" touch screen and audio card running this weekend.

Did you have a look at sequencer64 ?

According the site and documentation, it’s a renewed and upgraded version of the old seq24 sequencer, multi-platform, includes jack midi, controlable using midi and a cli-type version. there is a user manual, and some developer documentation in the repository.
On the to-do list are o.a. OSC support and loading files using (OSC) commands. The current way to load a file in the cli-version is as argument on the command line. preparing a configuration seems best to be done in the GUI-version.

I built the GUI-version from source on kubutu 17.10, it start up, but had no time yet to try it.


Great!! Thanks for the info … i didn’t know about sequencer64, although i know its “daddy”, the old good seq24. I think sequencer64 could be a perfect candidate for being the Zynthian’s official step sequencer :wink:

I will compile and try it in the next days …

Kind Regards,


What about Giada?

It is freeware and the code is available on Githb.

It is a combination of a looper for audio and midi.


I’ve looked at it last week, seen some videos, installed it, but not actually used it.
Can’t find any info on using it without the graphic interface (except for an old thread in the forum mentioning how to change the program). I need something that can be used on battery-powered portable rPi hardware.
According the “road ahead” in the forum, there seems no import/export for midi files yet and some other midi functionality.

It’s a nice software, but it lacks a non-graphical interface and we need it for integrating into Zynthian.



but it looks like it still needs gtkmm-2.4 for headless and I don’t feel like installing that at the moment on a zynthian.

"I think sequencer64 could be a perfect candidate for being the Zynthian’s official step sequencer "

Now this is an front end I’ve been waiting to see :smiley:

Anyway , sensibly moving onto a zynthian in the zynthian-sw directory ( where we keep software … . )

cd /zynthian/zynthian-sw

and git clone,
grabbing the clone address from the page at The green Clone button

git clone https://github.com/ahlstromcj/sequencer64

Let it chug away . . .
and when it stops …
cd sequencer64

So we should be doing . . .
./bootstrap -er -cli (from the INSTALL page …)

No package ‘gtkmm-2.4’ found . Seems the headless needs it too …

Mind you I have fired up an old copy of sequence24 and the zynthian picked it up from qmidinet running in the alsa world . . .:smiley:
All without a direct use of a2jmid … :smiling_imp:

A music (MIDI) generating language…
This software is perhaps not what you have in mind but it might well be adapted to your (our!) purpose… it’s open source, easy to understand, interactive… might be a little hard to integrate with the touch interface though. Via the webconf?

1 Like

Looks like it’s alsa not jack based.

similar might be:
FoxDot “Live Coding with Python & SuperCollider”, a console type python front end, using SuperCollidate to generate the sounds, with easy syntax specialised form music by overloading a number of python operators for music g and relaxing the syntax python syntax a bit.
I think you could embed it even more to make a (Zynthian touch display or midi contoller) button driven application, triggering your own predefined musical fragments.

Music21 is a python module that implements a lot of simple and advanced musical concepts, and plays thru pyGame (as one of its output methods).
But it doesn’t look to me something for the Zynthian concept.

1 Like

I managed to build without error it after
apt install gtkmm-2.4
but still have to try it.

I built it with gtk on a zynthian and it all seems ok,
it runs ok
but you can’t Xwindow the control panel onto a different machine which was a pity ( unless you know different).
I didn’t hook it up to any of the Zynth universe but it was an interesting little exercise.

Presumably just playing MIDI ( and possibly recording) should be possible but a GUI would seem to be rather involved.

Just working throu’ the very copious Documentation.