| [coming late to this thread]
I have tended to assume people cite 96dB somewhat casually, based on 1
bit (doubling of level) = 6dB, so 16bits = 96dB. It is a convenient
approximation.
With dithering, you can get a dynamic range greater than 96dB, I forget
the details. I am rarely in a position to to turn the amp up loud enough
to notice.
NB: previous to implementing 0dbfs, I wrote the ampdbfs and dbfsamp
opcodes to enable decibel levels to be written in accordance with
industry practice (i.e. digital peak = 0dB), even when using the archaic
quasi-16bit amplitude model. But as noted elsewhere, setting 0dbfs=1
is by far the best approach these days.
The logic is very simple - digital peak equates to maximum level
regardless of sample resolution - if you then define a signal at -110dB
you will lose it if rendering to a 16bit file, but retain it (audibly
or not) if rendering to 24bit or better. In other words, there is a
fixed ceiling, but a moveable floor - you can define sounds as quietly
as you like (e.g. envelope tails), in a predictable way,and preserve
them or not (without changing the orch code at all), depending on the
resolution (file or audio i.o) you render to.
Richard Dobson
|