Re: Stereo > Mono Downmixing on iOS
Re: Stereo > Mono Downmixing on iOS
- Subject: Re: Stereo > Mono Downmixing on iOS
- From: Brian Willoughby <email@hidden>
- Date: Fri, 01 Apr 2011 01:21:55 -0700
On Mar 31, 2011, at 16:16, Roman Thilenius wrote:
when i was suggesting to use 1 overflow bit per channel that was
more like a philosophical answer to the thread starter, paul is
right that you will normally just use float to sum 2 channels,
even ikf the source was int24.
[snip]
but about float ... well, there IS a difference. using float32 to sum
up 2 float 32 channels which do not exceed 1.0 literally gives you
_many "overflow bits" - and not just the _one per channel which i
suggested as theoretically required.
when you think about summing in a DAW, the chaos theorem will
explain why float 64 should normally be enough to mix rock music,
even if the user really runs 400 tracks.
only in theory you need one overflow bit (as in "bits of precision")
per channel, but not in real life.
You actually need less than 1 overflow bit per channel. The
relationship is that 2^N channels requires only N overflow bits.
e.g. 4 channels requires 2 overflow bits, 512 channels requires 9
overflow bits. So, that "excessive" example of mixing 400 tracks
really only requires 9 overflow bits, and there's still be room for
112 more channels.
even if the threadstarter wants to sum 2 channels of int 24, doing the
math in int 24 with no headroom at all should be just fine in
practice.
There would be risk of clipping when mixing in exactly 24 bits.
Thankfully, iOS offers 8.24, so you have quite a few overflow bits.
There's enough room for mixing 128 channels in iOS without being
forced to switch to floating point.
The key is that floating point does not mean you have absolutely
nothing to do. You still have to deal with the potential for
clipping because the final output is always integer (unless you're
writing to a float file).
Brian Willoughby
Sound Consulting
_______________________________________________
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