ok - but I don't see why this is such an issue.
AUHAL is interfacing through the HAL to the audio driver. No audio
hardware that I know of can even use all of the 24bits of
resolution that can be represented in a 32bit float.
If you keep your whole signal processing chain as doubles (which
you can easily do with audio units if you build your own) - and I
am sure that there would be some 3rd party interest to add to this
- you have at some point to go down to 24bit output (or come from
24 bit input).
So, exactly why is AUHAL a problem (or even a roadblock) here?
On Jul 29, 2009, at 12:27 PM, Evan Olcott wrote:
On Jul 29, 2009, at 2:04 PM, email@hidden
wrote:
The best next step here is for some industrious developer to
create a
double-precision AU host and go from there. It's a bit of a
chicken-
and-egg situation, but it would seem to start the ball rolling.
Coming from the host-development side (which we do with a small
handful of our products, Rax in particular), I can tell you that
we HAVE tried this and researched it, and our roadblock in the end
is the AUHAL drivers. Even if we WERE able to make the entirety of
the stream double precision, not only would we lose access to
almost every commercial AU, it seems to be brought down to (at
least) single-precision internally the AUHAL. We have yet to come
across an AUHAL driver that supports a 64-bit
AudioBasicStreamDescription as the input format. The drivers we've
analyzed seem to convert their data streams to 24-bit integer on
the outgoing side, so they take the single precision and convert
that to a more efficient data stream. 64-bits with multiple
channels is a pretty hot data stream - takes a wide pipe to push
that all through.
That said, it's not like we've seen every driver out there. If
there IS a double-precision clean AUHAL driver out there (that can
be used by third-party developers like us), please let us know -
we'd look forward to working with it. We'll be the guinea pig if
it gets double-precision AUs written.