Film Post Production Tool. Should I support Ardour?

Are there detailed specs for Ardour’s project file format?

I do a fair bit of sound post for film and recently had to cope with getting sound out of FCP X a few times which went horribly wrong pretty much every time. It turned out that most of the conversion tools don’t work very well.

I got so frustrated with corrupted projects that I wrote my own conversion tool called Vordio, which translates video projects into sound project. Version 1.0 only supports converting FCPX -> Reaper but I want to add support for more programs soon.

I want to support fully featured but budget level DAWs (not the expensive ones like protools) so I started with Reaper as I like it a lot and use it often (http://reaper.fm).

Anyway, I am now considering adding support for other DAWs and Video editing programs, so wondering about if Ardour should be next on the list of DAWs.

If you are curious about my conversion tool it is here.

http://vordio.net

Thanks,
John

@vordio: i am on IRC (as “las”) typically US Eastern daytime (say, 07:00 - 22:00). similarly for seablade. speaking personally, i have no bandwidth to spare on discussions of file formats at present.

When is a good time to find people in the IRC? Will do. For now here are some thoughts.

One of the limitations I noticed of media formats while writing my tool, is that not all media editing programs use the track based paradigm. FCP X is an example of this has no concept of tracks internally whatsoever, instead it is node based, with everything hanging in parent/child relationships off a single track (the storyline). This is more like the way many compositors/3D programs work - node based. Most audio programs however assume the track based paradigm due to the legacy of mixing desks.

When mixing differing media types, timing can lead to strange problems when assuming times are in floating point seconds. Rational numbers seem better for mixing time formats and media types. For instance a location in an audio file can be described easily as 5000/44100 and in a video file 5000/25 and a sequence can be divided into bars, notes, frames etc. For instance 1001/30000 is 29.9700x…

Media needs to be referable to within media containers easily. For instance one of my camera produces 4 streams for footage - 1 video, 2 audio and 1 timecode data. Each stream may also have mutliple channels. So you need to be able to say this file container, this stream, these channels to properly specify some selection of media. This has been a problem with some conversion tools I tried, they would assume the audio was the first audio stream and was extracting the wrong audio (I had used the 2nd audio stream in my project).

Media is often nested in different programs. One of the issues I ran into writing my tool is that supporting cross fades in reaper didn’t make sense easily as there were no tracks and also crossfades between two nested clips (which may explode to multiple tracks!). Essentially a clip can be an entire sequence in itself with its own channel mapping!

I think I have a solution that can account for both track based and node based paradigms.

I think the time is right for a public licensed interchange format that actually is flexible but simple enough. I might release a version to see what people make of it later.

It is worth noting that Ardour’s format, while not perfect right now for this, is already a good step towards that as it is just plain XML and easily readable, one of the reasons that Harrison is interested in it IIRC, as you can easily adapt it to other things. So if you go down this route, it may be worth it to drop in on IRC and discuss with Paul and see if it might be easier to use Ardour’s session format rather than create one from scratch.

I thought a lot about making it cross platform as that makes a lot of sense for projects that use local media storage i.e. all the audio in a folder and most audio DAWs do this by default.

However, video programs rarely do this due to the size of media involved and is often spanned across many drives. A translator like mine basically sucks out all the relevant audio streams within video footage so it then uses much less space and can be stored in a single folder like DAWs do.

So my conclusion is that input can’t easily be cross platform, but output can.

I would love to discus this at more length with you sometime, but am sadly heading out at the moment(Just finished up at my work). Personally I am not convinced of this, while you are obviously correct on how the various software handles media, I am not sure that I agree this is a reason to avoid cross platform usage on it, but I am also wondering if there is a miscommunication happening in here that I am meaning one thing and you are reading it different or vice versa.

   Seablade

PS Not going to disagree with your philosophy on handles at all, though there are points where I would rather not deal with the extra file size, for instance my current workflow involves 2-3 video editors that hand me files over the internet on somewhat poor broadband connections via dropbox or google drive. In those cases working on several hours of source material for a 15 minutes production may kill us:) On the flip side I am right there with you in regards to room tone as well.

OK. It seems there may be interest in this for supporting ardour, so I may add this soon.

Thanks for pointing out mixbus. I didn’t realise that mixbus was based on ardour and could open ardour files. Extra good reason to support ardour then.

The handles thing always frustrated me as sometimes I want to scan through a file to find a bit of room tone outside the small handle range. So my tool philosophy is no handles, always complete files.

Yes, mine is the kind of tool you would instruct the client to use on their platform to generate a converted project, which could then be sent to you. This is necessary because all the media needs to be online to be transcoded correctly and differences in file sytems cause havoc when doing that on a different platforms (i.e. running wine or on windows which map volumes differently). Also, I can hook into system platform provided tools (I use some apple stuff in mine).

I have used AATranslator, in fact, I have been helping them fix their support for FCPX which they only added recently and is still problematic, sending test cases back and forth frequently. It was while doing this for a while, investigating problems for them with my broken projects that I realised I knew enough and it would be quicker to build my own. They are also fighting the extra uphill battle of having to run it in wine or windows when file system mapping gets in the way.

I am considering specifying a generic media interchange format. The OMF/AAF technical inconsistencies have driven me nuts over the years, and also are a legal licensing minefield for people writing tools. I think the time is right for a public licensed interchange format that actually is flexible but simple enough. I might release a version to see what people make of it later.

I thought a lot about making it cross platform as that makes a lot of sense for projects that use local media storage i.e. all the audio in a folder and most audio DAWs do this by default.

However, video programs rarely do this due to the size of media involved and is often spanned across many drives. A translator like mine basically sucks out all the relevant audio streams within video footage so it then uses much less space and can be stored in a single folder like DAWs do.

So my conclusion is that input can’t easily be cross platform, but output can.

PS Even if not cross platform I would probably still be interested;) At least I could hand it to my video folks and tell them to ‘do this’ :wink:

   Seablade
Are there detailed specs for Ardour's project file format?

It is actually straight XML and fairly straightforward to be honest. You not only have access to everything about the session format from the files themselves, but you also have all access to the code that reads and writes it as well. Any questions you ahve on it just ask in IRC on #ardour and chances are someone will get back to you with an answer (Or on the ardour-dev mailing list). There are a few tools that have been written to create/manipulate Ardour sessions outside of Ardour for various purposes IIRC.

I do a fair bit of sound post for film and recently had to cope with getting sound out of FCP X a few times which went horribly wrong pretty much every time. It turned out that most of the conversion tools don't work very well.

I am looking at exactly this but haven’t sunk the money into the replacement for automatic duck yet (I forget it’s name off hand) that exports AAF. But I do a lot of work with exported stems from FCPX in Ardour and Mixbus. What tools did you try may I ask and what problems did you have?

I got so frustrated with corrupted projects that I wrote my own conversion tool called Vordio, which translates video projects into sound project. Version 1.0 only supports converting FCPX -> Reaper but I want to add support for more programs soon.

You make this cross platform and support Ardour (And thus Mixbus) I might be first in line to purchase it. I would also suggest you get in touch with the good folks at AATranslator, which I have heard is a great piece of software but sadly is Windows only so I haven’t tried to get it working in Wine on Linux or Mac yet myself.

Let me know if you keep progressing with this, I would be very interested. Especially if I can manipulate handles on either side of the video edits my video guy[s]/gal[s] do now.

  Seablade