Audio recording bitdepth
Audio recording bitdepth
- Subject: Audio recording bitdepth
- From: Bjorn Roche <email@hidden>
- Date: Sat, 28 Nov 2009 17:02:21 -0500
Hey all,
A recent discussion on another mailing list made me realize that I
may not recording (or playing back) audio in a bit-transparent way.
Currently, my app interacts with CoreAudio via floating point numbers,
and I'd like to keep it that way [1]. I would like to make sure that
integer-based linear-PCM files recorded or played back (with the
assumption of unity gain in between) on a device with the same or
higher bit-resolution remain bit-for-bit identical. For example, a 16-
bit file should play back via a 16-bit spidf interface exactly the
same as it is on the file, despite having been converted to float and
back to get into Core Audio (of course, dither may also be an issue. I
see nothing in the docs about dither).
Unfortunately, I cannot find any documentation about what int/float/
int transform is used by core audio, so I can't be sure (without
extremely painful testing) of what transform I should use as an
inverse transform. So if someone could let me know how Apple handles
these conversions, so I can properly invert them, I'd really
appreciate it.
thanks,
[1] this is because my app uses PortAudio, which is a portable API
that is built on top of APIs like CoreAudio. It interacts with the
AUHAL layer and does it's own conversions to non-float formats when
required. My app just speaks to it using float, and does it's own
conversions when reading files/playing back, which is not ideal, since
CoreAudio could give it the raw int-based data, but that's the way
things are.
bjorn
-----------------------------
Bjorn Roche
XO Wave
Digital Audio Production and Post-Production Software
http://www.xowave.com
http://blog.bjornroche.com
http://myspace.com/xowave
_______________________________________________
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