On Apr 11, 2023, at 3:27 AM, STEFFAN DIEDRICHSEN wrote: > - Stefan Stenzel proposed to gain up the input by some hundred dBs and gain > down the output accordingly to push out the likelihood of an underflow, which > leads to an interesting compander scheme.
I'm philosophising here, but I don't think it's accurate to call this option a "compander," because there's no compression of expansion. The fact that floating point signal samples are normalized to the range of -1.0 to +1.0 is basically arbitrary. It seems like one of those decisions made for human convenience, and not mathematical optimization. Even with this standard, there's a conversion required before the DAC to convert floating point to fixed point (I'm going to ignore floating point DAC chips). In other words, there's already a gain in and out for the ADC-to-sample-to-DAC flow, so changing the specifics is nothing like companding. Given the natural range of IEEE floats, it might make sense to dispense with the normal -1.0 to +1.0 assumption and use something larger. One might merely need to consider the maximum number of channels that need to be mixed together, and not bother with any more headroom than would be needed. Of course, all the software would have to be rewritten if the -1.0 to +1.0 standard were abandoned. However, that's not too far fetched because we already have DSP systems that are entirely proprietary at the sample level (the digital audio I/O, ADC and DAC are operating with 24-bit fixed point, and thus remain compatible no matter what the internal floating point normalization is used). Thanks to Stefan Stenzel for bringing something to my attention that I hadn't stopped to consider: The natural range of floating point, and how digital audio signals might best fit within that range. Brian Willoughby