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: Wed, 06 Apr 2011 15:29:34 -0700
On Apr 6, 2011, at 00:53, tahome izwah wrote:
Hi Brian,
Another factor is that it is entirely possible and well-proven
that signals
below the noise floor can still be discerned by the human hearing
system.
That's exactly the information I am looking for, except that you don't
provide a link to any work that would prove or disprove this theory,
either. I'd be curious if this is just a logical conclusion (which
makes total sense to me, no doubt about this) or if it can really be
backed up by a double blind study.
Darn it. I learned most of what I pass on via local Audio
Engineering Society meetings. The problem is that, although the
presenters often provide papers with references, they also cover lots
of 'facts' which do not come with citations. One relevant example is
this: Analog audio tape has maybe 60 dB of S/N ratio, and yet we can
hear music on that tape which is below the -60 dB point despite the
tape hiss. The hiss may be audible and annoying, but it does not
stop us from hearing sounds that are softer. These sorts of 'facts'
come from folks like J. J. Johnston, who worked with Bell Labs to
discover most of what we know about human perception of sound. I
scanned my PDF documents from the AES meetings, but could not find
any specific references on your question above.
On a hunch, I checked Bob Katz' book "Mastering Audio" and found the
digital equivalent of this statement (that we can hear signals below
the noise floor) supported on p. 55. That's a great book for
learning about audio and digital audio.
Thus, if your algorithms are entirely oblivious to what occurs
below -100
dBFS, then there could easily be audible problems.
Since this thread started with stereo-to-mono down-mixing, it's
fairly easy
to say that 32-bit is plenty.
But won't this give rise to exactly the problems (correlated noise)
that you mention above?
Good point. I left out an important step: dithering. Any time your
processing promotes the bit depth beyond what your DAC can handle,
you will need to dither the results to that specific depth. I sort
of take this for granted, because I use the Metric Halo Labs MobileIO
FireWire audio interface for all CoreAudio listening, and the 32-bit
canonical format is dithered to 24-bit before conversion to analog
(not by default, but because I set up a graph which does that).
However, if you carefully plan the gain so that there is only a
single significant digit, i.e., multiply or divide by a precise
multiple of 2, then you may not need dithering and there won't be any
quantization problems. Say you have two 16-bit inputs, left and
right channels from a 16-bit stereo source, you mix them into a 17-
bit intermediate and then divide by 2 ... this will not exceed the
precise range of 32-bit float, and you won't have any problems
converting that to analog with a 24-bit DAC. The iPhone would
require dither, though, since it is limited to 16-bit DAC output.
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