How to use the EaganMatrix (ContinuuMini) with other MPE controllers?

Thanks for testing. Good to hear!

This post from Mark Harris (@thetechnobear) about configuring MIDI routing on the Organelle looks promising. (I apologize that I’m too tired tonight to try it out myself.)

1 Like

If you want to do ‘automatic’ routing of midi on a rPI or an Organelle - there is a great little ‘app’ called amidiauto - this can run in the background and will by default route all midi between connected devices.

( it has a config / rules file which can be used to tailor this behavior).

You can find it in the blokas GitHub repo.

My experience with midi usb on axoloti shows it can be a bit finicky at times , and when your developing a new device you cannot test against every device/host combo - so not uncommon to see these kind of quirks.

things like pc, Mac, rPI, organelle have drivers that have had these quirks ironed out over a long period of time by various bug reports etc.

3 Likes

Thanks for the tip @thetechnobear :wink: rPi is a nice contender for this.

Here’s my setup, pretty similar to @keymanpal’s above from two years ago:


Using the internal AUM MIDI routing, which unfortunately stops when AUM is backgrounded(!). I’ll check the other suggested iOS MIDI routing solutions.

Happily SpringSound by @Anckorage sees the ContinuuMini and works well. :slight_smile:

4 Likes

Using the Organelle as MIDI router between Continuum and Morphs (or Linnstrument etc.) (Thanks to a tutorial thread from @thetechnobear : https://forum.critterandguitari.com/t/how-to-advanced-midi-setup-3-1/2264)


Morph(USB)-to-Organelle-to-Continuumini(USB) works well with that combo. Morph(USB)-to-Organelle-to-PC(DIN-MIDI-Interface) still leads to some queueing when playing faster notes. Still have to test with Organelle OS 4, improvements in that departement are in the release notes, so sounds promising.
Also I still sometimes get hanging notes when trying to play more than two notes with Organelle-internal synths.
But Morph->Organelle->Continuumini is a lot of fun! And Eigenharp->Organelle(MEC)->Continuumini is also great! My EaganMatrix goto presets atm.: 1011 (so good and versatile! Can do string-like, vocal-like and “crazy” sounds all from the same preset) and I think 406 (simple but nice).

P.S.: When adding several MIDI controllers (like my four Morphs) to the Organelle some configuration changes are needed to get audio-out of the Organelle to work with that combo, because the ID of the Organelle audio card changes in that case. There is also a thread from @thetechnobear how to fix this: https://forum.critterandguitari.com/t/how-to-pd-using-an-external-usb-audio-interface/2463

3 Likes

Thanks everyone for all the info on this thread about controlling Continuumini with a Linny.

I just received my CM today. I want to find a control solution that doesn’t require USB routing thru an iPad so I can fiddle with less computers.

@Dan your Kenton Usb Host looks promising. How do you edit presets though? Do you need to unplug the CM from the Host, plug CM into a computer, edit preset, unplug, then reconnect to the Host? Its a shame you can’t edit presets WHILE controlling with the Linny.

When I’m editing the presets I’m connected through my computer. I only use the direct USB routing when I’m playing live.

Hi! Technically you could connect both your Linnstrument and your ContinuuMini to the computer and use it as a midi router that routes the Linnstrument events to the CM (and just choose the CM inside the EaganMatrix software for configuration). Most DAWs or Live-Hosts allow routing from a midi in to a midi out of choice.
I’m using the Organelle for that, as kind of a midi router. But it’s honestly not very stable. After some time the EaganMatrix software just looses connection and I have to restart the entire chain to get it working again. So for longer editing sessions it is better to take the Organelle out of the equation and connect everything directly to the Mac/(PC).

Duh! When I’m editing presets I’ll connect it to my computer anyway. Of course! OK buying the Kenton product now.

Thanks @Dan and @NothanUmber!

Hi everyone. I hooked up the Linnstrument, Continuumini, and Kenton USB MIDI Host Mk. II. Unfortunately the communication jams every few minutes. I’ve checked that the cables are connected properly. Video below. Any ideas on what to check next?

1 Like

Not having a MIDI host port on the ContinuuMini is making things a lot more complicated (even more because ContinuuMini seems to be picky which hosts to talk to.). I could imagine that if they had an EaganMatrix box with a host port this would sell like hotcakes as EaganMatrix is imho one of the best digital synths ever built. The ContinuuMini works very well as a self contained instrument. But the playing surface is holding the 8 voice poly synth inside it a little back… Sorry for the rant, back to your question :slight_smile:

First make sure that the ContinuuMini is set to MPE mode (not MPE+). There is a setting that allows you to set this globally for all presets.

If this doesn’t help: Plug both the Linnstrument and the ContinuuMini into your computer and use a DAW or live host that allows to route MIDI inputs (from Linnstrument) to MIDI outputs (to ContinuuMini). (Technically any DAW but Ableton Live - this will set the channel for all events to 1, producing garbage…) Now the MIDI host is taken out of the equation. Is the problem still occurring? If yes: try to record the MIDI from the Linnstrument. And if the problem occurs: Can you reproduce it by replaying the same sequence again? If yes: Send that sequence to Hakenaudio :slight_smile:
If no: Try to get in touch with the manufacturer of the MIDI host.

What could also help: Try to enable low power mode on Linnstrument. One side effect of this is that it slightly lowers the midi data rate. I made the observation that my Organelle (which I use as midi host) stops working when the midi queue runs over (so I have to reset it). Doesn happen towards the ContinuuMini for me but towards PC (which is connected via DIN MIDI, because I cannot connect host-host via USB).
Edit: For USB midi there is a setting where the data rate can be changed to lower values. Perhaps something similar exists for DIN MIDI? Might be worth to ask in the Linnstrument support forum…

Another thing that could be worth checking: The ContinuuMini sound engine only reacts to channels 2-9(*), so best make sure that the Linnstrument also only sends on these channels. Otherwise it could happen that the Linnstrument decides to send on channels the ContinuuMini doesn’t react to. But it’s odd that resetting the MIDI host solves the problem then, in that case I would have expected that you’d have to unplug and replug the Linnstrument to let it send on the lower channels again.
So it sounds more like a problem on the MIDI host side on first sight.

*: channels 2-9 maximum, if you play a patch with lower voice count it could even be less. As I unerstand it, there seems to be a fixed mapping between voice number and MIDI channel(?). Perhaps try to just send on e.g. channels 2 and 3 from Linnstrument as a start, that should work with all presets that are not mono.

Thanks so much for the tips @NothanUmber. I tried the MPE vs MPE+, that didn’t fix it. I ordered the dongles I need to try the computer solution. Maybe it will turn out to be the MIDI Host? :thinking:.

I don’t think I have the channels wrong. When I first connected this setup I had the channels wrong but that created a pattern where some notes would sound and some notes would not sound, but in a regular pattern.

I think the best option for connecting an MPE keyboard to the ContinuuMini as synth is to use a Teensy 4.1 or 3.6 with USB host and a USB hub. Then use a patch similar to the Interface_16x16 example to forward the MIDI from one to another. Optionally the desired configuration can be sent to the Continuumini at boot, and the Continuum voice settings can be sent to the MPE keyboard at voice change.

The Continuumini USB implementation has some problems, so the USBHost_t36 library should be modified to not try to read the the device Manufacturer string, as that often fails (case 5 in enumeration.cpp). This is also why the Continuumini doesn’t connect to the Axoloti and it takes some tries before it’s recognized in Linux.

If there’s interest for it I’ll try to wrap up the tests I’ve done into a nice patch. I’m a bit busy with the final production details of the Striso board, but a standalone Striso board + EaganMatrix setup is high on my wishlist too :slight_smile:

4 Likes

Thanks for your analysis, that would be great! @Anckorage @Edmund: this sounds like it might be fixable via a ContinuuMini firmware patch?

yes sure ! and thanks a lot @pierstitus for this analysis on the enumeration, that’s super usefull (if you have additional details they are of course welcome)

1 Like

@Anckorage I’ve posted more details about the problem in a separate thread. I hope you can resolve this issue.

To get the ContinuuMini to enumerate on the Teensy change line 212 of arduino-1.8.13/hardware/teensy/avr/libraries/USBHost_t36/enumeration.cpp from

    if (enumbuf[0]) dev->enum_state = 5;

to

    if (false && enumbuf[0]) dev->enum_state = 5;

This skips reading the Manufacturer string.

I’ll try to find some time to put a Teensy patch online for forwarding MIDI and configuration.

3 Likes

Thanks a lot for your help @pierstitus … we will of course solve this for next firmware update.

2 Likes

Oh man @Anckorage, I discovered and worked around this same problem on the Teensy usb host (with TumDrum) a few years ago but I never told you guys about it!

@pierstitus, I did however uncover and fix a race-condition lock-up bug in the USBHost_t36 MIDI support that was easily exposed while using the continuumini due to the extreme event traffic. That I did push upstream and PJRC already incorporated the fix a while ago.

1 Like

Hello Jesse
The issue is now solved in the new Continuum firmware !
Did you go on working on TumDrum ? I really liked it … I will have to be back to you about it at some point !

2 Likes