Jump to content
pkane2001

DeltaWave null-testing audio comparator (beta)

Rate this topic

Recommended Posts

1 hour ago, pkane2001 said:

 

I tried a variation on the non-linear EQ that also adjusts phase, not just amplitude. Seems promising.

 

Here's the result of matching the two files with non-linear EQ engaged, as it exists in the current .31 version:

image.thumb.png.e0ae2bcd2e0a635e19c1f5890a7b1f36.png

 

 

And here's the result using the amplitude and phase EQ (feature coming in the next version). Seems to produce an 8-9dB better null with phase correction:

image.thumb.png.baff450b66c9b462bf6de327961f6d92.png

 

I often try out the non-linear EQ function to see if the results will be improved. Sometimes they are, sometimes not by much. But I think these settings are a bit out of character for DeltaWave. They compensate for frequency and phase errors that really are true, complex, and possibly audible, errors. While I can certainly add more non-linear correction functions (and I'll do that, just for fun :) ), I see these as not being useful for the main purpose of what DeltaWave is designed to do: finding differences between two waveforms. 

 

Do you mind sharing the phase delay chart for the studied case ( EQ enabled for Amplitude & Phase)? Just to have a better idea how it will perform 😉. Thanks for DW' s improvements.

Share this post


Link to post
Share on other sites
6 hours ago, pkane2001 said:

 

I tried a variation on the non-linear EQ that also adjusts phase, not just amplitude. Seems promising.

 

Here's the result of matching the two files with non-linear EQ engaged, as it exists in the current .31 version:

image.thumb.png.e0ae2bcd2e0a635e19c1f5890a7b1f36.png

 

 

And here's the result using the amplitude and phase EQ (feature coming in the next version). Seems to produce an 8-9dB better null with phase correction:

image.thumb.png.baff450b66c9b462bf6de327961f6d92.png

 

I often try out the non-linear EQ function to see if the results will be improved. Sometimes they are, sometimes not by much. But I think these settings are a bit out of character for DeltaWave. They compensate for frequency and phase errors that really are true, complex, and possibly audible, errors. While I can certainly add more non-linear correction functions (and I'll do that, just for fun :) ), I see these as not being useful for the main purpose of what DeltaWave is designed to do: finding differences between two waveforms. 

 

Archimago's files are a bit of a problem.  I think I've been able to improve all with some manual adjustments.  

 

I understand you saying adding non-linear correction isn't the purpose of Deltawave which is to find differences in the waveform. Or as we've said interesting differences.  Timing and gain are uninteresting differences.  However, the benefit of including them is when you have a poor null it might help you determine why the null isn't better.  You do that by correcting and improving it. If EQ does it then you know the main source of the error.  If it is phase, then you know it is the source of error.  

 

With Archimago's files I get the best null with the Asrock and Sony.  The others aren't very good, and it isn't obvious why not. It seems to me when the nulls are poor the timing is sometimes the issue.  The poor matching seems to interfere with Deltawave matching the timing as well as when nulls are pretty good.  I seem to remember last week I managed to manually improve one of the Archimago comparisons by 11 db with timing adjustments.  What would be the issue that would most interfere with Deltawave doing better with the timing in such cases?  Timing drift which isn't steady?


To paraphrase Rick James, "sighted listening is a helluva drug".

Share this post


Link to post
Share on other sites
6 hours ago, fas42 said:

While I've got your attention, there's an issue with the matching lengths, in the above exercise,

 

1440594030_BC-CC-06.thumb.PNG.b058fef63a2e85dd5241b1e45d5aec8d.PNG

 

Auto-trim is not engaged.

 

Hi Frank,

 

When auto-trim is not engaged, the waveforms will be left at the shortest of the two files after aligning them properly. Auto-trim is needed to remove any leading/trailing samples where the two waveforms both have samples, but these samples are significantly different.

Share this post


Link to post
Share on other sites
1 hour ago, esldude said:

Archimago's files are a bit of a problem.  I think I've been able to improve all with some manual adjustments.  

 

I understand you saying adding non-linear correction isn't the purpose of Deltawave which is to find differences in the waveform. Or as we've said interesting differences.  Timing and gain are uninteresting differences.  However, the benefit of including them is when you have a poor null it might help you determine why the null isn't better.  You do that by correcting and improving it. If EQ does it then you know the main source of the error.  If it is phase, then you know it is the source of error.  

 

With Archimago's files I get the best null with the Asrock and Sony.  The others aren't very good, and it isn't obvious why not. It seems to me when the nulls are poor the timing is sometimes the issue.  The poor matching seems to interfere with Deltawave matching the timing as well as when nulls are pretty good.  I seem to remember last week I managed to manually improve one of the Archimago comparisons by 11 db with timing adjustments.  What would be the issue that would most interfere with Deltawave doing better with the timing in such cases?  Timing drift which isn't steady?

 

One issue could be a non-linear clock drift (difference) between the two files. For example, I've captured two files through the same DAC that has a resampling option that can be turned on or off to supposedly control jitter. When compared to each other, the clock error plot after standard DW linear matching appears like a very nice arc instead of a straight line!

 

I'm adding a feature that will apply non-linear clock drift correction back into DW. It does help flatten out these ugly looking clock drift charts quite a bit, but I've yet to see it make a significant difference in nulls -- it generally either makes it slightly worse or very slightly better. I assume this is because the timing error is either mostly random or its magnitude is too small to have a large effect on the null. Maybe you gents can play with it and let me know what you find once I post the new version.

 

Also working on some new timing error measurements, but it's been a slow going as my day job keeps getting in the way 😡... Stay tuned

Share this post


Link to post
Share on other sites
7 hours ago, fas42 said:

 

Will try that, anon. No, EQ correction not turned on.

 

I'm particularly interested in getting the best nulling at the HF end, because I find that's "where the action is", in determining SQ. In the above exercise, there's almost 40dB better nulling at the top of the audio spectrum - which I find very worthwhile :).

 

 

Very pleased that phase correction is coming up ... what I would like to see are the best facilities for linear distortion adjustment, using frequency and phase manipulation, thus leaving mostly non-linear distortion as the remainder after doing a comparison. Reason being, IME this is where the important stuff lies ...^_^.

 

The EQ option is most definitely not linear :) It is linear per frequency bin, but each frequency is adjusted independently of the others, so in effect, this is forcing a correction just like a very fine graphic equalizer would.

 

Share this post


Link to post
Share on other sites
6 hours ago, Arpiben said:

Do you mind sharing the phase delay chart for the studied case ( EQ enabled for Amplitude & Phase)? Just to have a better idea how it will perform 😉. Thanks for DW' s improvements.

 

Working on it. I've been thinking a lot about timing errors, how to measure and correct for them. I'll post some plots later, but it's still work in progress ;)

Share this post


Link to post
Share on other sites

Here are some timing error plots that are corrected with non-linear clock drift feature (coming in the next version).

 

First, clock drift after linear correction as it works today:

image.thumb.png.4ab5f662f56385ff7413d4d18cd464bf.png

 

 

And now,  the same exact comparison but with non-linear drift correction engaged:

image.thumb.png.ed31670dc71b9aaad07392c15b9f5f67.png

 

 

Similar result, using a DAC with resampling turned on and off inside the DAC. First, without non-linear drift correction:

image.thumb.png.f6258c99b7f8d24cf7809d0377a7f9d7.png

 

Same comparison, but now with non-linear drift correction engaged:

image.thumb.png.20db9c058b92e04f58e1a7befc4cc80a.png

Share this post


Link to post
Share on other sites
10 hours ago, pkane2001 said:

 

Hi Frank,

 

When auto-trim is not engaged, the waveforms will be left at the shortest of the two files after aligning them properly. Auto-trim is needed to remove any leading/trailing samples where the two waveforms both have samples, but these samples are significantly different.

 

Paul, DW normally equalises the lengths, but in this case it's not. Which means that the delta waveform has a huge glitch at the end - full strength reference file bit added on.


Frank

 

http://artofaudioconjuring.blogspot.com/

 

 

Ahhh, Mankind ... Porsche intellect, Trabant emotions ...

Share this post


Link to post
Share on other sites
10 hours ago, pkane2001 said:

 

The EQ option is most definitely not linear :) It is linear per frequency bin, but each frequency is adjusted independently of the others, so in effect, this is forcing a correction just like a very fine graphic equalizer would.

 

 

I'm using the term nonlinear in the sense described here, https://www.nti-audio.com/en/support/know-how/lets-clear-up-some-things-about-distortion.


Frank

 

http://artofaudioconjuring.blogspot.com/

 

 

Ahhh, Mankind ... Porsche intellect, Trabant emotions ...

Share this post


Link to post
Share on other sites
15 minutes ago, fas42 said:

 

I'm using the term nonlinear in the sense described here, https://www.nti-audio.com/en/support/know-how/lets-clear-up-some-things-about-distortion.

 

By that definition DW EQ function is non-linear. While it may not introduce ‘new’ frequencies, it can change some or all frequencies amplitude and phase, so in effect changing frequency relationships in the comparison file to match those in the reference. 

Share this post


Link to post
Share on other sites
11 hours ago, pkane2001 said:

 

The EQ option is most definitely not linear :) It is linear per frequency bin, but each frequency is adjusted independently of the others, so in effect, this is forcing a correction just like a very fine graphic equalizer would.

 

That reminds me.  Knowing it works as you describe if I find it helps some, I do it two or three ways with different size FFT's.  I've run across a comparison  a couple times that was helped by a rather small FFT in the EQ several decibels more than a larger FFT.  And I've seen the reverse.   I should have kept up with it, one pair of files was 11 db better at 16 k and only a couple db at any other setting size for the FFT.  I do agree with you it is normal for 19 out of 20 comparisons EQ makes no difference or only a small one of 2 db or less.  Generally FFT on the smaller side for the EQ seems more likely to help just a little in the files I've been using.


To paraphrase Rick James, "sighted listening is a helluva drug".

Share this post


Link to post
Share on other sites
10 hours ago, pkane2001 said:

Here are some timing error plots that are corrected with non-linear clock drift feature (coming in the next version).

 

First, clock drift after linear correction as it works today:

image.thumb.png.4ab5f662f56385ff7413d4d18cd464bf.png

 

 

And now,  the same exact comparison but with non-linear drift correction engaged:

image.thumb.png.ed31670dc71b9aaad07392c15b9f5f67.png

 

 

Similar result, using a DAC with resampling turned on and off inside the DAC. First, without non-linear drift correction:

image.thumb.png.f6258c99b7f8d24cf7809d0377a7f9d7.png

 

Same comparison, but now with non-linear drift correction engaged:

image.thumb.png.20db9c058b92e04f58e1a7befc4cc80a.png

 

 

Yet I notice in these plots the difference and null depth didn't budge.  


To paraphrase Rick James, "sighted listening is a helluva drug".

Share this post


Link to post
Share on other sites
40 minutes ago, esldude said:

 

 

Yet I notice in these plots the difference and null depth didn't budge.  

 

Yes, I see very little effect on the null, but the clock drift plot looks so much nicer! ;)

 

The phase EQ function actually has a much greater effect on the null. I believe this happens more in the case of a variable group delay, as Frank has mentioned.

Share this post


Link to post
Share on other sites
3 hours ago, fas42 said:

Bug: In Settings, Resample not enabled, but DW starting doing an auto downsample, with 24/196 and 16/44.1 files loaded.

 

That's a feature, Frank :) In order to match two files of different sampling rates, one must be resampled. The default (when resampling is unchecked) is to downsample, as it's been from the beginning. Resample option is there to change the default behavior. I can probably make it a little more obvious in settings.

Share this post


Link to post
Share on other sites

Digging into this program a bit more examining the effect various programs have on output file following conversion into another lossless formats.  As such I was revisiting this thread for helpful hints.  The above quote got a good laugh after realizing the impressive extent to which this program can detect changes.

Share this post


Link to post
Share on other sites
On 3/25/2019 at 9:55 PM, pkane2001 said:

DeltaWave determined this drift with only 30 seconds worth of samples, and the error appears to be 1/200,000,000. I find this impressive, but I guess you don't.

 

Phantom quote I was laughing at myself about...from previous post.  

Share this post


Link to post
Share on other sites

@pkane2001

 

I have a feature request if it isn't too terrible to do. 

 

Could we have a setting that allows us to set the lower reach of the spectrograms?  Unchecked it does as it currently does, or if we get to set it then it only reaches as low as we want.  I've run into a couple instances where going to -200 db for instance lets the noise floor somewhat obscure details of what is happening.  If I could pick a higher bottom to the spectrogram and it ignore everything lower some of the things I'm interested in would be clearer to see.  You might let us pick -75, -100, 125 and -150 db.  That would be workable most of the time.  Or if we can just pick any number even better.   Of course I don't know if this is a big task to add or not.  


To paraphrase Rick James, "sighted listening is a helluva drug".

Share this post


Link to post
Share on other sites
15 hours ago, esldude said:

@pkane2001

 

I have a feature request if it isn't too terrible to do. 

 

Could we have a setting that allows us to set the lower reach of the spectrograms?  Unchecked it does as it currently does, or if we get to set it then it only reaches as low as we want.  I've run into a couple instances where going to -200 db for instance lets the noise floor somewhat obscure details of what is happening.  If I could pick a higher bottom to the spectrogram and it ignore everything lower some of the things I'm interested in would be clearer to see.  You might let us pick -75, -100, 125 and -150 db.  That would be workable most of the time.  Or if we can just pick any number even better.   Of course I don't know if this is a big task to add or not.  

 

So the ability to zoom in to an arbitrary level doesn’t work for this? Do you think a minimum and a maximum might be needed, not just a minimum?

Share this post


Link to post
Share on other sites
4 hours ago, pkane2001 said:

 

So the ability to zoom in to an arbitrary level doesn’t work for this? Do you think a minimum and a maximum might be needed, not just a minimum?

Zooming in is often quite useful, but in some cases it isn't enough.  Or it isn't best.  Audacity lets you set the low end of the spectrogram, and I find it useful.  I really wish Audacity would also let you zoom in.  Well actually Audacity does let you zoom in.  I forgot it as its not exactly convenient the way it works. 

 

I've given no thought to whether it would be helpful to set the maximum as well as the minimum.  Yeah, I think that might be useful too.  Might let you see some of what is happening when you are interested in a lower level rather close to a higher level portion.  

 

So is this a big chore to add?  It may be something almost no one else cares about or finds useful.  I don't want to clutter the software if that is the case. 


To paraphrase Rick James, "sighted listening is a helluva drug".

Share this post


Link to post
Share on other sites
5 hours ago, esldude said:

Zooming in is often quite useful, but in some cases it isn't enough.  Or it isn't best.  Audacity lets you set the low end of the spectrogram, and I find it useful.  I really wish Audacity would also let you zoom in.  Well actually Audacity does let you zoom in.  I forgot it as its not exactly convenient the way it works. 

 

I've given no thought to whether it would be helpful to set the maximum as well as the minimum.  Yeah, I think that might be useful too.  Might let you see some of what is happening when you are interested in a lower level rather close to a higher level portion.  

 

So is this a big chore to add?  It may be something almost no one else cares about or finds useful.  I don't want to clutter the software if that is the case. 

 

Shouldn't be hard to add, just need to think of a good place to put the settings. Screens are really crowded as is :S

 

Share this post


Link to post
Share on other sites
7 hours ago, pkane2001 said:

 

Shouldn't be hard to add, just need to think of a good place to put the settings. Screens are really crowded as is :S

 

Well what about the pane where we select FFT size, windowing type and it also has the setting for phase.  That has some space.  You are doing too good a job adding features maybe. :)


To paraphrase Rick James, "sighted listening is a helluva drug".

Share this post


Link to post
Share on other sites
1 hour ago, esldude said:

Well what about the pane where we select FFT size, windowing type and it also has the setting for phase.  That has some space.  You are doing too good a job adding features maybe. :)

 

Yeah... need to start removing some, so I can add more ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...