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.
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:
However TouchOSC always sends a number after the command signaling either and on or off state:
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.
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