Midi player/ sequencer / looper program?

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:

Thanks!

2 Likes

Good news!

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

Hi Alex!

I’m Fernando from Zynthian Project:

http://zynthian.org
http://discourse.zynthian.org

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
short-term.

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

2 Likes

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

Great!!

3 Likes

Thanks,
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.

3 Likes

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,

2 Likes

What about Giada?
https://www.giadamusic.com/download

It is freeware and the code is available on Githb.


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

2 Likes

Thanks,
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.

Regards,

Sequencer64

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:

http://takt.sourceforge.net/
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.

Thanks for the info.
I planned to use the GUi version on my linux desktop pc to get seq64 working and figure out the midi controls, in order to use those settings on the Zynthian. Currently it crashes with some gtk error when I use menu:File-Open. Have to investigate that further.
I’ll try you approach to work directly on Zynthian with seq64-GUI.

Earlier I tried to get a Synthian graphic desktop manager on my linux desktop using rdc and vlc protocols, but failed. One test I got just the ZynAddSubFX window remote.

Yesterday I installed the NoMachine remote desktop (free version) on both my linux desktop pc and on the Zynthian (the ARM7 package), and painlessly got the Zynthain UI screen on my kubutu desktop at the first connection; could control the UI using the mouse.
NoMachine has its own integrated xWindow server, but release notes indicate that it is quite a heavy load on a Raspberry and is just workable on a Pi-3. For now, this is workable.

Now have to find out how to get rid of the Zynthain UI and get a linux desktop, then I can go playing with seq64 gui version on the Zynthian… using a normal display, mouse and keyboard.

b.t.w. I’m using the old trusty ‘mc’ file manager (2-pane full screen console mode) to easily get around the Zynthian disk in a remote ssh console. Lots of interesting stuf to discover.

1 Like

Yesterday I got it runnig with visible windows on my linux desktop pc (hoera!)

  • did build version with gui
    ( " ./bootstrap -er -rm " and the rest of the build actions),
  • started the NoMachine remote terminal on my desktop pc,
  • connected it to the Zynthian
    (there, NoMachine free edition for ARM7 had been installed earlier)
  • et voila, the SEQ64 window appears in the NoMachine window on my desktop pc.
    The file menu opens normally, can see my 2 connected usb midi devices in the Options menu’s for midi clock, Midi Input, and the jack Tranport page is visible too.
    In other ssh console the seq24 midi ports are vidible using “jack_lsp”

Now I’ll have to find out how to work with seq24, get my Korg nanoKontrol midi controller working for seq64 …

[4-6-2018] actually, the NoMachine remote desktop is not required to get windows of graphic programs like qjackctl and ZynAddSubFX on your host screen, but it was the first time i saw a copy of the Zynthian screen from the rPi on my desktop pc.
[6-6-2018] see “Starting the Zynthian UI”: you must stof the Zynthian service and start the Synthain script in a erminal session started with “ssh -Y …”

How about pure data? I found this one: https://github.com/karl-potisepp/pd-midilooper

Thanks.
I did have a look at PD before, It’s flexible enough for my needs, and there are more patches that provide a bit of sequencing. But I don’t like the graphic programming, the time I need to learn this new programming ‘language’ (like to spend more learning to play piano and music), and still have to link to synth engines to get ‘normal’ drum and instrument sounds.

Hi @FransK!

Csound and Supercollider are in the way … perhaps they are better suited to you :wink:

Is there somebody wanting to do the task? It’s a really simple task because the puredata engine is very generic and could be used as a base for building other similar engines …

Take a look to the code:

Regards,