David Robillard wrote:
Is there any existing 'standard' for the order
of channels for
higher-than-stereo multi-channel streams?
I'd assume this would be defined for interleaving or something, though
that's not what it's needed for: I think the port groups extension
should specify an order for all the channels of the various types of
group. Though this isn't necessary useful in the normal case (ports are
separate ala LADSPA), with this replication stuff and presumably other
things the host and plugin are going to have to deal with sets of
buffers, and having a predefined standard order for them seems like it
would make life a lot simpler and faster (and not having one seems to
have no benefit).
For example, for discrete non-interleaved 5.1 (using a full channel for
the .1) we have 6 channels: left, center, right, rear left, rear right,
LFE (see
http://lv2plug.in/ns/dev/port-groups#FivePointOneGroup)
What order should these be passed in? Any existing practices?
don't know about x.1, but for ambisonics, the emerging standard seems to
be the "ambisonic channel number" scheme as defined here:
http://ambisonics.ch/standards/channels/
most favoured normalization scheme is sn3d, i.e. plugins will have to
deal with inputs greater than 1.0f.
of course, most applications up to now use the furse-malham standard of
w xyz rstuv klmopq, each being normalized to 0..1, with the exception of
W, which is additionally divided by sqrt(2).
but for political reasons, new plugins should use acn rather than fuma,
so that's what should be defined as a standard first. if there is
sufficient pressure and people are volunteering, another fuma scheme can
always be added.
regards,
jörn