RTP-MIDI on zynthian

I’m probably just twittering. It’s wrapped up in an issue I’m testing at the moment, multiple zynthians, in which I thought I got MIDI howl around. I understand why any MIDI network port is probably going to present itself as a bi-directional but I’m wondering if the imposition of that inability to turn off one or other direction might be a required feature.
So far it doesn’t seem like there is a problem with no of zynth’s greater than two but I will keep adding things until I sait my unease . . .

Arrrgg you found me :wink:

Sorry, I caught this thread in the middle, so I don’t really understand what is the problem. But it will be a pleasure to help Zynthian community with my knowledge of RTP-MIDI
(just to explain : I am the man behind KissBox RTP-MIDI development… so yes, I know it rather well)

By the way, I have started to create a RTP-MIDI client for Jack for my Zynthian, but I have not yet found enough time to finish it.

Going back to this topic… is there still a problem with the tests about RTP-MIDI ?

Benoît

2 Likes

And before I forgot : there is a Wikipedia page about RTP-MIDI with a lot of technical details

https://en.wikipedia.org/wiki/RTP-MIDI

Benoît

1 Like

I took a quick look at pymidi and ran the sample server. I observed the following:

  • It does not seem to support avahi
  • Latency seems higher (5ms for pymidi cf 1ms for raveloxmidi)

I didn’t do any proper tests because that would involve writing code and I don’t have the time today. We could look in more detail but a very cursory look suggests it may be less capable or effective as raveloxmidi.

BEB’s RTP-MIDI client for Jack sounds interesting. Maybe we just wait for that…

I played a bit more with pymidi and found the example code to be flawed. I have submitted bug reports for errors in the README. I was able to get it to show MIDI messages incoming to RPi. I guess we could poke these back into the MIDI router but that seems inefficient, i.e. a Python program receiving rtp-midi then sending MIDI messages to the Zynthian MIDI Router. Anyway - I think I should stop playing with this - I don’t even have a use case for it. (But it was shiny!!!)

Hi Guys,
I’ve played a little bit around with pimidi. Most the time if i tried to use a complex engine zynthian freeze. Only simple engine works e.c. FluidR3 GM. I’m not shure what’s happens. Sorry.
BTW my zynthian didn’t work really reliable. Poor Power? I don’t know.
Greetings
Roman

EDIT: I tested it with the biggest peace of software I owned, presonus studi one, and it works with one layer quit good. I going to investigate where the bizz and buzz are coming from.

Hi Riban,
I have taken a short break, I will have more time to work on my RTP-MIDI implementation. I hope I will have something working on the RPi before I go back to work.
Right now, my code is designed to work on a “normal” RPi (I use jack UI to play with the RTP client), it will probably need some work to be used on the Zynthian. But I will share the code as soon as possible, so others can look to it
Benoit

3 Likes

Hi @BEB!

This is wonderful! We can wait a little bit for having a RTP-MIDI implementation that works natively with jack :wink:

Thanks a lot!

1 Like

Hi everyone,

I just noticed this discussion and wanted to point you to my portable RTP-MIDI implementation
which runs on Windows, Linux, macOS & iOS:

http://www.tobias-erichsen.de/software/librtpmidi.html

I currently provide shared libraries that are compiled for Windows (x86/x64), Linux (x86/x86/armhf/arm64/mips), macOS (x64) & iOS (arm64).

Also included is a simple cross-platform command-line test-application which allows to instantiate
a port, create outgoing connections, listen for incoming connections and send & receive midi-
commands.

This test-application currently does not do any avahi/bonjour announcement on the network, but that would be really easy to implement…

I’m thinking about dual-licensing this as GPL plus commercial license for people who want to use it
in closed-source application… any thoughts on that would be really appreciated…

I will probably also create a juce-wrapper with both the network-layer & Bonjour/mDNS, but I currently
have other workitems that I need to complete before I can do that…

Tobias

3 Likes

Welcome aboard TobiasE!!

I wish Android and Windows could get around to doing avahi properly … :smiley:

I wonder how laggy a qmidinet/rtpmidi zynthian bridge might be?
I’m sure a bridge networks option in the webconf would be a lot more appealing than selection checkboxes… ? :smiley:

Hi Tobias,

Welcome to the zynthian community!

I already visited your page (several times along the last years, probably doing some research about MIDI stuff), but I couldn’t find the source code and the only download is an “exe” file.

It would be really fantastic that you release your code under GPL, so we can integrate it with zynthian software and other people with other open projects. You should do it …

That is trivial on linux/MAC :wink:

BTW, did your library support JackAudio MIDI?

Regards,

Hi Tobias,

nice to see you aboard too !!

For all Zynthianers who (still) don’t know Tobias : he is the man who wrote the excellent Windows RTP-MIDI driver that we use at KissBox
Tobias and me are working together since years :grinning:

Benoit

4 Likes

Nice to see good developers landing into zynthian project … really nice!! :smiley:
I suspect we will have RTP-MIDI support in zynthian very soon …

And by the way, some good news : I have almost completed a working version of a RTP-MIDI daemon for Jack :sweat_smile:

It is not specifically designed for the Zynthian, it works basically with any Raspberry (I prefer not to use my Zynthian as a debugging device :innocent:)
I will put the complete project on my Github very soon (https://github.com/imodularsynth/jackrtpmidid)
Don’t look there for now, it’s still empty !!!
But I will do my best to have it ready as a Christmas present for the Zynthian community :package:

Benoit

6 Likes

Ohhhh Yesssss!! These are really great news, my friend! A RTP-MIDI jack client is just what we need :wink:

Of course. It has no sense to design this kind of software “specifically” for zynthian. In fact, little software inside zynthian has been designed for zynthian. Only the UI, the configuration tools and the setup/update scripts.

Thanks a lot!

Arrrg, I just realized that I forgot to show how it looks for now :crazy_face:

Here is what rtpMIDI driver sees on my PC… Just look at the latency generated by the Zynthian…

ZynthianRTP

And this is how it looks for now on the RPi (the RTP-MIDI daemon for the Zynthian is jackrtpmidid connection on the JACK window). And if you look to the terminal next to this, you will see that RTP-MIDI daemon for Jack takes 4.3% of CPU (with no compiler optimization… We can safely expect less than 3% once compiled with release optimization level and no terminal trace)

As I told this morning, Santa is coming with presents for the Zynthian :star_struck:

Benoit

9 Likes

Yeahhh! I’m waiting for the code for integrating into zynthian ASAP :star_struck:

2 Likes

Hi to all and best wishes for 2020…

I just wanted to inform all Zynthianers interested in RTP-MIDI that I have sent the Jack RTP-MIDI daemon I wrote to José who will perform tests on his side.

If anybody else want to be a “beta tester” for this daemon, just ask, I will send the file :smiley:

(And by the way, 2020 may also be the year of MIDI 2.0 for the Zynthian… :innocent:)

Benoit

4 Likes

Hello Benoit, same to you for 2020. I,m interessted in being a beta tester of RTP-MIDI daemon. Please send it to me give me some hint to install. Greetings Roman

Hi Roman,

I have sent you the daemon by private message.

as I explained in the PM I sent you, I don’t know how to patch the Jack configuration on the Zynthian. I tested the daemon on a development RPi, not my Zynthian, and I use QJACKCTL on it to make the connections.

I think somebody from the Zynthian team (José, if you hear me… :wink:) can explain how to do it properly (José told me he will test it soon too, so help is not far away)

Benoit