Re: Matrix Mixer & Busses
Re: Matrix Mixer & Busses
- Subject: Re: Matrix Mixer & Busses
- From: james mccartney <email@hidden>
- Date: Fri, 19 Sep 2008 13:36:01 -0700
On Sep 19, 2008, at 12:24 PM, Andrew Butcher wrote:
Hi,
I'm new to Core Audio (and audio programming in general), but I'm
writing an ambisonic panner. I realize that 3DMixer has it covered,
but 3DMixers limitations (supported speaker arrangements, order of
approximation) require that I implement my own.
I'm not sure how to conceptualize the audio graph to support
independent panning of an arbitrary set of sources. In particular, I
don't know how what to make of bus counts, and whether I need one
matrix mixer, or one matrix mixer per (independently panned) source.
I think I need a single matrix mixer with a number of input busses
equal to the maximum number of sources to be played at a time, and
an output bus per device to render to. Does this seem about right?
Thanks!
Andrew.
First of all, you can only have one device (or one aggregate device)
pulling a graph of audio units.
The matrix mixer internally is just a flat grid of input channels to
output channels.
These can be divided up into buses however you like.
So for example if you wanted 16 mono sources panned and mixed to a
single B format output, you would set the input bus count to 16 and
the output bus count to 1. And then you would set the stream formats
for each input bus to have one channel, and the output stream format
to have 4 channels.
You then have a flat 16 x 4 matrix.
Each input has 4 crosspoint levels that control the level sent to each
of the four outputs. To pan the input you set these four levels
according to your ambisonic formulas.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden