Re: Audio recording bitdepth
Re: Audio recording bitdepth
- Subject: Re: Audio recording bitdepth
- From: Paul Davis <email@hidden>
- Date: Wed, 2 Dec 2009 18:13:56 -0500
On Wed, Dec 2, 2009 at 5:37 PM, Bjorn Roche <email@hidden> wrote:
> Here's my survey of what's happening on other platforms and what's
> bit-transparent:
>
> http://blog.bjornroche.com/2009/12/int-float-int-its-jungle-out-there.html
>
> I will be discussion linearity, dither and so on, next.
IMHO, your notes on about "bit transparency" are pushing the point of honesty.
The techniques that generate bit transparency (i.e. int->float->int ==
original value) fail to map the full dynamic range during at least one
transformation between the two formats. Your yourself note that the
problem is that two's complement format generates 1 more negative
value than positive values for the full dynamic range, and thus can't
be represented perfectly by a symmetric floating point range. This
therefore creates a conundrum: either you ensure perfect bit
transparency for an int->float->int conversion by introducing
distortion on the inbound transform OR you avoid distortion on the
inbound conversion and add it on the outbound.
Your table suggests that transparency is the only virtue, whereas in
fact there are two virtues, and you have to choose one. Bit
transparency would presumably be the right goal if you do no
processing whatsoever on the signal - appropriate for reading integer
format samples from disk, pushing them into CoreAudio or another
float-only audio API, and then back out through an integer format
audio interface. However, if you intend to do any kind of processing
on the samples, one can make a case for preserving every bit of the
dynamic range when converting to float and before applying the
computational processing to the values, and then putting up with a
tiny amount of distortion on the outbound.
_______________________________________________
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