Page 1 of 2

Bit Resolution in Audio Processing

Posted: Sat May 24, 2014 15:11
by SoundKlang
Pyramix internally uses 32 bit floating point processing. According to chapter "Single Precision, Double Precision, or Floating Point?" in Bob Katz' book, 32-bit float is inferior to 48-bit fixed.

To keep the math simple, let's assume the internal processing resolution of Pyramix was 48-bit fixed.

When mixing, adding room information or modulation at levels too high can mask the original signal, resulting in a somehow undefined sound. But adding room information or modulation at ridiculously low levels can enhance the signal, make it a little more spacious or give it a better localization. Two examples:

1) A background acoustic guitar recorded with a main mic and a room mic. The room mic signal is (pre-fader) sent to a reverb. The level of the reverb signal is about -45 dB. To improve the localization the room mic is added to the mix with a level of about -110 dB.

2) A background sampled Hammond is sent to a reverb. The level of the reverb signal is about -36 dB. The result is just a little bit hard-headed, something is missing. After sending the reverb signal to a chorus at -90 dB the result is just fine. The level of the resulting chorus signal is about -120 dB.

The math:
6dB equals one bit. In example 1 the localization of the background instrument is increased by adding a signal at -110 dB or about 18 Bit below 0 dBFS (110 divided by 6). In example 2 the room impression is enhanced by adding a signal at -120 dB or about 20 Bit below 0 dBFS (120 divided by 6). If the internal processing resolution of Pyramix was equal to 48-bit fixed, the resolution of the added signals would be equal to about 30-bit fixed, less than 2/3rd of the full resolution.

16-bit AD converters also had 2/3rd of the resolution of 24-bit converters. The difference was very clearly noticeable.

It is probably not scientifically correct, but I wonder if that is like having a Pyramix system with its good sound quality for the main signals and a second audioseuqencer from the 16-bit days for the room signals. Said another way, maybe room information in audio signals is processed with the sound quality that was used for main signals in the 16-bit days.

So the request is to increase the bit-resolution of the internal audio-processing in Pyramix. I know, the sound quality of Pyramix is already very good. Never change a running system. But there is not only a risk involved, but also possibly a great advantage. Noone can know how a for example a 64-bit floating point Pyramix would sound, but I assume it would add a whole new dimension of depth and resolution to orchestral recordings and the like.

Re: Bit Resolution in Audio Processing

Posted: Mon May 26, 2014 08:01
by Bernhard Guettler
SoundKlang wrote:...To improve the localization the room mic is added to the mix with a level of about -110 dB.
...

You lost me there.

Re: Bit Resolution in Audio Processing

Posted: Mon May 26, 2014 19:06
by SoundKlang
With "localization" I mean pinpointing (left/right, front/rear, size) a certain instrument in a mix. Which is especially difficult to achieve for background/low level instruments in dense arrangements.

With "room mic" I mean the mic capturing mainly room information and which is added at low levels to the "close mic" capturing the direct signal of that instrument. I should probably add, mics are used that way often in overdub recording. In another thread I learned this is almost the opposite of how main microphones/spot microphones in classical microphone recording are used.

But the question should not be, if in a certain context it makes sense to add a signal at -110 dB or less. I just wanted to give some examples to reproduce the very slight but audible difference in other environments.

What is behind this is that in the real world room information has ridiculously low levels. For example see the definition of RT60 reverberation time (-60 dB = 10 bits less). And because of that, the smallest errors in audio reproduction can negatively affect the apparent room information in an audio signal. High samplerates and Jitter-suppression aim at correct phase relations in audio signals. But en-/decoding low level signals is synonymous with a lower bit resolution. Re-Dithering increases the audible dynamic range and by that is similar to an increased bit resolution. And even though some dither-algorithms just toggle the least significant bit, this one bit makes an audible difference. Increasing the bit resolution should help in getting more authentic, unaltered processing of any low level information in audio signals (again distant sound sources, reverb, but also complex overtones in sustaining signals of acoustic instruments).

Re: Bit Resolution in Audio Processing

Posted: Thu May 29, 2014 19:42
by SoundKlang
This topic is meant to be a feature request for Pyramix. May I ask, why was this topic moved from the "Pyramix suggestions" forum to "The Merging Cellar" forum?

Re: Bit Resolution in Audio Processing

Posted: Fri May 30, 2014 13:18
by Graemme
I moved this here because it is more appropriate to this forum than the feature-request area. If you'd just asked for an 'if/when?' about changing to a 64 bit mixer pipeline that would have been fine. However, there are some very unscientific (or at least, very, very subjective) comments used as justifications...such a discussion belongs here, in my opinion.

That's also no place for a 'fixed versus float' argument: There are almost as many of those on the internet as there are Mac vs PC diatribes...

Re: Bit Resolution in Audio Processing

Posted: Fri May 30, 2014 15:24
by SoundKlang
Well, I once just asked about internal 64bit processing and received an answer indicating this is not going to happen soon.

So there is this difference between practice and theory, right? Remember, Faraday did the experiments and later Maxwell was able to express the results in a more scientific way. There's a difference between people who want to know in the meaning of learning to gain understanding and people who want to know in the meaning of being regarded as someone who knows already.

However, I described what is happening and how to reproduce the results. Whether one thinks it is worth trying out and see whether these results are important ... well they are important to my mixes, at least. If they were deemed to be important for the sonic results, then this may be one little argument for why 64bit processing could be an interesting issue for Pyramix.

There was nothing to justify. Why should have anything been used as justifications ... justifications for what?

Also there must be a misunderstanding: There is no "fixed versus float" argument in my messages. I just found the line of reasoning easier when assuming fixed processing, where 6dB is equal to 1 bit. So I needed a way to express the (very good) resolution of Pyramix' internal 32-bit float processing in form of a fixed processing of same or better quality than 32-bit float. I wrote "... If(!!!) the internal processing resolution of Pyramix was(!!!) equal to 48-bit fixed". I never said and am not of the opinion that Pyramix should use fixed processing. Fixed or float, both are fine to me if they sound good.

This whole situation does remind me of similar reactions in another audio forum. I thought this place was different.

Re: Bit Resolution in Audio Processing

Posted: Sat May 31, 2014 08:54
by Bernhard Guettler
Soundklang, do you know what the internal resolution of 32 bit float is?

Re: Bit Resolution in Audio Processing

Posted: Sat May 31, 2014 10:26
by SoundKlang
As far as I understand this question is why the line of reasoning is easier assuming fixed processing.

Currently the flaoting point arithmetic of our workstations is not perfect. Almost every operation introduces tiny errors. It is the same with the restricted resolution of discrete values in fixed point arithmetic. Only in floating point the errors are tinier. So a floating point arithmetic of a certain wordlength is more precise than fixed point arithmetic of the same wordlength. But the quality of a floating point arithmetic also depends on the quality of the floating point algorithms.

If I am not mistaken, it is difficult to determine the precision, or so to speak the resolution, of floating point arithmetic. But as said in my first post, I remembered this statement from Bob Katz' book, chapter "Single Precision, Double Precision, or Floating Point?" (p. 206f in the book edition I own):

32-bit floating point processors are generally regarded as inferior-sounding to 48-bit (double-precision fixed), and 40-bit float.


That is why my argument was based on fictitious 48-bit fixed audio processing.

Re: Bit Resolution in Audio Processing

Posted: Sat May 31, 2014 15:17
by Bernhard Guettler
What if Bob Katz' statement was just irrelevant conjecture based on hearsay?
Again, do you know what the (theoretical) dynamic resolution of 32 bit floating is?

Re: Bit Resolution in Audio Processing

Posted: Sat May 31, 2014 18:05
by SoundKlang
Is this a try to turn a simple feature request into a discussion?

I have to admit, I can't remember having heard the term "dynamic resolution" before. Can you clarify your question?

Re: Bit Resolution in Audio Processing

Posted: Sun Jun 01, 2014 08:27
by Bernhard Guettler
Here is a good primer for anyone interested in the science, why in some special cases - not so much "generally" - 48 bit integer can have an advantage over (32 bit) float.
http://elsi-ing.pagespro-orange.fr/docs ... _Audio.pdf
The floating point math still has the dynamic range advantage, which is one of the reasons why the leading audio DSP capacities in the industry use it.
(Stagetec, Lawo: 40 bit float). For special DSP applications up to 80 bit float are used (e.g. Algorithmix PEQ Red).
Higher precision should and will come, its a question of economic feasibility, not of adding room mics at -110 dB Lref since 32 bit float takes care of that special request just nicely.

Re: Bit Resolution in Audio Processing

Posted: Mon Jun 02, 2014 07:56
by Graemme
SoundKlang wrote:... But the quality of a floating point arithmetic also depends on the quality of the floating point algorithms.


Exactly...

This is what separates the men from the boys in DSP design (note the names in Bernhard's list). Your 'simple feature request' (it isn't simple, from a 'whole system' point of view) isn't the issue, your examples and hypothesis are, though.

The goal on this forum is to keep the S/N ratio very high...through dialogue.

Re: Bit Resolution in Audio Processing

Posted: Mon Jun 02, 2014 17:49
by SoundKlang
If you call this a dialogue.

Reading through the paper posted by Mr. Guettler I understand two points:
1) It is assumed that the signal-to-noise-ratio of floating point arithmetic is independent of signal level. Because this is generally different form the noisefloor behaviour in fixed point arithmetic, it was wrong to come to conclusions based on an assumed 48-bit fixed point arithmetic and then project that conclusion to 32-bit floating point arithmetic.
2) The paper mostly looks at the results of filter algorithms. I leave this topic to the men in DSP design, Zen Masters and Professors, because, as probably many other of Pyramix's customers, or boys in DSP design as you seem to intend to label them, are more interested in what this tool is made for: music and it's sound quality.

My feature request was simply looking at low signal levels, not at details of digital (filter-)algorithms. Here is a good experiment for anyone interested in real world results:

Find a short section of an arrangement with multiple tracks of (preferably microphone) recorded instruments and room/reverberation. Mark this section with the in and out markers. Make sure there are no plugins in the signal path - just the signals of the clips through the Pan and Gain of the mixer strips and through the Gain of the Mix Bus. In other words: just level operations. Make two Mix Downs without Dithering:

1) Raise the Clip Gain. I wanted to be on the safe side and made sure there were no overloads in the mixer strips. Now lower the level of the Gain of the Mix Bus by the same amount. (For example clip gain=+12dB and MixBus=-12dB). Make the first Mix Down.
2) Lower the clip gain by -48dB. And raise the Gain of the Mix Bus by the same amount. (In this example now clip gain would be -36dB and MixBus would be +36dB). Make the second Mix Down.

Now comes the fun part for all us audio infants: reimport both clips on two different tracks with same mixer strip gain and sample align them (for example Ctrl-Shift-M). Invert the phase of both channels of one of the Mixer Strips. Let the clips run in a loop. Carefully raise the Mix Bus gain. If you hear a clicking noise, that is probably coming from the loop boundaries so narrow the in and out markers until there is no more clicking noise. Continue to slowly raise the level of the Mix Bus gain. At around +96dB you should hear some artefacts which clearly contain the original musical information. Please be careful, it is probably best to do this with headphones only and don't wear them while raising the gain.

EDIT: To raise the level of the phase inverted summation of both clips by 96 dB, either a plugin in the MixBus is needed that is able to do that, or a Mixdown of the phase inverted summation can be made, reimported and then ClipGain can be used to raise the level. :EDIT (June, 3rd 2014)

So how is this possible at a difference of only 48dB if floating point is so (theoretically) perfect? I am sure the glorious heroes on their 32-bit floating horses have a scientific explanation for us worthless ordinary mortals.

All the others may want to listen to both samples and find out which of them shows just a little better transients and room impression.

As said before there is a difference between theory and practice. Sometimes the theory or the science can be the noise while the real world is the signal. But you guys don't want to know and I am not going to tell you.

Re: Bit Resolution in Audio Processing

Posted: Mon Jun 02, 2014 21:34
by Bernhard Guettler
You forgot to mention one of the most important parameters in your experiment. You are mixing down from 32bit float internal processing to which bit depth integer? Without dither…

And stop the bullshit. Nobody said anything about perfection.

Re: Bit Resolution in Audio Processing

Posted: Tue Jun 03, 2014 08:06
by SoundKlang
1) Can you please explain what are the most important parameters in my experiment, and why?
2) 24 bit.
3) Dithering is adding a random signal to the output. Two downmixes with dither would always show at least the difference of the added dither signals. Since we are looking at low level differences here I wanted to listen to the difference in the musical information only. I think that's a good argument for leaving the dither off in this experiment.
4) If we have this difference with levels in the range of only 48 dB, then I wonder what you mean by the term "just nicely" when you said 32 bit float takes care of adding room mics at -110 dB just nicely. Maybe the emphasis was placed more on the "just" than the "nicely"?