Ardour and OSC Ideas



Ardour is a very inex­pen­sive open source DAW soft­ware that runs on Mac OS and Linux though the use of the Jack Audio Connections Kit. It is essen­tially free, how­ever a small dona­tion will give Mac users the abil­ity to save AU set­tings with a project. In addi­tion to it being open source, many of its func­tions can also be con­trolled through OSC.

Considering the high price tag on most DAW soft­ware I was a lit­tle skep­ti­cal of the sta­bil­ity and use­ful­ness of some­thing that was basi­cally being given away for free. No rewire sup­port and its depen­dency on Jack also made me won­der 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 sta­ble pro­gram that is fully capa­ble for most appli­ca­tions, and the use of Jack to route audio has worked flaw­lessly on my MacBook Pro so far. In fact, being free from the con­straints of what is rewire-able has actu­ally opened up some cre­ative pos­si­bil­i­ties that I though wouldn’t have been pos­si­ble before.

TouchOSC Transport

Many of Ardour’s func­tions can be con­trolled through OSC. There is an arti­cle on the SuperCollider wiki that will give you the most basic com­mands, but by down­load­ing and view­ing the source code I was able to find many more fea­tures that can be controlled.

Because Ardour sup­ports reciev­ing OSC com­mands, I was hop­ing that I would be able to have my iPod run­ning TouchOSC com­mu­ni­cate directly with Ardour, with­out using any other soft­ware such as Max/MSP, PD, or OSCulator, as a sort of middle-man to for­mat the data cor­rectly. Unfortunately, that wasn’t the case.

Ardour wants to recieve an OSC mes­sage that looks like this:

/ardour/transport_play

However TouchOSC always sends a num­ber after the com­mand sig­nal­ing either and on or off state:

/ardour/transport_play 1

Because of this I’ve been work­ing on putting together a sim­ple Max5 patch that will re-format all the TouchOSC mes­sages to the proper syn­tax that Ardour is expect­ing, which is prob­a­bly all for the best since there are some other para­me­ters that need a lit­tle cus­tomiz­ing as well.

I am plan­ning the TouchOSC lay­out to be 4 pages. The first two shown below are mostly trans­port func­tions. The next two will fea­ture zoom­ing, track selec­tion, and indi­vid­ual track functions.


Ardour, Jack, and Max/Msp

Max for Live has been get­ting tons of atten­tion these days, but all together it can be a rather costly bun­dle of prod­ucts depend­ing on what you already own. Jack makes it very sim­ple to route audio from an Ardour track, to Max, and back through the Ardour mas­ter fader.

The doc­u­men­ta­tion that comes with Jack explains very thor­oughly the basics of rout­ing audio around your com­puter. There is also a Jack plug-in that pro­vides even more rout­ing flex­i­bil­ity, but I can never get the plug-in to work prop­erly with Ardour. It does how­ever work with Max5. I’m not sure if this is a bug in Ardour, Jack, or just some­thing about the way my com­puter is set up.

I remem­ber hav­ing lots prob­lems a cou­ple years ago try­ing to per­form sim­i­lar oper­a­tions with Cycling 74’s Soundflower. Jack takes a lit­tle time to set up prop­erly, and depend­ing on the vari­ety of your projects you might need to cre­ate sev­eral dif­fer­ent rout­ings, but it seems to work rather well.

This might not pro­vide you with all the same bells and whis­tles of Max for Live, but it does give you the same basic func­tion­al­ity. Also, in the spirit of free soft­ware I should point out that this works equally as well with PD, a sim­i­lar pro­gram to Max/MSP that is free, or any other pro­gram you might want to use.

Potential Drawbacks

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

There is no Rewire or VST sup­port. The devel­op­ers of Ardour point out that the rea­son for this is that legally these tech­nolo­gies can­not be used in open source software.

However, if you are com­puter savvy enough, and don’t mind com­pil­ing the pro­gram your­self, appar­ently there is a way to include the abil­ity to use VST plug-ins. This hasn’t been too much of a prob­lem for me since Ardour does sup­port the AU for­mat 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 appli­ca­tions like rewire, what it doesn’t do is sync one appli­ca­tions trans­port to the other. Syncing feels a bit hack­ish at the moment, but Ardour does sup­port using MMC and MTC, so there are options. QJackctl is an alter­na­tive GUI for Jack that has a trans­port fea­ture that in the­ory you can use to sync appli­ca­tions. I haven’t tried it yet so I can’t say how well that works.

A cheap pro­fes­sional grade DAW

In these tough eco­nomic times, when the price of cre­ative soft­ware soars high above what most peo­ple can afford to pay for it, and soft­ware piracy is essen­tially com­mon place for any­one look­ing to get ahead in the dig­i­tal media world, I am sur­prised that more atten­tion hasn’t been given to this amaz­ing product.

Though this does seems to be chang­ing. Just min­utes after I started writ­ing this post I noticed a new arti­cle about Ardour with some great videos on audio­jun­gle. Whether your needs are sim­ple, or com­plex, I think Ardour is an amaz­ing and afford­able option.

If you are excited about me fin­ish­ing the TouchOSC trans­port lay­outs and accom­pa­ny­ing .max­pat, leave me an inspir­ing com­ment to help speed up the process.

If you would rather have the accom­pa­ny­ing patch be in PD for­mat, please let me know.


Share and Enjoy:
  • Facebook
  • Twitter
  • Digg
  • Reddit
  • Technorati
  • del.icio.us
  • Google Bookmarks
  • LinkedIn
  • StumbleUpon
  • MySpace
  • Fark
  • Tumblr

5 Comments

  1. João Pais said on February 5th, 2010

    Hi,

    did you went fur­ther with the work? Just to say that I’m a Pd user, and I’m going to work on some­thing involv­ing Pd+Ardour. I’ll basi­cally doc­u­ment what Pd does in Ardour, con­trol­ling Ardour from Pd. I just started some hours ago look­ing for the osc com­mands, but I think I have foundd most of them. A pre­lim­i­nary list is at http://puredata.info/Members/jmmmp

  2. maxbreakwell said on February 5th, 2010

    Thanks for writ­ing João.

    I did get side­tracked for a while, but I am going to write a new post soon on this topic with a fin­ished ver­sion of a Max/Msp Patch and a TouchOSC lay­out. There are MANY OSC com­mands that you can find by down­load­ing the source code for Ardour.

    As you men­tioned 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 com­mands from this file you must use the fol­low­ing 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

  3. maxbreakwell said on February 10th, 2010

    Check out the fully real­ized ver­sion of this idea…

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

  4. Dave Phillips said on April 12th, 2010

    I’m also excited about the pos­si­bil­i­ties of the Ardour + OSC com­bi­na­tion. You might want to con­sider the fol­low­ing appli­ca­tions to add more inter­est to your explorations:

    http://kymatica.com/Software/AlgoScore

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

    Best,

    dp

Leave a Reply

Trackbacks

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