Jump to content
pkane2001

DeltaWave null-testing audio comparator (beta)

Rate this topic

Recommended Posts

Does it have the ability to play a reference in one stereo channel and the comparison simultaneously in the other channel?  If it doesn't currently have this capability, how difficult would it be to add?

Share this post


Link to post
Share on other sites
Just now, Jud said:

Does it have the ability to play a reference in one stereo channel and the comparison simultaneously in the other channel?  If it doesn't currently have this capability, how difficult would it be to add?

 

As the matter of fact it does, Jud :) The feature is under the Play menu.

 

Share this post


Link to post
Share on other sites

@Jud

So you can use my 8th generation files, load them into this software.  Let it do a match.  Then let it play reference in one channel and 8th gen in the other to see how close you get to a dead center mono signal.  

Share this post


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

OK. Will see if I can get to them tomorrow. :) 

 

Here's the playback function you're looking for. Use it after you perform a Match operation to play reference and comparison files at the same time:

image.png.c7389c06fee4816f8c7dc46cb5fa333f.png

Share this post


Link to post
Share on other sites

Have checked about switching off the non-linear options, in the previous release. The one that gave me "more" was the drift compensation not on - got to a bit over 16 secs before conking out! Almost, but no cigar, :). The setting of the level switch here made no difference.

 

Will get the latest version of DW, and check again.

Share this post


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

Have checked about switching off the non-linear options, in the previous release. The one that gave me "more" was the drift compensation not on - got to a bit over 16 secs before conking out! Almost, but no cigar, :). The setting of the level switch here made no difference.

 

Will get the latest version of DW, and check again.

 

Frank, what is the RMS and correlated null depths, even with 16 seconds of data?

 

Definitely try version .14, as I made it less aggressive at throwing data away if it doesn’t match well.

Share this post


Link to post
Share on other sites

Thumbs up! Just downloaded and tried 14b - looks good, on first run; did the full 18secs. Will now check a bit deeper, and get those numbers.

Share this post


Link to post
Share on other sites

Just ran it with both non-linear calibrations on, and did the 18s, and it gave,

 


DeltaWave v1.0.14, 2019-03-12T09:01:03.3568298+11:00
File 1:  Bob Marley B,18s.wav 793828 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley A,18s.wav 793920 samples 44100Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True, Non-linear Gain:True Non-linear Order:1
    Correct Drift:True, Precision:18, Non-Linear drift Correction:True
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False

Discarding at the beginning: File1=0, File2=0 samples
Initial values Waveform 1: -10.782dB   Waveform 2: -10.623dB
Null Depth=10.817dB
X-Correlation offset: -688 samples
Doing extra 5 iterations for better convergence
Gain= -2.1507dB (0.7807x) Phase offset=-31.201814ms (-1376 samples)
Difference (rms) = -38.2dB [-38.7dBA]
Correlated Null Depth=12.29dB [12.23dBA]
Clock drift: 2.67 ppm


Files are NOT a bit-perfect match (match=0.75%) at 16 bits
Files match @ 50% when reduced to 9.3 bits


Phase difference (full bandwidth): 93.1845931442362°
                 0-10,000Hz: 76.4296479160094°
                 0-20,000Hz: 92.276164222401°
                 0-24,000Hz: 93.1845931442362°
                 0-44,100Hz: 93.1845931442362°
                 0-48,000Hz: 93.1845931442362°
RMS of the difference of spectra: -125.991787551349dB
DONE!

Signature: 3d792b97cdcd9a14afc6a35818afbcae

Share this post


Link to post
Share on other sites

Okay, now tried it, 14b, with the full 30s of 5-20k spectrum, and it cut out at 17s. But the delta Waveform made more sense - it was clear that it closing sync, so there was no point for DW processing further.

 

The real problem with the underlying waveforms, by Dennis, is that the accumulation of clock drifting is non-linear - speeds up, slows down, speeds up type of thing; earlier, in Audacity, this was apparent - the drift in the middle didn't fit with the beginning and end samples misalignments.

Share this post


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

Just ran it with both non-linear calibrations on, and did the 18s, and it gave,

 


DeltaWave v1.0.14, 2019-03-12T09:01:03.3568298+11:00
File 1:  Bob Marley B,18s.wav 793828 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley A,18s.wav 793920 samples 44100Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True, Non-linear Gain:True Non-linear Order:1
    Correct Drift:True, Precision:18, Non-Linear drift Correction:True
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False

Discarding at the beginning: File1=0, File2=0 samples
Initial values Waveform 1: -10.782dB   Waveform 2: -10.623dB
Null Depth=10.817dB
X-Correlation offset: -688 samples
Doing extra 5 iterations for better convergence
Gain= -2.1507dB (0.7807x) Phase offset=-31.201814ms (-1376 samples)
Difference (rms) = -38.2dB [-38.7dBA]
Correlated Null Depth=12.29dB [12.23dBA]
Clock drift: 2.67 ppm


Files are NOT a bit-perfect match (match=0.75%) at 16 bits
Files match @ 50% when reduced to 9.3 bits


Phase difference (full bandwidth): 93.1845931442362°
                 0-10,000Hz: 76.4296479160094°
                 0-20,000Hz: 92.276164222401°
                 0-24,000Hz: 93.1845931442362°
                 0-44,100Hz: 93.1845931442362°
                 0-48,000Hz: 93.1845931442362°
RMS of the difference of spectra: -125.991787551349dB
DONE!

Signature: 3d792b97cdcd9a14afc6a35818afbcae

 

Correlated null and phase differences are still poor, so something is still not right. As you can see in the result I posted before, I get a very good result with or without HP filtering the two tracks in Audacity.

 

spacer.png

 

 

Can you please describe the steps for HP filtering to generate the tracks in Audacity, so I can try to reproduce? Or alternatively, please upload the two tracks already processed so I can take a look.

 

Share this post


Link to post
Share on other sites

Paul, in the Equalization Effect I use maximum length of filter, 8191, and in Draw mode set the pass to 0dB and cut to 120dB, at 5kHz - because visual, won't be that precise frequency, but close enough. I have found over some years that this does the job nicely of splitting the waveform into bands.

 

To get an idea of the  clock drift, using a sample rate around 225kHz, I was getting, in a particular instance, numbers of 6 samples out at start, 7 out in the middle, 6 1/2 at the end - this is what the software is trying to digest.

Share this post


Link to post
Share on other sites

Thanks Frank. I’ll give it a try. I was applying the high pass filter effect at -48dB/oct, just repeating it about 10 times to get down to -180dB cut.

Share this post


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

Paul, in the Equalization Effect I use maximum length of filter, 8191, and in Draw mode set the pass to 0dB and cut to 120dB, at 5kHz - because visual, won't be that precise frequency, but close enough. I have found over some years that this does the job nicely of splitting the waveform into bands.

 

To get an idea of the  clock drift, using a sample rate around 225kHz, I was getting, in a particular instance, numbers of 6 samples out at start, 7 out in the middle, 6 1/2 at the end - this is what the software is trying to digest.

 

Don't know, Frank... Still can't reproduce what you're seeing.  Are you by any chance comparing a 5K HP filtered file to an 8th generation unfiltered one? That's the only way I can see you getting such poor results.

 

Here I used the Equalization effect to HP filter at 5K (both files!) and still get very good result. Good nulls, phase delta is low up to about 24KHz, etc.:

image.thumb.png.6902b2c09f1eb167f2744373b12504c2.png

 

Here's the equalization curve I used in Audacity:

image.png.000ea124c6c9e601d3ca56d24dc7f430.png

 

Share this post


Link to post
Share on other sites

This is puzzling - your Audacity filtering matches mine ... give me a chance to run through again from a clean start, with the original files, and I'll see what it gives ...

Share this post


Link to post
Share on other sites

Okay, I suspect the differences are in part because earlier I was working with clock corrected, in Audacity, samples. This time, I just used the raw files, HP filtered, and applied DW.

 

In this first test I had non-linear drift correction ON, and it just fell short of doing the 30s - 29.8 or something. The matching seemed to go well in the latter part of the clip - but mismatched badly at the beginning:

 

Marley02.thumb.PNG.fa91d216e3776165a5f902064dda5719.PNG

 

Will try again, with non-linear drift correction OFF ...

Share this post


Link to post
Share on other sites

Second test, with non-linear drift correction OFF - overall matching appears better, but still well short what should be possible:

 

Marley03.thumb.PNG.96cbd84d06c64361151a57e5e213934e.PNG

Share this post


Link to post
Share on other sites

And, have to head off to the medicals again - will be out of sight for a while ...

Share this post


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

Second test, with non-linear drift correction OFF - overall matching appears better, but still well short what should be possible:

 

Marley03.thumb.PNG.96cbd84d06c64361151a57e5e213934e.PNG

 

I think turning off nonlinear drift correction will help. I'll likely remove that option in an upcoming release, as it causes more harm than good :)

 

But, you may have something, there, Frank. I see a larger phase error for the first 1-2 seconds, and then it goes down to  less than 1/10th of that error for the rest of the track. Maybe that's actually in the original track, but could be something DW is doing wrong. I'll check into it.

Share this post


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

And, have to head off to the medicals again - will be out of sight for a while ...

Hope everything's ok, Frank.

Share this post


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

 

I think turning off nonlinear drift correction will help. I'll likely remove that option in an upcoming release, as it causes more harm than good :)

N

But, you may have something, there, Frank. I see a larger phase error for the first 1-2 seconds, and then it goes down to  less than 1/10th of that error for the rest of the track. Maybe that's actually in the original track, but could be something DW is doing wrong. I'll check into it.

I have seen non-linear drift help some on some tracks.  Though usually not, and only a small amount when it does.  Maybe the entire non-linear box could have a header that says, Strongly Not Recommended. 

 

It seems the non-linear level can very slightly help most files you just have to find which order to choose.  I don't think any order beyond 4 has helped anything I've tried yet.  OTOH, I can understand doing away with something that rarely helps at all, only helps a small amount when it does, and much more often causes trouble.  

Share this post


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

I have seen non-linear drift help some on some tracks.  Though usually not, and only a small amount when it does.  Maybe the entire non-linear box could have a header that says, Strongly Not Recommended. 

 

It seems the non-linear level can very slightly help most files you just have to find which order to choose.  I don't think any order beyond 4 has helped anything I've tried yet.  OTOH, I can understand doing away with something that rarely helps at all, only helps a small amount when it does, and much more often causes trouble.  

 

I'm thinking that:

  • Non-linear gain correction should be replaced with the new EQ feature (your suggestion) that will automatically match the two spectra based on their averages. Still need more time to play with it, but I'll post a new version so others can play with it, too :)
     
  • The non-linear clock drift correction should probably go away as being too dangerous. It's almost impossible to tell if it's correcting for a real clock error or locking onto some noise in the signal. And because it's non-linear, it can cause serious damage to timing even though the overall null values may seem to improve

 

Share this post


Link to post
Share on other sites
Just now, pkane2001 said:

 

I'm thinking that:

  • Non-linear gain correction should be replaced with the new EQ feature (your suggestion) that will automatically match the two spectra based on their averages. Still need more time to play with it, but I'll post a new version so others can play with it, too :)
     
  • The non-linear clock drift correction should probably go away as being too dangerous. It's almost impossible to tell if it's correcting for a real clock error or locking onto some noise in the signal. And because it's non-linear, it can cause serious damage to timing even though the overall null values may seem to improve

 

Probably the right call.  I was thinking if you keep non-linear options, maybe they should uncheck themselves every time the program is closed.  Also under where you choose the Q maybe there could be "Non-Linear Options in USE" displayed in red.  I'll be sending you a link to a file upload in a minute. 

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...