And yes, there’s even built-in control surface support for the Wiimote. I have to give that a try to figure out how the heck that works.

Why wait for The Future, when you can have a full-featured DAW that supports OSC (OpenSoundControl), right now, today? That DAW turns out to be Ardour, the open source workstation software that’s been maturing surprisingly nicely, and runs on both Mac OS X and Linux.

Ardour has had OSC support for some time, but early this year, it got proper documentation. Setup is absurdly simple: there’s a single menu item to check off at Options > Misc Options > Use OSC. If you’re using any recent build, it’ll be there – no need for the bleeding edge. (If you want to adjust the port on which Ardour listens, there’s a single line to edit in a configuration file, though the default will probably work just fine.)

Check the menu item, and Ardour is ready to receive OSC messages, meaning it’d be really easy to build an OSC-compliant control surface from hardware or software. (I probably shouldn’t mention this in public, but I’ve started a simple remote control for Android. If you have feature requests or an idea of how it should work, let me know. One thing I’d like is to use Android’s gesture library for making menu shortcuts. I only bring this up in case anyone is interested in helping.)

The advantage of OSC over MIDI or even traditional keymaps is that there’s no translation of one thing to something else. Ardour simply responds to any message sent to any menu item. The message for Save, then, is Save. The message “edit cursor to previous region start” is edit-cursor-to-previous-region-start. Everything is described in human-readable English.

It’s also not hard to look at the OSC commands and imagine a more generic spec for common, shared commands that would work across DAWs.

Ardour is already a joy to use for audio, especially if you think of it not as an all-in-one app that has every conceivable effect you’d ever need, but as a JACK-enabled host that works with other tools. Little wonder: JACK audio, an ingenious way of routing sound and transport between software on Linux and Mac, is also the creation of lead Ardour developer Paul Davis. (On Linux, I’ve started using the combination as a way of conveniently recording sounds from Pd.)

If you’ve found other DAWs have gotten overcomplicated and want an audio host that focuses on exceling at the basics, Ardour is well worth a look. Of course, for many of us, MIDI editing is a basic we can’t do without, so needless to say a lot of folks are impatient for Ardour. Paul tells me progress is going smoothly, though, so stay tuned – and consider donating at the site if you like what you see and want to support more development. Another way to help: on Mac, there’s the fantastic-looking Mixbus, a commercial version of Ardour that turns it into a full-featured, analog-style mixing console with effects.

And commercial developers, I do hope you’re paying attention, too. Yes, this is something you could do.

Readers: what would you want to see from OSC controllers for a DAW?

Updated: Ardour + TouchOSC

Max Breakwell has blogged the Ardour DAW and also has set up a convenient-looking template for TouchOSC. I agree with Max that one of the big challenges is just picking out what you want to control – you wouldn’t want everything (that’s what the UI is for). On the other hand, it’s great to have that flexibility. Wanted to post this and haven’t yet had time to ask him, but I find it curious that he needs to run Max/MSP in the background to process the ports; I have to find out why.

TouchOSC and Ardour

“Ardour and OSC Ideas” / Ardour mini-review

Needless to say, though, OSC does not have to mean iPhone/iPad, exclusively. OSC hardware is gradually evolving, and other platforms are possible, too — including what promise to be some dirt-cheap, Android-powered tablets later this year. So I’d keep my eye on this one; even if you’re not ready yet, you might find yourself using this combination down the road.

Updated: Ardour + Pd

With OSC control providing full control of everything Ardour does, you wind up with something a little bit akin to the combination of Max for Live and the Ableton Live API calls (Live DOM). Not only could you control Ardour yourself via a tablet or controller or other device, but you could build a patch that provides programmatic control of Ardour. What might you do with that? Well, that’s up to you – it seems it could range from the practical (automating common tasks) to the somewhat unusual.

Apostool is a set of Pd patches that turn Pd into a “scripting” tool for Ardour. Developed by a user by the name of seegwen, it’s in its first steps, but it’s a good place to start if this interests you (and from comments on Twitter and elsewhere, I think it might). In case this seems like a distraction, too, there’s no reason not to keep such a patch simple, pulling only what you want to manipulate – indeed, it’s likely faster than some MIDI assignments and the like would be.

There’s a great discussion on the Ardour forum, which even raises the possibility of “algorithmic mixing.” Dave Phillips, the awesome Linux audio author, even chimes in with some ideas of other software that could get in on the fun. Sure, it sounds intensely geeky, but because of the potential simplicity of the tools involved, there’s no reason you couldn’t come up with a simple project and make some actual music with these ideas.

Apostool, Ardour Puredata Osc Scripting tool [Ardour forum]
Apostool – Puredata – Gwen [Project page]

And MIDI… For all the MIDI gear you’ve got that does MIDI and not OSC, Ardour needs your help creating mappings:
We Need You: creating MIDI controller mappings for Ardour 3

  • Hello Peter, there is one mistake in the article, Ardour has never been a Windows Daw, is Linux and MAC only

  • Holy crap. I *though* Linux, and typed Windows. Next coffee, please?

    GNOME doesn't look *that* much like Windows. 😉

  • On the upside, at least I didn't write Solaris … or Amiga.

  • Jeff Brown

    I want a DAW that doesn't just respond to OSC, but lets you record and edit it the same way you can record and edit MIDI.

  • @Jeff: yeah, I hear you. Don't think you'll get that out of Ardour any time soon, but it's an idea a number of people are working on. It could be a chance to rethink how sequencers work. (Rethinking is hard – you run the risk of reinvention rather than invention – but perhaps with a lightweight tool, it could work.)

  • Fractal

    OSC ? USINE does…too…

  • jvoorhis

    Given how little we know about sequencing, or how little of the theory is actually implemented, I think existing sequencers – including flexible systems like Max/MSP and Supercollider – have barely scratched the surface of what's possible. It's a good time to reinvent.

  • Peter, Hi – Ok I am at the Ipad app store looking at TouchOSC. I thought it would be nice to control Ardour on Indamixx with my Ipad. Funny, the top comment is by a guy who trying to make TouchOSC work with Ardour. Could it really be that simple? Just download the app, fire everything up and BAM! just works? Any others pointing to tips and tricks on this let me know please.

  • Jerry

    Does Ardour support sending OSC messages out from the sequencer? If not, is there anything out there that does do that? Perhaps Renoise?

  • @Jerry:Ardour does not sequence OSC, no. I don't think anything yet does that, not anything mainstream.

    @Ronald: It's not that simple – not yet. You need either an OSC app that forms these messages correctly for Ardour, or something in between to translate. And you'll also need to set the port, though that's generally no big deal. Of course, if I can get a simple Android app going… think I can talk about that by May.

    @Fractal: Yeah, Usine is awesome… giving it a new try myself. The advantage of Usine is a bit different – more on the VST host side than DAW.

  • I was thinking I could install PD from jaunty and pull it off… aw schucks… This Ipad is a paper weight right now. Hey Jorgen, if you read CDM, can you PLEASE make of version of energy XT for Ipad so I don't have to return this thing?
    Super Thanks!

  • There you go, Ron – updated the story. Someone HAS already made a TouchOSC template.

    energyXT for the iPad… well, Ron, funny I'd be telling you this, but plenty of Linux- and Windows-powered tablets would be happy to do the job for you. 😉

  • Is the template for OS X only or can I use Linux Ardour on Indamixx and Ipad with TouchOSC to have a lil' multitouch console / audio desk setup?

    Peter, I am not positive but I think the href link to the Ardour 3 midi is broken?



  • Ken

    I am going to try this out tonight. I'm normally 75% Ableton Live, 25% Pro Tools, and I've been routing OSC through TouchOSC to Live, and havent been able to drop the $100 on ProControl for protools yet. With the iPad, both of those would be killer, but that takes out my ability to pay for the OSC software. So this seems like a good idea! At least for having fun.

    @ Jeff – GREAT idea. I have overlooked that idea for my entire experience with OSC, I've always thought about it as live performance fun 😀 Granted, there are ways to write osc as midi, but who wants to do that?!?!

    Honestly, for a while there the thought of OSC was super cool, but being on a PC at the time, i had to constantly reconfigure, reconnect to the wifi, and deal with a bunch of bs. OSCulator and OSX have saved my life. Now, if only we could get Ableton to make OSC native, and then someone could build an APC40 styled TouchOSC template, @ ipad resolution 😀

    Oh, and i would kill for a way to use the Dock/USB cable from iphone/ipod/ipads as a direct connection, instead of wifi…. but thats like asking for world peace!!!

  • @Ronald: The Max template would require a Mac, but I'm fairly certain there should be a way to avoid Max as an intermediate step, or at the very least, port to Pd.

    @Ken: Hmm, not sure what was going on with Windows there – shouldn't be any different, so maybe something unique to your system?

    That said, on the Mac, your big advantage aside from the excellent OSCulator is a terrific port of both JACK and Ardour. So even alongside these other tools, I'm surprised that people don't just keep Ardour around in their tool belt.

    Dock connection / hard-wired connection – yeah, evidently not on iPad. You can ask for it, but you're just going to get it from Android/Linux/Windows tablets, not the iPad, would be my guess.

  • Ken

    @Peter: It probably was specific to my windows machine, but that being said, im happy as a clam now 😀

    Cant wait to try Ardour tonight!

    Thanks again CDM for keeping me informed 😀

  • @Ken: Yes, I am indeed an advocate of *things working*.

    ("Think Functional.")

    ("Think Not Broken.")

    Let us know how you fare with Ardour. I'm finally spending more time with it myself. Of course, when that MIDI arrives, that could wind up being much more time.

  • Oh! I have Ardour and JACK on my 20"Imac but running TouchOSC with Ipad on OS X is not desirable to me except for 'amusement only'. Having it work with Indamixx as a mobile 'luxury' tool is a super benefit.

  • That combination should definitely work, especially with the template ready to go. I've got an iPod touch and TouchOSC, so I can go ahead and check it with Ardour.

  • Hey thanks for enjoying the work I did with Ardour and TochOSC!

    The reason why I have to run MaxMSP in the background is to format the OSC messages for Ardour. I guess you could use a variety of different programs to do this, but since I like MaxMSP that is what I am using. TouchOSC will always send a either a "1" or a "0" with every button/toggle to indicate "on" or "off" status, but Ardour wants to see a message without these numbers such as:

    "/ardour/access_action editor/normalize"

    Most of what I did in the MaxMSP patch was to eliminate those additional number, but once I was working in the MaxMSP environment I decided to use it for a few other things as well, such as creating the scrub dial that you can see in the picture above, and also setting up a matrix of buttons on page 2 that will allow you access the "save visual state" and "recall visual state" commands inside Ardour.

    Hope that makes sense.

  • I second the desire for something that sequences OSC! I'd be interested in exploring using a good sequencer to control Max/MSP patches accurately, without the tiresome MIDI mapping that has to be done to use logic and Max together in this way. And if you need higher than 7-bit resolution tough luck unless you want to combine two or three CC#s together for 14 or 21-bit resolution (I admit to having done this between Max and Quartz composer at one point).

    I guess of you don't need too many control streams and 24-bit is OK you can use jack – recording audio in your DAW – a really high control rate! But then again, not as nice as MIDI to edit in that way, and big files…

    BUT – an interesting option to look at on the Max/MSP side is FTM – the IRCAM data-processing library for Max. It has a multitrack editor interface that can work with vectors, breakpoint functions, time tagged values and even tracks of matrices all in 32-bit float, plus MIDI-like notes. And it makes complex manipulations of non-video matrix pretty easy. The only trouble is A) figuring it all out and B) keeping it from crashing. I love the stuff that FTM does, but I always seem to get burned – It's the only Max patching I've ever done where you have to pay attention to which thread things are executing it to avoid seemingly random crashes.


  • Pier

    When will ardour have midi?

    I just downloaded it and was really disappointed… I thought I could use it also to compose.

  • @Pier: 3.0. Currently in development.

  • Greg

    *scratches head*
    Pier – this isn't my field at all, but couldn't you convert midi to OSC somehow or another via JACK? Let MIDI die, people.

  • Jon

    re Android: just please remember that some of us use devices – even phones, horror – with physical keyboards. Allowing us to configure what they do would be great! (Touch isn't everything… particularly for discrete actions and large option sets.)

  • boonier

    On OS X there's

    An audio unit plugin that converts host info to osc messages:auosc

    An odd OSC sequencer called IanniX

    I haven't used either extensively, but I'd like to in the future!

  • Hi Peter,

    Thanks for drawing attention to THE DAW.

    In case you do want the actual URLs for Apostool, there's a little typo for the link to the ardour forum (it's not an ssl connection).

    And the project page for Apostool is

    Also the last link to the call for MIDI controller mappings is wrong too, you put a supplementary "http//" !?

    Anyways I quite like your blog for there are some really interesting articles.

  • cobb

    @boonier: thanks! auosc just made my night.

  • s ford

    Ardour has no support for virtual instruments yet. Will do in V3.

    Am I one of the few idiots left who has no idea what OSC is? No one has seemed to explain it clearly enough to understand what it exactly is and what it's use it.

  • ld

    Any fellow Mac OS / Linux users out there specifically using Ardour for live (especially real-time performance) applications?

    I've been curious for a while, but haven't bit the bullet to try it yet…

  • A Different Jonathan

    "The advantage of OSC over MIDI or even traditional keymaps is that there’s no translation of one thing to something else."

    ??? OSC has its advantages, but "there's no translation" can't really be counted as one of them. There's still translation; it just happens in a different place.

    "You need either an OSC app that forms these messages correctly for Ardour, or something in between to translate."

    There's the rub.

    Sure, it's pretty nifty that all the OSC messages have human readable names, but in this modern era of nearly-universal MIDI Learn capability that's not all that special. Either way, you're linking an abstract control object to a helpfully human-readable function.

    In one case, you're looking at the DAW interface, in the other you're in your OSC control app looking at the list of available messages. There's nothing particularly special about OSC here.

    "It’s also not hard to look at the OSC commands and imagine a more generic spec for common, shared commands that would work across DAWs."

    When those kinds of generic specs start to solidify, I'll bust out my megaphone and join the OSC Spirit Club. But right now, people seem to cheer it on for doing things MIDI was already doing just fine.

  • Right, but a proper Ardour client could just load the entire spec and assign them according to your wishes to whatever controls you liked.

    Imagine translating that through MIDI. Possible, but — horrendous.

    So, even without a more generic DAW spec, this is already useful. The "translation" doesn't involve the human having to do it; it can happen behind the scenes.

    You don't need another app. That's why the TouchOSC example bothers me a little bit.

  • @boonier
    Thanks for pointing me to IanniX – looks really cool. I think I sort of understand how it works now – you'll definitely want to download the tutorial here. There are also some example scores and patches for other software there that might be useful.

  • Ranger Jay

    While Ardour is "technically" free, if you use it, you should throw the developer a little "donation" now and then.

    I try to give at least $10 a month. I don't use Ardour all that much, but once the MIDI and virtual instrument features are added, I might use it more often.

  • @Peter: the odd thing is that in Ardour3, getting the same level of control with MIDI is almost as easy as with OSC 🙂 In particular, all the menu actions are accessible for MIDI control, just as with OSC.

    The only thing that seems to make it hard it the mind-boggling set of designs for what MIDI control elements actually do. Knobs that send continuous CC's, two-valued CC's, NRPNs or CC's or both, note on with 5 different note values, buttons that send the note on and off with the same note or not … it goes on.

    Note that using a tool like mrmr or hexter, you wouldn't run into the issues with OSC message formats that Max did, but would have faced some design limitations that would be harder to work around.

  • Josh

    "Ranger Jay"…whatever, we all know you're Paul Davis. (but we'll throw you $10 anyway…)

  • Pingback: Create Digital Music » MOTU Digital Performer Adds Native OpenSoundControl()

  • Pingback: MOTU Digital Performer Adds Native OpenSoundControl « KraftGear: Music Production.()

  • Pingback: MOTU Digital Performer Adds Native OpenSoundControl | Proboke | We love Electronic Music!!()

  • João Pais

    For simple transport control (including an easy jack patcher) check my abstraction for pd-extended, [jmmmp/ardourjack-gui].
    Also, for a (maybe now incomplete) list of osc tags, check my pd member page, Or look deep into the ardour website (or chat line).

  • João Pais

    For simple transport control (including an easy jack patcher) check my abstraction for pd-extended, [jmmmp/ardourjack-gui].
    Also, for a (maybe now incomplete) list of osc tags, check my pd member page, Or look deep into the ardour website (or chat line).

  • João Pais

    For simple transport control (including an easy jack patcher) check my abstraction for pd-extended, [jmmmp/ardourjack-gui].
    Also, for a (maybe now incomplete) list of osc tags, check my pd member page, Or look deep into the ardour website (or chat line).