fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Purpose of dither?


From: Mihail Zenkov
Subject: Re: [fluid-dev] Purpose of dither?
Date: Fri, 11 May 2007 13:21:15 +0300

On Thu, 10 May 2007 11:24:51 -0700 (PDT)
Z F <address@hidden> wrote:

> 
> --- Mihail Zenkov <address@hidden> wrote:
> 
> > 
> > :) Where are you read this? I six years do amplifiers (mainly on
> > tubes)
> > and acoustics. All amplification strongly linear. Otherwise, we have
> > big THD and IMD.
> 
> Well, what can I say, tubes afford huge dynamic range and so they go as
> linear as possible providing good quality. Consumer electronics,
> generally, does not have a huge dynamic range, so to solve the problem,
> speaker output (in other words, the last stages of amplification) are
> non-linear. This causes non-linear distortions in the signal, yes, but
> it is less noticable than clipping.

Edenyard right.
Roughly, chips amp can give dynamic range (DR) greater than tubes amp.
To get good DR from tubes we need special acoustics with sensitive 95
dB or more. But distortion from good tubes amp (not all tubes amp
good ;)) less sensible, than from chips amp. It psychoacoustic artifact.

> Where did I learn that... when I was little I used to fix analog
> consumer audio/video equivment, but I do not do that anymore. 

Last ten or more years we don't have any problem with cips -
tda7293/tda7294/lm3886 and many others can get great THD/IMD/DR. But
any amp need good power supply. It cost many, more than chips. Producer
often economize on it and on big amplitude we have soft clipping ;)

> > 2. Dynamic gain and gamma correction just do mezzo piano from my
> > pianissimo and mezzo forte from fortissimo.
> 
> Dynamic gain controll will do that, gamma-correction will not.

What do gamma if first note -80db and second -2dB ?  

> > I have equipment with self dynamic range more 100 dB. I want use
> > fluidsynth in home recording studio and need maximum quality.
> 
> If you have that than I do not understand why you have a problem.
> The problem is that input to it is 16bit digital? Than it is not 100dB.

As i say 96 dB enough for me and almost everybody in mostly case. 

> It the input is more than 16 bit, use it, no problems.
> If the input is analogue, use 24 bit card and no problem.

I have two machines, on have 16 bit, other 24. I buy emu-1212m pci, but
it currently don't supported by alsa (old emu-1212m without pci
supported). I wait support and then replace 16 bit card.

> If the input is analogue and you use 16 bit card, (ideally change the
> card). The DAC in the 16 bit converter should not be linear, but
> I assume all consumer electronics have linear DACs, so it can not be
> fixed. As the last resort, use dithering, as you probably do. But, you 
> have to understand that this is not the problem of the synthesizer, it 
> is the problem of your setup which you want to fix. In terms of
> effort, introducing dithering is the easiest, but is not optimal.
> 
> As I said, I have a similar problem because my computer speakers
> are connected to the line output of 16bit card. Cannot be fixed. wrong
> setup, but I know that.. :)

All nonlinear don't have sense when we all ready have 96 dB in 16bit -
it _very_ good result. If we need more we can use top sound card in
24bit and get 120 dB!

> > Harmonics - any magnitude at any frequency _correlated_ with signal!
> > Any other - just noise.
> 
> fixed amplitude at a fixed frequency will not be correlated with signal
> but it will hurt your ears and it will be --- just noise.... So it is
> not important to talk about harmonics but rather about spectral
> distortions in general.

How this refer to dithering?

> > > As such, no matter what you do, with or without dithering, you
> > damage
> > > the spectrum. The difference is that with dithering, our brain is
> > less
> > > sensitive to it that is why you do not hear the spectral
> > distrotion.
> > 
> > No. You can measure THD and IMD - without dithering it very bad. With
> > dithering it _very_ good. All digital conversions need  dithering. It
> > not psychoacoustics artifact. It just solution for fix one problem in
> > digital theory. Mostly all digital converter in scientific devices
> > applies it, it just can't right work without it.
> 
> It is all because of wrong setup -- an attempt to use 16 bit. Digital
> theory suggests how to hide the spectral distortions so that they will
> not produce that psychoacousic artefact. 

No. It not psychoacousic artefact, it digital artifact. We don't hide
distortion, we prevent it, price - very little up of noise floor.

>Spectral distortion is a
> speectral distorsion. One can only change the distorsion, but one can
> not avoid it. In other words, dithering is needed only for cheap
> solutions since high dynamic range is expencive.

Cheap solutions with dynamic range 96dB!? I get two ;) Cheap equipment
like boombox have dynamic range less 60 dB. Mostly good home hi-fi
audio systems have 70-80 dB and cost more than 1000$.

>But if one goes this
> route, than one has to understand the consequences. On the other hand
> we always want more for less...
> 
> On a personal note, I was very upset when I had to make a decision and
> to by a digital piano with a built-in synthesizer because my family
> members were afraid of the computer sound. The sound from that piano
> is not bad when it is on the loudspeakers, but when I connect
> head-phones, I hear a lot of distorsions. This is how ambient noise
> hides the distortions, in other words, does the dithering for you.
> I do not see how adding noise is a solution even though perceptually,
> it sounds better.

You still don't understand how dithering work. It not just noise. Noise
- needless consequence (and noise shaping try fight with it apply
psychoacousic artifact). Just think, why we can't convert float to int
and then add noise? If we do it, we get distortion + noise. Dithering
not just add noise, it encode rounding part in last bit!!! Roughly, it
work like DSD (read how encoded Super Audio CD - it use one bit) on
last bit.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]