Jump to content
IGNORED

DeltaWave null-testing audio comparator (beta)


Recommended Posts

A quick update to DeltaWave version 2.0.1:

Changes in 2.0.1

  • Fix: regression issue with color scaling of delta spectrograms ( @fas42 )
  • Changed: IIR filter replaced with the maximally flat in passband Butterworth version
  • Fix: FIR filter could previously cause a small error near DC frequency
  • Added: additional filter sizes (8M and 16M taps)
Link to comment

And another one, I'm afraid 🙂...


DeltaWave v2.0.1, 2021-09-10T11:36:02.6828002+10:00
Reference:  Khan-Stock.wav[L] 2237529 samples 48000Hz 16bits, stereo, MD5=00
Comparison: Khan-SRBlack.wav[L] 2330603 samples 48000Hz 16bits, stereo, MD5=00
Settings:
    Gain:True, Remove DC:True
    Non-linear Gain EQ:False    Non-linear Phase EQ: False
    EQ FFT Size:131072, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -160dB
    Correct Non-linearity: False
    Correct Drift:True, Precision:30, Subsample Align:True
    Non-Linear drift Correction:False
    Upsample:False, Window:Kaiser
    Spectrum Window:Hann, Spectrum Size:32768
    Spectrogram Window:Hann, Spectrogram Size:4096, Spectrogram Steps:2048
    Filter Type:FIR, window:Hann, taps:8192, minimum phase=False
    Dither:False
    Trim Silence:False
    Enable Simple Waveform Measurement: False

 

 

No filtering @start or @end,

 

NoFilt-2.0.1.thumb.JPG.2d36ec19a10876279436c3583ab5fdf8.JPG

 

Also note in the above that the dB toggle setting is not being applied.

 

Then, with 500Hz LP @start,

 

1836002591_LP500-2.0.1.thumb.JPG.97b94cedee6ffc602a98e6c7f2fe5a52.JPG

Link to comment
15 minutes ago, fas42 said:

And another one, I'm afraid 🙂...


DeltaWave v2.0.1, 2021-09-10T11:36:02.6828002+10:00
Reference:  Khan-Stock.wav[L] 2237529 samples 48000Hz 16bits, stereo, MD5=00
Comparison: Khan-SRBlack.wav[L] 2330603 samples 48000Hz 16bits, stereo, MD5=00
Settings:
    Gain:True, Remove DC:True
    Non-linear Gain EQ:False    Non-linear Phase EQ: False
    EQ FFT Size:131072, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -160dB
    Correct Non-linearity: False
    Correct Drift:True, Precision:30, Subsample Align:True
    Non-Linear drift Correction:False
    Upsample:False, Window:Kaiser
    Spectrum Window:Hann, Spectrum Size:32768
    Spectrogram Window:Hann, Spectrogram Size:4096, Spectrogram Steps:2048
    Filter Type:FIR, window:Hann, taps:8192, minimum phase=False
    Dither:False
    Trim Silence:False
    Enable Simple Waveform Measurement: False

 

 

No filtering @start or @end,

 

NoFilt-2.0.1.thumb.JPG.2d36ec19a10876279436c3583ab5fdf8.JPG

 

Also note in the above that the dB toggle setting is not being applied.

 

Then, with 500Hz LP @start,

 

1836002591_LP500-2.0.1.thumb.JPG.97b94cedee6ffc602a98e6c7f2fe5a52.JPG

 

dB toggle does automatically refresh, but if you click fast enough (or while there is still some processing going on to display the previous request), it will be ignored, as it just interrupts whatever was processing before.

 

This jump looks a bit curious, and I can't reproduce it here with regular settings. What processing did you have enabled in settings? Can you try applying the same filter @end instead of start? And can you try a larger and better FFT window, such as 64k Kaiser instead of 8k Hann?

Link to comment
51 minutes ago, fas42 said:

Thanks for that, Paul ... much better!

 

But, one thing - there's always, one thing, 😁 - the Auto Update in Spectrogram Range is not reliable; changing a number by editing the dB figure doesn't always trigger a display update, say ...

 

If you don't let the previous update finish, the new one will be ignored. That's the downside of multithreaded, asynchronous processing in DeltaWave. If anything in the UI is changed  while it's still working on something, it'll simply stop the background process and not process your new request. The suggestion is to let it finish and not interrupt :) You can always press the Apply button if your last update didn't get processed.

Link to comment

Just looking at that glitch for a moment in @start, it's definitely real - export the Compare, look at it in Audacity; still there. Kaiser, 64k - it goes away ... but has it really? Trying Hahn at 32k, 16k, and then 4k - all looks good, as clean as Kaiser, 64k ... but then move along the waveform a bit, for 4k, and there it is again, at a different place.

 

So, am I really getting rid of it, using Kaiser, and 64k - or not? Hmmm ...

Link to comment
40 minutes ago, fas42 said:

Just looking at that glitch for a moment in @start, it's definitely real - export the Compare, look at it in Audacity; still there. Kaiser, 64k - it goes away ... but has it really? Trying Hahn at 32k, 16k, and then 4k - all looks good, as clean as Kaiser, 64k ... but then move along the waveform a bit, for 4k, and there it is again, at a different place.

 

So, am I really getting rid of it, using Kaiser, and 64k - or not? Hmmm ...

 

Not sure what you're saying, Frank. I don't see the glitch with any setting I try, so I'm not sure what's causing it in your case. Small sized Hann window is just not the best choice for creating a FIR filter if you want the best filter with best rejection characteristics.

Link to comment
48 minutes ago, pkane2001 said:

 

Not sure what you're saying, Frank. I don't see the glitch with any setting I try, so I'm not sure what's causing it in your case. Small sized Hann window is just not the best choice for creating a FIR filter if you want the best filter with best rejection characteristics.

 

What I'm saying is, that I only happened to see that glitch by accident - pure luck that I came across it ... but what it means is that I don't know what the 'magic' is that guarantees that all such glitches in that waveform, if there is more than one, are no longer there - the right filter type, a high enough rate, what ... ?

 

What I might try is some doing extra filtering in another program, say Audacity, to see if I can pick a pattern in this ...

Link to comment
20 minutes ago, fas42 said:

 

What I might try is some doing extra filtering in another program, say Audacity, to see if I can pick a pattern in this ...

 

And, I get

 

1334576609_FilterGlitchHahn48k.thumb.JPG.5d25d2c6c16e0e405f7de89fc57d6fe3.JPG

 

So, indeed a pattern ... 45 secs plus length of clip, a regular double beat. If I change the filter size, highly likely a similar pattern, with different periods.

 

How I got this was to dup, apply a couple of rounds of Filter Curve, LP at about 550HZ, at max attenuation, invert and mix with original Compare.

Link to comment

Bit more exploring ... Kaiser, 64k, clean as a whistle - what about Hahn, 64k ... yep, three glitches - no particular pattern. Finally, Kaiser, 8k - a different pattern,

 

1085628208_FilterGlitchKaiser8k.thumb.JPG.12a280c5e85d3a3ecafb1dd2c04ccd8d.JPG

 

So, Kaiser is a bit better - but how does one decide on the right size? What it be possible for DW to signal to the user, who may not realise that a poor choice of these settings may corrupt results, what an adequate filter config should be?

Link to comment
6 hours ago, fas42 said:

Bit more exploring ... Kaiser, 64k, clean as a whistle - what about Hahn, 64k ... yep, three glitches - no particular pattern. Finally, Kaiser, 8k - a different pattern,

 

1085628208_FilterGlitchKaiser8k.thumb.JPG.12a280c5e85d3a3ecafb1dd2c04ccd8d.JPG

 

So, Kaiser is a bit better - but how does one decide on the right size? What it be possible for DW to signal to the user, who may not realise that a poor choice of these settings may corrupt results, what an adequate filter config should be?

 

Frank, Hann is an OK window for measurements, but not for quality DSP.

 

Kaiser is the default in DeltaWave. I included many other windows there for testing so I and others can see what they do, including rectangular, triangular, etc. This doesn't mean every combination of FFT sizes and FFT windows will work. Hann-constructed FIR filters don't reject out of band anywhere close to the way Kaiser does, and have a lot more ripple. DW provides a tool for those interested in exploring different windows:

 

Here's Kaiser 64k window:

image.thumb.png.eaeb84768c461dea7817c8160680eb68.png

 

 

And here's Hann 64k (an 8k Hann will be much worse):

image.thumb.png.ef54b1e52ef90ee23c8283a8cba15c29.png

 

 

Here's what a much smaller-sized Hann window looks like (from another site):

 

image.png.62da23986ba9a2ea99a8658698474b8a.png

Link to comment
6 hours ago, fas42 said:

So, Kaiser is a bit better - but how does one decide on the right size? What it be possible for DW to signal to the user, who may not realise that a poor choice of these settings may corrupt results, what an adequate filter config should be?

 

Generally, the larger the size of the filter, the greater and sharper the attenuation in the transition band. Just use DW defaults (Kaiser, 256k) if you are not sure. That was chosen for a reason.

 

Hope you realize it, Frank, but DeltaWave is my playground :) I add tons of settings to play with, like the 8M and 16M tap FIR filters in the latest version, and a new IIR filter -- as I think of new things, I'll add them as well. And yes, tons of different FFT windows that I've experimented with to learn how they affect the process.

 

FFT Windows are not used in filtering, but they are used in creating the FIR filter, which DeltaWave does on the fly. The window choice affects filter quality, regardless of size you chose. 

Link to comment

Thanks ... if one is not busy every day in the world of DSP filtering, and merely wants to try to compare some audio stuff, it's handy to know some good defaults! 🙂

 

Now, what's the best way to see what the defaults are, without losing history, possibly? I don't know how Hann, 8k got on board - probably way back in the earliest days for some reason; and it just kept being carried on with each update, 😉.

 

Cheers!

Link to comment
12 minutes ago, fas42 said:

Thanks ... if one is not busy every day in the world of DSP filtering, and merely wants to try to compare some audio stuff, it's handy to know some good defaults! 🙂

 

Now, what's the best way to see what the defaults are, without losing history, possibly? I don't know how Hann, 8k got on board - probably way back in the earliest days for some reason; and it just kept being carried on with each update, 😉.

 

Cheers!

 

You can save your current settings into a file to be loaded back later (File -> Settings -> Save... menu). Then, go to Settings screen and click on the red "X" near the top to reset settings to default. 

Link to comment

Sorry to keep harping on about this stuff, Paul 🙂 ... but when I run the DW default settings, with the @start numbers mentioned above, I get

 

1294875772_LP500-02.thumb.JPG.1a028fd3caab3c86d7194d895ee8e8a4.JPG

 

which is fine - but then you see

 

47592193_LP500-03.thumb.JPG.6e7826faa7787d17f5a89570ea601cb9.JPG

 

There's a lot of 'false' detail there, everything above 500Hz - would it be possible for DW to recognise what's going on, from the settings used in the compare, and just blank out the meaningless part of the display, with a uniform colour?

Link to comment
  • 10 months later...
  • 4 months later...
  • 1 month later...
On 11/28/2022 at 11:57 AM, GerFod said:

Hi! I don't have one matching AP frequencies. I can generate a low-crest multi-tone WAV file at any sampling frequency, with any number of tones, but these will not be exactly the same as those used by AP.

 

Sorry, just noticed this. Is this related to DeltaWave?

 

Link to comment
  • 1 year later...

Hi Paul, long time no word
There is a person who would like to know the technique you use to align two asynchronous recordings using deltawave, for this person (he says) that it is not possible to align the signals when instead I notice that the uncertainty is reduced to very few picoseconds
Furthermore (according to him) he states that it would be the software that makes them appear aligned without them being
It seems like an inaccuracy to me because the two signals provide total cancellation, which would not happen if they were not aligned.
Give me some information
Thanks, Tom

Link to comment
3 hours ago, TomCapraro said:

Hi Paul, long time no word
There is a person who would like to know the technique you use to align two asynchronous recordings using deltawave, for this person (he says) that it is not possible to align the signals when instead I notice that the uncertainty is reduced to very few picoseconds
Furthermore (according to him) he states that it would be the software that makes them appear aligned without them being
It seems like an inaccuracy to me because the two signals provide total cancellation, which would not happen if they were not aligned.
Give me some information
Thanks, Tom

 

Hi Tom,

 

DeltaWave is continually worked on and improved, but I've stopped posting here since there's very little interest. This is where DeltaWave was born, but not where it currently lives :)

 

I've no idea what this person is talking about. DeltaWave is capable of aligning two waveforms with an accuracy of a very tiny fraction of a single sample. The less noise and clock drift present in the recorded waveform, the more accurate the alignment. With noise and clock drift, simply a larger size recording is needed to get the same precision.  

 

Link to comment

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