Dear list,
is there any specific reason why dbtorms and friends do not take dB values <=0 as input?
From my point of view (and that of most people I know), an object called dbtorms should do a dB to RMS conversion, e.g. convert -20 to 0.000001 in pd and not silently output zero as it does right now. Both pd internally and high-quality audio cards can do sensible things with numbers this low.
Kind of reminds one of the Total Ozone Mapping Spectrometer (TOMS) bug http://earthobservatory.nasa.gov/Features/RemoteSensingAtmospher/remote_sens... which is frequently ranked among the top 10 historical software bugs with extreme consequences: It made NASA unaware of the antarctic hole in the ozone layer for years simply because the analysis software ignored ozone values below a certain threshold...
So please pd developers, change this or give a good reason for not taking lessons from history.
Best whishes, Matthias
Matthias Blau wrote:
Dear list,
is there any specific reason why dbtorms and friends do not take dB values <=0 as input?
From my point of view (and that of most people I know), an object called dbtorms should do a dB to RMS conversion, e.g. convert -20 to 0.000001 in pd and not silently output zero as it does right now. Both pd internally and high-quality audio cards can do sensible things with numbers this low.
Kind of reminds one of the Total Ozone Mapping Spectrometer (TOMS) bug http://earthobservatory.nasa.gov/Features/RemoteSensingAtmospher/remote_sens...
which is frequently ranked among the top 10 historical software bugs with extreme consequences: It made NASA unaware of the antarctic hole in the ozone layer for years simply because the analysis software ignored ozone values below a certain threshold...
Isn't this putting it a bit too dramatically? At least here the help file clearly states "zero dB, which should correspond to 0.0001 in "RMS", is instead rounded down to zero" so nothing you are unaware of really
dB isn't really a "physical" unit anyway, so I guess some approximation with it shouldn't crash any rocket [1]... :)
That said your request also makes sense.. maybe a [dbtorms2] to keep retro-compatibility and laziness.
Lorenzo
So please pd developers, change this or give a good reason for not taking lessons from history.
Best whishes, Matthias
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Tue, 9 Nov 2010, Lorenzo Sutton wrote:
At least here the help file clearly states "zero dB, which should correspond to 0.0001 in "RMS", is instead rounded down to zero" so nothing you are unaware of really
If it doesn't say that zero dB ought to correspond to 0.00001, it's damn wrong, because 0.0001 corresponds to 20 dB (in Miller's units).
dB isn't really a "physical" unit anyway,
yes and no, it's still meant to be an affine function away (ax+b) from the log of the voltage, assuming a distorsion-free rendering with a uniform response (... as if that existed ...).
so I guess some approximation with it shouldn't crash any rocket [1]...
Well, I was planning to launch a pd-guided missile... thank god you guys found that bug. ;)
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC
On Tue, 9 Nov 2010, Matthias Blau wrote:
is there any specific reason why dbtorms and friends do not take dB values <=0 as input?
Why ask the question, when it's not going to change, and when you can do :
[expr pow(10, ($f1-100)/20)] instead of [dbtorms] [expr log10($f1)*20+100] instead of [rmstodb]
That's all.
Kind of reminds one of the Total Ozone Mapping Spectrometer (TOMS) bug http://earthobservatory.nasa.gov/Features/RemoteSensingAtmospher/remote_sens... which is frequently ranked among the top 10 historical software bugs with extreme consequences: It made NASA unaware of the antarctic hole in the ozone layer for years simply because the analysis software ignored ozone values below a certain threshold...
I don't know, it might be some kind of denormalophobia, that is, fear induced by stupid stuff that looks like a bug in the Pentium 4.
So please pd developers, change this or give a good reason for not taking lessons from history.
For the most part, for internals classes such as [dbtorms], there isn't «pd developers», there's Miller and that's all. I don't expect [dbtorms] to change.
However, you could make an externals library that reregisters those two names with different formulas. Unfortunately, abstractions are still not allowed to take over names (without the help of a specially-crafted externals).
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC