Ardour and OSC Ideas - maxBreakwell.com

Ardour and OSC Ideas



Ardour is a very inexpensive open source DAW software that runs on Mac OS and Linux though the use of the Jack Audio Connections Kit. It is essentially free, however a small donation will give Mac users the ability to save AU settings with a project. In addition to it being open source, many of its functions can also be controlled through OSC.

Considering the high price tag on most DAW software I was a little skeptical of the stability and usefulness of something that was basically being given away for free. No rewire support and its dependency on Jack also made me wonder if it was worth the time exploring.

After using Ardour for a few weeks I have to say I was wrong to ever doubt it. I have found it to be a very stable program that is fully capable for most applications, and the use of Jack to route audio has worked flawlessly on my MacBook Pro so far. In fact, being free from the constraints of what is rewire-able has actually opened up some creative possibilities that I though wouldn’t have been possible before.

TouchOSC Transport

Many of Ardour’s functions can be controlled through OSC. There is an article on the SuperCollider wiki that will give you the most basic commands, but by downloading and viewing the source code I was able to find many more features that can be controlled.

Because Ardour supports recieving OSC commands, I was hoping that I would be able to have my iPod running TouchOSC communicate directly with Ardour, without using any other software such as Max/MSP, PD, or OSCulator, as a sort of middle-man to format the data correctly. Unfortunately, that wasn’t the case.

Ardour wants to recieve an OSC message that looks like this:

/ardour/transport_play

However TouchOSC always sends a number after the command signaling either and on or off state:

/ardour/transport_play 1

Because of this I’ve been working on putting together a simple Max5 patch that will re-format all the TouchOSC messages to the proper syntax that Ardour is expecting, which is probably all for the best since there are some other parameters that need a little customizing as well.

I am planning the TouchOSC layout to be 4 pages. The first two shown below are mostly transport functions. The next two will feature zooming, track selection, and individual track functions.


Ardour, Jack, and Max/Msp

Max for Live has been getting tons of attention these days, but all together it can be a rather costly bundle of products depending on what you already own. Jack makes it very simple to route audio from an Ardour track, to Max, and back through the Ardour master fader.

The documentation that comes with Jack explains very thoroughly the basics of routing audio around your computer. There is also a Jack plug-in that provides even more routing flexibility, but I can never get the plug-in to work properly with Ardour. It does however work with Max5. I’m not sure if this is a bug in Ardour, Jack, or just something about the way my computer is set up.

I remember having lots problems a couple years ago trying to perform similar operations with Cycling 74′s Soundflower. Jack takes a little time to set up properly, and depending on the variety of your projects you might need to create several different routings, but it seems to work rather well.

This might not provide you with all the same bells and whistles of Max for Live, but it does give you the same basic functionality. Also, in the spirit of free software I should point out that this works equally as well with PD, a similar program to Max/MSP that is free, or any other program you might want to use.

Potential Drawbacks

There are a few things to be aware of with Ardour.

There is no Rewire or VST support. The developers of Ardour point out that the reason for this is that legally these technologies cannot be used in open source software.

However, if you are computer savvy enough, and don’t mind compiling the program yourself, apparently there is a way to include the ability to use VST plug-ins. This hasn’t been too much of a problem for me since Ardour does support the AU format and most of the plug-ins I like and use work just fine as an AU plug-in.

Even though Jack can route audio in between applications like rewire, what it doesn’t do is sync one applications transport to the other. Syncing feels a bit hackish at the moment, but Ardour does support using MMC and MTC, so there are options. QJackctl is an alternative GUI for Jack that has a transport feature that in theory you can use to sync applications. I haven’t tried it yet so I can’t say how well that works.

A cheap professional grade DAW

In these tough economic times, when the price of creative software soars high above what most people can afford to pay for it, and software piracy is essentially common place for anyone looking to get ahead in the digital media world, I am surprised that more attention hasn’t been given to this amazing product.

Though this does seems to be changing. Just minutes after I started writing this post I noticed a new article about Ardour with some great videos on audiojungle. Whether your needs are simple, or complex, I think Ardour is an amazing and affordable option.

If you are excited about me finishing the TouchOSC transport layouts and accompanying .maxpat, leave me an inspiring comment to help speed up the process.

If you would rather have the accompanying patch be in PD format, please let me know.


December 15, 2009

5 responses to Ardour and OSC Ideas

  1. I’m also excited about the possibilities of the Ardour + OSC combination. You might want to consider the following applications to add more interest to your explorations:

    http://kymatica.com/Software/AlgoScore

    http://www.niallmoody.com/otherprograms.htm

    Best,

    dp

  2. Pingback: Create Digital Music » Want a DAW that Supports OSC? In a World of Doesn’t, Ardour Does – Free

  3. maxbreakwell said:

    Check out the fully realized version of this idea…

    http://www.maxbreakwell.com/max-msp-jitter/touchosc-and-ardour/

  4. maxbreakwell said:

    Thanks for writing João.

    I did get sidetracked for a while, but I am going to write a new post soon on this topic with a finished version of a Max/Msp Patch and a TouchOSC layout. There are MANY OSC commands that you can find by downloading the source code for Ardour.

    As you mentioned in your list many can be found at [your ardour folder]/libs/ardour/osc.cc.
    Also, if you look in [your ardour folder]/gtk2_ardour/editor_actions.cc you can find even more.

    When using the OSC commands from this file you must use the following format:

    /ardour/access_action Editor/name_of_command

    That should give you plenty to work with.
    Please check back within the next week if you’d like to see what I have been doing with these ideas.

    Thanks for reading,

    Max

  5. João Pais said:

    Hi,

    did you went further with the work? Just to say that I’m a Pd user, and I’m going to work on something involving Pd+Ardour. I’ll basically document what Pd does in Ardour, controlling Ardour from Pd. I just started some hours ago looking for the osc commands, but I think I have foundd most of them. A preliminary list is at http://puredata.info/Members/jmmmp

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>