Wireless DAW Controllers

I’m looking for a solid, reliable wireless daw controller I can use from my phone/tablet. I’ve tried TouchDAW and TouchOSC and both are great for controlling the DAW but not for having more granular control over plugins or being able to use it as a drum pad setup. I need it to work every time, prefer wireless, but don’t mind a wired USB connection as long as it works well.

I do have the TouchOSC editor on here and tried to add a page to the Ardour layout section that would enable the functionality I’m discussing but I couldn’t get it to work. The file I was working on is here

Anybody have any suggestions for either what to download, what to modify in Ardour to get TouchOSC to work as a midi controller, or what to modify in the template to make it work?

Not sure what you mean here. Any controller on phone/tablet will be limited in resolution by the GUI toolkit. OSC itself will accept 32bit floats.

OSC (on Ardour) does not control anything in “real time” and does not have anything set up for performance data such as note on/off or drum strike. Midi would be your best bet for that. I think there is ipmidi available for phones and certainly the iOS boxes have rtpmidi. There is qmidinet does ipmidi and I think there is also an rtpmidi project for Linux now. Ardour should be able to see the output of either though I have only used qmidinet myself. (though not with a tablet)

Tiny gripe, but this is what I get for not proofreading topics I create. This should read “Phone DAW controllers” instead of “wireless daw controllers.”

By granular, I meant being able to set potentiometers within the DAW control to control specific parts of the plugin, which if I had to guess, is a purely MIDI functionality.

I’ve been playing with TouchOSC more, and from what I can tell the OSC commands are relayed through just fine - they work great - but the MIDI commands, which I believe would include assigning pots to control plugin functions, drum pads that play midi notes, etc - all that stuff is super borked. No bridge that I found works with Manjaro unfortunately; the pure-data bridges all won’t build and the other bridge has pip as a dependency. With all that said, I’m in the process of building a phone and tablet layout for Ardour using TouchOSC that will, with any hope, work as advertised.

I could not get qmidinet to work at all. In theory, I could use that as a bridge for the midi functionality of TouchOSC (All touchOSC wants is for things to look on a certain port). Any suggestions for where to look for good setup guides?

Open Stage Control is a good alternative, I used it to make a controller for ardour that supports plugins, it might be a good starting point : https://github.com/jean-emmanuel/ardour-control

That looks like a great alternative, and it’s open source, which is quite nice. Nifty that it just runs in a browser, making it platform agnostic. Serious hats off to the developer for the UI design and general implementation, once I can get it to install.

Possibly the biggest thing I wanted from a wireless controller, beyond OSC and DAW control is one that has a 4x4 thing of drum pads I can use with Fabla, DrumGizmo, or LSP Sampler. I don’t see anywhere in the documentation that this can do that yet, but it seems like it’s well on its way.

Just FYI, Ardour since 6.0 has its own experimental browser-based control surface. You just enable it, point your browser at some specified port where ardour runs a micro-webserver, and you get a web page that functions as a control surface.

We welcome more participation in this effort - after years of only being able to define control surfaces via C++, this starts to outline a mechanism that any web developer can get their head around (though some backend work in C++ is likely still required at this point).

Wow, that’s dope. Well done Paul. I assume that’s the websockets experimental server? Are all the details in the documentation yet?

I plan to write some documentation for the websockets surface soon. The feature set is reduced and mostly focused on the mixer, that is controlling strip level/pan/mute and their plugin inserts. Any plugin parameter that can be controlled from Ardour’s generic plugin UI should be exposed via websockets. If the “specific parts” of the aforementioned plugin can be reached from the generic plugin UI (see https://manual.ardour.org/working-with-plugins/working-with-ardour-built-plugin-editors/) these parts should be also reachable via websockets. There is some functionality for transport control as well.

The surface provides a simple object-oriented JavaScript client so there is no need to deal with the low-level websocket and protocol https://github.com/Ardour/ardour/blob/master/share/web_surfaces/shared/ardour.js.

const ardour = new ArdourClient();

ardour.mixer.on('ready', () => {

   ardour.mixer.getStripByName('Track 1').gain = -6 /* dB */;


Better usage examples of ArdourClient can be found in the demo websurfaces shipped with Ardour.

As Paul mentioned the surface implements its own HTTP server that is able to host the static files that make up a complete client. Then once a session is set up, control messages and feedback flow asynchronously via WebSockets.