Mixing Engine exceels on T2

Discussion about: tracktion.com
RELATED
PRODUCTS

Post

I'm no math genius, but I tend to accept the testimony and explanations that 64-bit mixing sounds better than 32-bit mixing.

To satisfy myself, I wrote a quickie program that would add any number of 24-bit ranged integers using both single and double precision (32-bit vs. 64-bit). With 64-bit precision, there is no error introduced for mixing forty tracks. With 32-bit precision, I see the error range from 0 to 3 off the expected value.

Whether this is audible or not will remain debatable I suppose, but I can believe how errors can accumulate with 32-bit mixing.

Below is the Java test program I wrote for those interested. As I said, it was a quicky to convince myself, so take it for what it is.

Cheers,

Randy


public class PrecisionTest
{

public static final int NUMTRACKS = 100;

public static void main(String args[])
{
// Get a number of 24-bit levels
int tracks[] = new int[NUMTRACKS];
for (int i=0; i<NUMTRACKS; i++) {
tracks = (int)(Math.random() * (Math.pow(2,24)-1));
}

// Add as ints
int accInt = 0;
for (int i=0; i<NUMTRACKS; i++) accInt += tracks;

// Add as floats
float acc32 = 0.0f;
for (int i=0; i<NUMTRACKS; i++) acc32 += tracks;


// Add as doubles
double acc64 = 0.0;
for (int i=0; i<NUMTRACKS; i++) acc64 += tracks;

System.out.println("int: " + accInt);
System.out.println("32-bit: " + acc32);
System.out.println("64-bit: " + acc64);

double absError32 = Math.abs(accInt - (int)acc32);
double absError64 = Math.abs(accInt - (int)acc64);

double percError32 = 100.0 * (absError32 / (double)accInt);
double percError64 = 100.0 * (absError64 / (double)accInt);

System.out.println("32-bit error: " + percError32 + "%");
System.out.println("64-bit error: " + percError64 + "%");

// Scale back to 24 bit range
int scaleInt = (int)((double)accInt/NUMTRACKS);
int scale32 = (int)(acc32/NUMTRACKS);
int scale64 = (int)(acc64/NUMTRACKS);
System.out.println("expected result: " + scaleInt);
System.out.println("32-bit scaled result: " + scale32);
System.out.println("64-bit scaled result: " + scale64);
}

}

Post

DISCLAIMER: Unscientific testing of 32 vs 64 mixing.

Here are links to 2 jpegs illustrating a spectogram analysis of the identical 1 second area in a 16/44.1 mixdown.

The areas of difference are circled in black.

http://www.geocities.com/dysc@sbcglobal ... rogram.JPG

http://www.geocities.com/dysc@sbcglobal ... rogram.JPG

The source project only contains 7 tracks so it is probably not the best "stress" test on the mixing engine, but I selected it because it uses very high quality audio and samples via GigaStudio and I though it would reveal sonic differences.

I decided to do a 16/44.1 comparison as that would be the end result format for most mixdowns, i.e. burn to CD. I applied an identical high quality Cranesong dither during the bounce to 16 bit.

The first thing I did was to do a simple phase reverse null between the 32 and 64 bit files and I was and wasn't suprised to find that they do not null against each other.

Technically they shouldn't null but what surprised me was that there were several areas where the residual signal was very pronounced.

The curious non-nulling areas corresponded to drum fills! I thought this was odd so I tried the mixdowns again and the same nulling results occurred. All other areas effectively nulled to zero - although the dither signal remained.

So I zoomed in to these areas and extracted the respective spectrograms above. The bitmap captures were huge so I compressed them to jpeg. I was worried that the visual differences would be lost, but most of them remained intact so I circled the interesting areas.

Again, this is/was not a scientific test but it does appear that there is a different handling of even modest track count mixes, at least in the area of transients such as sharp drum hits.

Forgot to mention that I did the analysis using Acoustica 3.2 - a great and inexpensive audio editor - highly recommended!

Post

audition = better.

RONC

Post

rpc9943 wrote:audition = better.

RONC
RONC = ?
If you have requests for Korg VST features or changes, they are listening at https://support.korguser.net/hc/en-us/requests/new

Post

rpc9943 wrote:audition = better.

RONC
are you saying that audition's mix summing is better that Tracktion's new 64bit?

:shrug:

Post

...
Last edited by M'Snah on Sun May 15, 2005 7:25 am, edited 1 time in total.

Post

randygo
Bennett

For rest of us in maths you're simply heavyweighters.

Audition vs. maths in music = definitely better

Although I am 100% (sonically) convinced that SACD is better sounding format than CD under equal conditions, I recently found huge theoretic thread (practically unreadable for common humans) where guy mathematically proved that errors and other things generated in DSD (format for SACD),as well as, some other things makes CD equal or even more appropriate and technically more precise format for music.
Strangley that some engineeres seems to support that claim, too.

Math is good, clean ears are better.


yang
Don't forget that your music might eventually outlive you.

Post

Um, ok.
If you have requests for Korg VST features or changes, they are listening at https://support.korguser.net/hc/en-us/requests/new

Post

It is simply amazing there are more and more ignorant people who cannot mix properly, yet they start complaining on imaginative phenomena that allegedly spoil their "perfect" output. It is worrying how many there are naive people who believe in this crap and soon they begin to repeat these fairy tales.

For many yers people learned to create wonderfully sounding records using only 16-bit, 20-bit and finally 24-bit technology. Now, the scene is full of amateurs who have perfect tools, and they are too lazy to learn a tiny bit about technology, so they produce crappy theories on "mixing algorithms" in order to justify their lack of skills.

Come on, this horse has been beaten to death. It has been scientifically proven many times there is absolutely no difference whether you are using 64-bit or 32-bit math when your final output is 16-bit (or a 24-bit pre-master). Look into any of the basic textbooks on DSP and audio programming to learn the fundamentals and stop making fools of yourselves.

Stop your elitist arguments about your being golden-ear and hearing rounding errors which are as low as -1400dB. This is ridiculous. Show your tracks. Nobody wants you to expose unreleased stuff, just show two or five seconds, so that everybody can try their own "mixing engines" and compare using phase inversion. Provided there are no serious bugs in the software you are using, there is no way your 24-bit mixdown files will differ more than the magnitude of dithering applied, and without dithering the difference is ZERO.

Stop posting bogus spectrograms as well, this is even more fishy. Human eye has so much more limited resolution than ear, that the difference between your 32-bit and 64-bit samples should be HUGE in order to be perceptible on a spectrogram.

Post

MB wrote:It has been scientifically proven many times there is absolutely no difference whether you are using 64-bit or 32-bit math when your final output is 16-bit (or a 24-bit pre-master)
im certainly no expert, but i'm going to
audaciously say that i think you're wrong MD :)
randygo wrote:but I can believe how errors can accumulate with 32-bit mixing.
key word being *accumulate*.

(feel free to show up my ignorance.. i don't know this stuff very well)

Post

Thank you for the constructive and diplomatic addition to this thread MB. With assumptions like 'ignorant people' 'who cannot mix properly' 'amateurs'... etc. I'm glad that you made only 13 posts in the 4,5 years that you've been at kvr.

Post

It's no time for being diplomatic against people who are stubborn and pretending. I'm too busy working with music software to produce loads of meaningless posts, I stand by quality against quantity.

cbit: Yes, I am talking about accumulation that has been proven not to build up significantly enough to make any difference. Read some basic DSP stuff.

Post

Do you have any links to this basic DSP stuff that proves this?
"my gosh it's a friggin hardware"

Post

mb wrote:Yes, I am talking about accumulation that has been proven not to build up significantly enough to make any difference.
Would that not depend on the amount of processing that's being carried out?.. at a certain point the rounding errors would add up to make a difference no?

Post

cbit wrote: Would that not depend on the amount of processing that's being carried out?.. at a certain point the rounding errors would add up to make a difference no?
Certainly. But the difference between rounding noise between 64-bit FP and 32-bit FP is so huge that the processing should involve amplification of thousands of dB to bring up the lower half of the 64-bit word to the level that triggers the least significant bit in 32-bit float in the mixing bus. Or you would have to add billions of tracks to achieve the same effect.

Post Reply

Return to “Tracktion”