[Ardour-Dev] OSC sequencing with Ardour?

Pau Arumí parumi at iua.upf.edu
Sat May 17 13:00:36 PDT 2008


On dv, 2008-05-16 at 13:17 -0600, Michael Taht wrote:
> Pau Arumí Albó wrote:
> > I'm not interested in using OSC to control the mix (or whatever Ardour
> > control) but only in the second case you mentioned.
> >
> > It is not theater lighting in the case at hand but a 3-D acoustic
> > modeler app. And the OSC message sender is not a hardware controller but
> > a 3-D graphics (gaming) engine that sends the sound sources and
> > listeners positions.
> >
> > The benefits i see in using Ardour for this are:
> >       * aligned to the OSC controls i also need to record and play audio
> >         sources (that also feeds the acoustic renderer)
> >       * the existing automation user interface is already suitable for
> >         editing each OSC control.
> >
> > It is good to know that sounds interesting and seems doable in 3.x
> >
> >   
> Actually it's doable now, so long as you can put up with a little
> clunkyness in ardour's visual representation, and a maximum fixed number
> of players (adding tracks tends to be glitchy, but enabling a
> pre-existing track is not)
> 
> Are the audio sources and destinations connected to jack? - eg:
> 
> ardour trk player1 -> renderer
> ardour trk player2 -> renderer
> ardour trk player3 -> renderer
> ...

Yes, that's the idea.

> You'd write an LV2 plugin that has support for positioning information
> (pick your co-ordinate model: x,y,z, polar, etc. Incidentally a "speed"
> set of coordinates would be interesting in creating doppler effects, and
> compensating for network latency). In current ardour these would be
> presented by a classic 2D strip, one per control.

I came up with the same idea after writing the last mail. A (LV2) plugin
that converts OSC messages to (many) controls, and the other way around,
seems an easy and clean solution, and don't require any changes in
Ardour. Additionally, the plugin might depend on a configuration file
that specifies the exact mapping between OSC messages and controls. 


> The plugin would be different from normal plugins because it would know
> about the existence of other invocations of the plugin and share data
> with them.
>  
> (there's another way to skin this cat, in that you can write a plugin
> that accepts X number of channels, and do all this on one track)

My original idea is to render the audio in a separate jack application,
so the plugin do not need any audio channel. Ardour would just be
sequencing audio (in multiple tracks) and OSC (in multiple automated
controls of a single plugin)


> Assuming all this is running on one box, rather than over the network,
> you could embed the controller information in a jack stream(s) (which is
> nothing but floating point numbers, anyway),
> which would give you continuous point sources to play with.
> 
> Using OSC you'd have to be "snapshotting" the position at frequent
> intervals...

Using audio to transport... well it's an interesting option. But i think
it's too much band with for my purposes. A lower rate with interpolation
in the receiver is enough.

> ...
> 
> What's the renderer? App? Sounds like fun.

A 3D audio acoustic modeler, with a binaural (using HRTFs) output, for
example. You are right, it is fun :-)

Pau




More information about the Ardour-Dev mailing list