Subject: Re: [linux-audio-dev] ardour, LADSPA, a marriage
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Mon Nov 13 2000 - 17:13:59 EET
I didn't think that this would end up as such an interesting reply!
See below :)
>FWIW I personally don't want a mixer reimplemented inside my computer,
>I don't imagine that a conventional mixer routing is very efficient
>in software, plus it seems a bit of a waste to reimplement something
>that can be done better externally.
Except that as David pointed out, with digital data, it *can't* be
done better externally ...
I feel that cubase fell down here, as
>I thought thier virtual mixer+outboards model was over complicated and
>wastefull, I never used most of the layers, as all I was doing was
>sending channel 1 out of output 1.
Well, the model I have in my head right now is that each track has a single
output destination. That could be:
* physical output channel
* a mixer strip
* a plugin chain
* a bus
the mixer strips, busses and plugin chains would in turn have their
own output destination(s), which could be any of the same list.
So, some possible routings:
1) Outboard mixer present
track data->output channel
2) Do some mono insert-style processing before sending to outboard mixer
track data->plugin chain->output channel
3) Send to internal mixer strip, then through a plugin chain then out
track data->mixer strip->plugin chain
4) Mix several signals, route to a bus, then a common plugin chain then out
track1 data->mixer strip -\
track2 data->mixer strip -> bus1 -> plugin chain ->output channel
track3 data->mixer strip -/
Note that in all of the above, the "mixer strip" really functions
identically to a plugin chain. The only reason to support a "mixer strip"
is for better integration of the GUI into the internal system, which
can't be done easily with a plugin + GUI system. in all other
respects, its identical to a plugin.
The "bus" is a plugin itself: a simple unity gain mixer plugin
(i.e. it just collects all its inputs, add thems and sends them to its
single output)
So, to take the 5.1 example as a final case:
5) 5.1 surround mixing with per-speaker DSP
----------------------------------------
track data -> "5.1" plugin -> bus[1,2,3,4,5] -> plugin
chains[1,2,3,4,5] -> output channels [ 1,2,3,4,5]
the "5.1" plugin is a simple plugin with its own GUI. it has one
input, and five outputs.
the bus is a unity gain mixer plugin as described before.
Better than 5.1, however:
6) Ambisonics
track data -> "Ambisonic" plugin -> bus[1,2,3,4,5] ->
output channels [ 1,2,3,4,5]
One might prefer a gain control too:
track data -> "Gain" plugin -> "Ambisonic" plugin -> bus[1,2,3,4,5] ->
output channels [ 1,2,3,4,5]
and thanks to richard (i think) we have an ambisonic encoder (no GUI) already!
>With a quasimodo style "build your own mixer" design, now you're talking.
Say it loud brother steve! Yeah! Amen! :)
Seriously, thats the goal here, though without the dangling patch
cords (those ellipsoids were *too much fun* to code, though!).
The final part of this whole puzzle, which some of you may have
guessed at already, is how to get a program like Quasimodo to be an
input or output for something like Ardour. I have 90% of this solved
already ...
--p
This archive was generated by hypermail 2b28 : Mon Nov 13 2000 - 17:57:38 EET