DEQX vs Twindac+/Django (Off Topic)

by PeterSt. ⌂ @, Netherlands, Saturday, September 23, 2006, 11:58 (6425 days ago) @ PeterSt.
edited by unknown, Saturday, September 23, 2006, 12:13

Okay, I did some tests ... (behind the computer screen :read: ) ...

This is just stupid theory, and without adjustments (see later) never touch the volume of the digital domain. :stop:

Our source is a 44.1KHz 16 bit CD WAV file.

[image]

Here's the original (for the screen) uncompressed wave, just for reference. It's at the same time offset as the other one.

[image]

This is 0.8ms of it (left channel only), and the image is vertically compressed (on the screen only) in order to let this part of the "wave" show properly.
You can see the general (lower frequencey) wave as a sinus, the "micro data" modulated on top of that.

Now remember, this is digital.
All the data is contained in 16 bit samples, meaning that 65,536 values are available to represent one sample. One sample is shown as one sideways step in the above. The height represents the amplitude, or volume. The frequency emerges from the amplitue versus time, or IOW the sideways relative changes (look at the general big wave, which is a lower frequency tone).

Somewhere in the file will be the maximum value of 65,536 at the top of the wave or at the bottom of the wave (assuming that 100% of the "headroom" is used). For geeks : actually it will be half of the 65,536, the middle of that meaning 0 (Volts). Never mind that.

From this follows, that additional gain (in the digital domain) is not allowed, or else the wave is "clipped" (the wave wants to exceed the 65,536, but there's no storage space for that, so the wave "squars off" at the top (+ Volt) or bottom (- Volt)).

So whatever we want to do when the digital domain is to be manipulated, it can only be done by means of lowering volumes. *If* there needs to be gain, first the overall volume level has to be lowered, in order to create headroom for the gain. This already implies that gain should be avoided (see later). Also note, that bass management stuff (like LF (low frequency) boost) *will* lower the general volume first, in order to gain the bass frequencies.

Now, when the volume is digitally controlled, about 1 bit of "resolution" will be lost per 6dB of attenuation. Look at the picture again ...
E.g. the first part of the wave going downwards, has at it's bottom the smallest step possible (it goes one "value" upwards again); when the volume is lowered, this step will be compressed away, and the difference in amplitude will be levelled to "no change". So by lowering the volume, the resolution will be less.

In my case, playing at a for me normal level, I have an attenuation of 24dB, meaning that I loose 24/6 = 4 bits of resolution. Theoretically this implies that for the 16 original bits, I loose 25% of the resolution as present in the original.

Bad. :evil:

All is solved when we first create headroom for our manipulative stuff, which can be done by highering the number of bits per sample. For example, if we have 24 bits per sample, very theoretically we still loose 1 bit per 6dB, but at an attenuation of 24dB there are 18 bits left (24 - 6), which is still more than the original.

Knowing this theory before, it is that what I just tested;
Thus, I loaded a 16 bit WAV file, converted it to 24 bits, lowered the volume by 24dB, saved the file, reloaded the file, applied a gain of 24dB ... and the result was the same as the orginal 16 bit file.
Note that this proves no data (or details in music) are lost by this way of working;
Applying the same without converting to 24 bits, does change the data drastically.

Where this sufficiently works with 24dB attenuation, with more attenuation it might not, or *will* not. In the end you will have compressed all to a near flat line.
Also note that there are official means to convert to 32 bits, giving more headroom for attenuation (hence playing less loud without molesting the sound).

Where this thread of course is about the DEQX, be warned :
When 16 bit material is digitally fed to this processor, it will process all with 16 bits internally. You know now this is wrong ...
It does 24 bit processing, but only when it's fed with 24 bit material.
Also when it's fed with an analogue signal, it will process with 24 bits.


The conclusion I have for myself, is that my XXHighEnd player must convert the data to 24 bits (or more) before handing it over to the soundcard. Only then I can be psychologically happy in controlling the volume in the digital domain. :prankster:

Peter

Tags:
0


Complete thread:

 RSS Feed of thread