iPad (or iOS) integration in Cantabile


Hi guys. Anyone tried to integrate an iPad or iPhone into his setup? Is it possible to connect an iPad 2 via USB and to be able to send audio (ex: GeoShred) and MIDI (ex: Lemur, TouchOSC) into Cantabile? Do we still need apps like Studiomux, Midimux or AudioBus?


I don’t think you can just hook up your iPad with a USB/Lightning cable if that’s what you mean. Perhaps with a iConnect box?


Hi! I’m using Lemur (MIDI only) with C3.
I use Midimux to send/receive MIDI via USB and it works very well. Sometimes I have problems with OSC and MIDI (obviously not with Cantabile) but I’m still investigating the issue. I haven’t tried to send audio, but I guess it should work.
We need Midimux for the MIDI over USB connection between the iOs device and your computer. I’m not aware of any Windows VST host or DAW that takes care of it.


Interesting, do you just use a regular Lightning/USB cable with that? No midi interface? Do you need an app on the iPad as well or just the “midimux” thing on PC?


as i have an iPad 2 I use its 30-pin to USB connector. And yes, no MIDI interface, no wireless. I investigated the various options regarding tablets (Android and Apple), connections (wireless, USB tethering, etc.) and software (TouchOSC and Lemur) and eventually found Lemur on iOs and Midimux the best solution for my needs.

Midimux is actually two separate programs: one installed on the iOs device and the other (the server) on the computer. From the server one selects which MIDI physical or virtual port one wants to use to send / receive messages. The app on the iOs takes care of the communication between the selected MIDI port and the iOs controller (Lemur, TouchOSC, etc.).
An alternative to Midimux/Studiomux (I haven’t tested it, and doesn’t have OSC) is called MusicIO.


I’m already setting it up! This might be the solution I was looking for. While I’d rather have an “all in one” computer set up, I already have soooo much stuff tied up in my iPad with regards to sheets etc., it would be a lot of work trying to migrate everything to PC, and right now Cantabile itself doesn’t give me all the sheet reading options I’d be missing. So using it just as a sound module seems feasible.

I’m trying to set it up for program changes. In my iPad I just set MSB and LSB to 0 and use program change numbers corresponding to the song/program number in my set list in Cantabile. I tried creating a global binding but Cantabile when I try to midi learn Cantabile interprets the program change as controller 0, and always selects the same song (number 1) no matter which midi preset I send from set list maker. I then tried manually changing the source to “program change” and the destination to “load song by program (instant)”. Nothing happens. May I ask what you did to set this up? Perhaps I should start yet another thread…


Hard to say, as I should know more details. Unfortunately I’m finishing this setup for an upcoming performance, so I won’t have time to help you until the end of next week. I can only explain how my system works. In any case, when you create a binding in Cantabile you will see what Cantabile is actually receiving. I suspect you are either sending the same Program Change value, or you haven’t chosen the right state binding option in Cantabile.

I have a ‘menu’ object in Lemur that sends program change values from 1 to 4 to Cantabile (see first picture in the upper-left corner). In Lemur I also added a little script that switches the tabs according to the selected menu item.

On the Cantabile side I simply created 4 bindings that load a specific song state when the program change value is received (see second picture). However, in Cantabile (if I’m not wrong) you can assign the Load State binding to any incoming MIDI message, not only program changes.


Thanks, that Lemur setup looks cool!

I just found something out - controller 0 is bank select MSB. It’s like Cantabile will only receive the first portion of a PC and cuts off after receiving the MSB. I’m not sure where the fault lies - I use this same system with my Kronos without any issues, but there I don’t have Midimux obviously.

Interestingly, I can use the MSB (controller 0) to still select patches. I just don’t understand why it won’t grasp a full program change (doesn’t matter if I switch to ''banked").

EDIT: Solved it! As long as I tell my set list maker app to leave MSB and LSB empty it will work! No idea why that confused Cantabile but I can use regular PCs as long as I don’t send MSB/LSB.


Have you tried the Program Change (Banked) option in Cantabile (in the Event column)? In the value field you can add a value in the form bankMSB.bankLSB.programNumber. Haven’t tried myself, just a suggestion.