[Ardour-Users] Saving disk space
gunter at peterpall.de
Sat Oct 1 03:10:56 PDT 2016
Processing needs to be done in floating-point:
One example why this is necessary is that a simple low-pass that reduces the signal amplitude might shift low frequencies in respect to high frequencies - and it therefore might happen that even if the overall signal strength is reduced by the low pass at one point in time it makes a peak of a high-frequency signal coincide to a low-frequency one exceeding the original 16-bit-amplitude limit .
For multi-stage-filters one can always think about putting the one that reduces the signal amplitude the most first - and then add the other stages. But as reducing the amplitude with 16 bit inevitably looses quality this will reduce the quality of the input signal of all subsequent stages - that each will make rounding errors and loose quality again. Or one can order them that the first stage reduces the amplitude less than the subequent ones - which looses less quality but risks having peaks with too high an amplitude after the first stage.
Floating-point doesn't loose too much information for silent signals and doesn't loose information if things get too loud.
A thing I am not sure about is if it would be theoretically possible to save unprocessed 16-bit-data in 16 bits per sample and then convert it to float on-the-fly while reading it. It would surely add complexity to the reading logic, though, if it ain't already implemented (am using 24-bit for most recordings, so I've never tried.)
More information about the Ardour-Users