Jump to content
IGNORED

DeltaWave null-testing audio comparator (beta)


Recommended Posts

3 hours ago, Steve B said:

Thank you pkane2001 so much for DeltaWave.  As a longtime fiddler with Diffmaker, I find DeltaWave the absolute ultimate program to follow that.  The charts and the other added features are just wonderful.

 

I have a question about something I've seen when comparing 44.1k 32f downsamples made in different resamplers from 96k 32f masters.  Not specific to DeltaWave but I'm seeing it in DeltaWave so I thought someone here might be able to explain it.

 

SoX 14.4.2 downsamples are showing something when comparing to other resamplers I don't see in any of the other resamplers or in previous versions of SoX.  The Spectrum of Delta chart is showing a rise from 15k to 22k in the difference.  I don't see this with anything except SoX 14.4.2.  I don't think it's affecting the frequency response because that would be apparent in the charts at Infinitewave so is it some other kind of difference when comparing?, something different when comparing from any previous version of SoX?

 

Can anyone else reproduce this, or does anyone know what is causing it?  Even if it's nothing technically wrong, it makes 14.4.2 seem slightly odd when comparing to other resamplers in this way  (if anyone else can reproduce it, that is.)

 

It happens in SoX 14.4.2 with all commands I've tried:  rate -v, rate -vs, rate -v -b 99.7.

 

The first picture is a SoX 14.4.1a downsample vs an SSRC downsample.

The second picture is a SoX 14.4.2 downsample vs an SSRC downsample.

 

Hi Steve,

 

Thank you! Diffmaker (and my inability to make it work most of the time) is what motivated me to make DeltaWave :)

 

The large jump in the spectrum difference at the end of the spectrum is most likely due to a low pass filter used as part of the resampling process. That's normal. Take a look at the Matched Spectrum charts to see what's going on between the two tracks in that region. 

 

Even though there is a large difference between a filtered and an unfiltered versions, it is usually not audible because the low pass filter drastically reduces the level in the high frequencies, which are already very low in level and that's where the ear is mostly insensitive.

Link to comment
38 minutes ago, pkane2001 said:

 

Hi Steve,

 

Thank you! Diffmaker (and my inability to make it work most of the time) is what motivated me to make DeltaWave :)

 

The large jump in the spectrum difference at the end of the spectrum is most likely due to a low pass filter used as part of the resampling process. That's normal. Take a look at the Matched Spectrum charts to see what's going on between the two tracks in that region. 

 

Even though there is a large difference between a filtered and an unfiltered versions, it is usually not audible because the low pass filter drastically reduces the level in the high frequencies, which are already very low in level and that's where the ear is mostly insensitive.

 

Here's an example of what I'm talking about, @Steve B.

 

Resampled in Audacity. Also a large jump at the high-end of the spectrum:

image.thumb.png.1f01458e093068a01208afea0df1ac38.png

 

And here's the reason, due to a low pass filter. You can see a large difference of about 90dB, but it's 90dB down from a level that's already @ -130dBFS down.

image.thumb.png.1978587cf2c483aea1c702c06d08cbe4.png

 

 

Link to comment
  • 2 weeks later...

Paul, just a thought for a future extension ... needle drops would a mongrel to do comparisons on, because of the regular speed variation as the platter turns, unless one lucked on a perfect centering. But the regularity means that there is a pattern to the speed drift, which could be detected and then used to 'undo' the rhythmic drifting, possibly.

 

Do you think it could be done ... ?

Link to comment
59 minutes ago, fas42 said:

Paul, just a thought for a future extension ... needle drops would a mongrel to do comparisons on, because of the regular speed variation as the platter turns, unless one lucked on a perfect centering. But the regularity means that there is a pattern to the speed drift, which could be detected and then used to 'undo' the rhythmic drifting, possibly.

 

Do you think it could be done ... ?

 

Unlikely that it would be regular enough for the pattern to be fully removed... But, if it is sufficiently regular, you can try to undo it with the non-linear phase correction option. Set the non-linear EQ FFT size to 1M / Kaiser window if there are more than say 5M samples in the file, otherwise make it a smaller FFT size.

 

The reason for more samples is that this allows more averaging of the pattern over more FFT windows, hopefully reducing noise and improving the pattern recognition.

Link to comment

Flac is not lossless - according to DW 😉

From B.wav I created B.flac ona Win10 machine.

DW identifies this two files as being not BIT PERFECT:

DeltaWave v1.0.47, 2019-12-18T13:27:12.4902666+01:00
Reference:  B.flac[R] 13242936 samples 44100Hz 16bits, stereo, MD5=00
Comparison: B.wav[R] 13242936 samples 44100Hz 16bits, stereo, MD5=00
Settings:
    Gain:False, Remove DC:False
    Non-linear Gain EQ:False    Non-linear Phase EQ: False
    EQ FFT Size:131072, EQ Frequency Cut: 20Hz - 20000Hz, EQ Threshold: -160dB
    Correct Drift:False, Precision:30
    Non-Linear drift Correction:False
    Upsample:False, Window:Hann
    Spectrum Window:Hann, Spectrum Size:262144
    Spectrogram Window:Hann, Spectrogram Size:4096, Spectrogram Steps:2048
    Dither:False
    Trim Silence:False
    Enable Simple Waveform Measurement: False

Discarding Reference:  Start=0s, End=0s
Discarding Comparison: Start=0s, End=0s

Initial peak values Reference: -4,123dB   Comparison: -4,123dB
Initial RMS values Reference: -27,303dB   Comparison: -27,303dB

Null Depth=300dB
X-Correlation offset: 0 samples

Trimmed 0 samples ( 0,00ms) front, 0 samples ( 0,00ms end)

Gain matching disabled.
Phase offset=0ms (0 samples)
Difference (rms) = -115,25dB [-125,31dBA]
Correlated Null Depth=300dB [50,71dBA]
Clock drift: 0 ppm


Files are NOT a bit-perfect match (match=100%) at 16 bits
Files match @ 99,9959% when reduced to 16 bits


---- Phase difference (full bandwidth): 0,215154875193726°
    0-10kHz: 0,08°
    0-20kHz: 0,09°
    0-24kHz: 0,22°
Timing error (rms jitter): 0sec

RMS of the difference of spectra: -309,189589339198dB
gn=1, dc=0, dr=0, of=0

DONE!

Signature: ec2049cf2e38aea72b34198b35a603c3

 

While Delta Waveform and Delta of Spectra both give a ruler-flat line, Spectrum of Delta gives a result I don't understand. The same for Delta Phase.B_wav-vs-flac_SpectrumOfDelta.thumb.jpg.3af254462bd986a5c7f79650766243b1.jpgB_wav-vs-flac_DeltaPhase.thumb.jpg.213de12b8a1679a2cc320ddf91a84c34.jpg

 

There are two options to export the delta into a .wav (if I got it right):
Writing Delta file to: D:\DW_wav-flac\B-wav-flac_FP64.wav
Writing Difference file to: D:\DW_wav-flac\B-wav-flac_pcm32+100dB.wav

I would expect Spectra+ showing something similar to Spectrum of Delta - this is not the case.

539302781_B_wav-vs-flac_DeltaSpectrum_Spectra.thumb.jpg.1d8f02f1428ad78f7965b846c8efbebc.jpg

 

What might have this caused?

Additional question: any chance to indicate the limit below which difference are due to calculation?

 

Best,
Ulli

 

 

 

Link to comment
1 hour ago, modmix said:

Flac is not lossless - according to DW 😉

From B.wav I created B.flac ona Win10 machine.

DW identifies this two files as being not BIT PERFECT:

DeltaWave v1.0.47, 2019-12-18T13:27:12.4902666+01:00
Reference:  B.flac[R] 13242936 samples 44100Hz 16bits, stereo, MD5=00
Comparison: B.wav[R] 13242936 samples 44100Hz 16bits, stereo, MD5=00
Settings:
    Gain:False, Remove DC:False
    Non-linear Gain EQ:False    Non-linear Phase EQ: False
    EQ FFT Size:131072, EQ Frequency Cut: 20Hz - 20000Hz, EQ Threshold: -160dB
    Correct Drift:False, Precision:30
    Non-Linear drift Correction:False
    Upsample:False, Window:Hann
    Spectrum Window:Hann, Spectrum Size:262144
    Spectrogram Window:Hann, Spectrogram Size:4096, Spectrogram Steps:2048
    Dither:False
    Trim Silence:False
    Enable Simple Waveform Measurement: False

Discarding Reference:  Start=0s, End=0s
Discarding Comparison: Start=0s, End=0s

Initial peak values Reference: -4,123dB   Comparison: -4,123dB
Initial RMS values Reference: -27,303dB   Comparison: -27,303dB

Null Depth=300dB
X-Correlation offset: 0 samples

Trimmed 0 samples ( 0,00ms) front, 0 samples ( 0,00ms end)

Gain matching disabled.
Phase offset=0ms (0 samples)
Difference (rms) = -115,25dB [-125,31dBA]
Correlated Null Depth=300dB [50,71dBA]
Clock drift: 0 ppm


Files are NOT a bit-perfect match (match=100%) at 16 bits
Files match @ 99,9959% when reduced to 16 bits


---- Phase difference (full bandwidth): 0,215154875193726°
    0-10kHz: 0,08°
    0-20kHz: 0,09°
    0-24kHz: 0,22°
Timing error (rms jitter): 0sec

RMS of the difference of spectra: -309,189589339198dB
gn=1, dc=0, dr=0, of=0

DONE!

Signature: ec2049cf2e38aea72b34198b35a603c3

 

While Delta Waveform and Delta of Spectra both give a ruler-flat line, Spectrum of Delta gives a result I don't understand. The same for Delta Phase.B_wav-vs-flac_SpectrumOfDelta.thumb.jpg.3af254462bd986a5c7f79650766243b1.jpgB_wav-vs-flac_DeltaPhase.thumb.jpg.213de12b8a1679a2cc320ddf91a84c34.jpg

 

There are two options to export the delta into a .wav (if I got it right):
Writing Delta file to: D:\DW_wav-flac\B-wav-flac_FP64.wav
Writing Difference file to: D:\DW_wav-flac\B-wav-flac_pcm32+100dB.wav

I would expect Spectra+ showing something similar to Spectrum of Delta - this is not the case.

539302781_B_wav-vs-flac_DeltaSpectrum_Spectra.thumb.jpg.1d8f02f1428ad78f7965b846c8efbebc.jpg

 

What might have this caused?

Additional question: any chance to indicate the limit below which difference are due to calculation?

 

Best,
Ulli

 

Hi Ulli,

 

Obviously this isn't supposed to work this way :) A possible reason is some difference between FLAC and WAV readers, this happened before. Let me try to reproduce to see why they don't match exactly.

 

Link to comment

Great.

 

sidebar
There are reports that a native .wav can produce different sound when compaired to a .wav having metadata included.

DW reports in a test with a picture included: BIT PERFECT.
Using something like WinDiff confirmes that the PCM data are just identical in both files.
For obvious reason just the file length given in the 4 bytes in the header is different - should not cause a sonic impact, I would guess. Metadata are appended at the end of the .wav.
Conclusion: in case a sonic difference is heard, the program feeding the data to the DAC may cause some effect - any other ideas?

 

 

Link to comment
11 hours ago, modmix said:

Great.

 

sidebar
There are reports that a native .wav can produce different sound when compaired to a .wav having metadata included.

DW reports in a test with a picture included: BIT PERFECT.
Using something like WinDiff confirmes that the PCM data are just identical in both files.
For obvious reason just the file length given in the 4 bytes in the header is different - should not cause a sonic impact, I would guess. Metadata are appended at the end of the .wav.
Conclusion: in case a sonic difference is heard, the program feeding the data to the DAC may cause some effect - any other ideas?

 

 

Nice :(

Link to comment
11 hours ago, modmix said:

Great.

 

sidebar
There are reports that a native .wav can produce different sound when compaired to a .wav having metadata included.

DW reports in a test with a picture included: BIT PERFECT.
Using something like WinDiff confirmes that the PCM data are just identical in both files.
For obvious reason just the file length given in the 4 bytes in the header is different - should not cause a sonic impact, I would guess. Metadata are appended at the end of the .wav.
Conclusion: in case a sonic difference is heard, the program feeding the data to the DAC may cause some effect - any other ideas?

 

 

 

Well, the good news is DeltaWave computations work just fine. The bad news is that the FLAC reader (which is part of the NAudio library that DW is using) is reading the last 568 samples of this particular file as all zeros, while they are not zeros in the WAV file. This is why there are differences in the computed delta values. I'll need to figure out what the library is doing wrong in this case. I'll let you know when I find something.

Link to comment
12 hours ago, modmix said:

Great.

 

sidebar
There are reports that a native .wav can produce different sound when compaired to a .wav having metadata included.

DW reports in a test with a picture included: BIT PERFECT.
Using something like WinDiff confirmes that the PCM data are just identical in both files.
For obvious reason just the file length given in the 4 bytes in the header is different - should not cause a sonic impact, I would guess. Metadata are appended at the end of the .wav.
Conclusion: in case a sonic difference is heard, the program feeding the data to the DAC may cause some effect - any other ideas?

 

Turns out a couple of bugs in NAudio.FLAC project caused this. When getting to the last frame in the FLAC file, if there were any samples left over to be read from the previous frame, the reader would throw them away instead, returning 0.  Unfortunately, this is not the first problem I found with this reader and had to fix :(

 

I'll post an updated version in a few.

Link to comment

Clip

Clip value for the same file can differ - folder 1 is on a friend's pc, folder 2 is on my pc.
Settings are the same (to the best of our knowledge)

  • Why are there different values for the same file LW 27 ?

526954014_DeltaWaveLW10_LW27_20191219_Clip_1-vs-2.jpg.141ed155027b757577b82228a1030fb4.jpg

  • BTW: What does the Clip value indicate?
    LW 10.wav has more than 2 values regarded as clipping by audacity
    1377064481_LW10clip-details.thumb.jpg.571e9f782a04411db463dbab1caa8d93.jpg

TIA
Ulli


 

 

Link to comment
2 hours ago, modmix said:

Clip

Clip value for the same file can differ - folder 1 is on a friend's pc, folder 2 is on my pc.
Settings are the same (to the best of our knowledge)

  • Why are there different values for the same file LW 27 ?

526954014_DeltaWaveLW10_LW27_20191219_Clip_1-vs-2.jpg.141ed155027b757577b82228a1030fb4.jpg

  • BTW: What does the Clip value indicate?
    LW 10.wav has more than 2 values regarded as clipping by audacity
    1377064481_LW10clip-details.thumb.jpg.571e9f782a04411db463dbab1caa8d93.jpg

TIA
Ulli


 

 

 

 

Hi Ulli,

 

Looks like the second screen shot shows the files already matched? Matching process involves adjusting the Compare file to match the Reference file, so in the process, it is possible that the number of clipped values will increase compared to the unprocessed file.

 

Clip shows the number of samples outside of the -1..1 range. Looks like Audacity is treating 1 and -1 values as clipped, so the number would be greater.

 

By the way, there is a menu option to 'unclip' the files, even after processing. This is available under Process->Correct clipping menu. This will make level adjustments (the same for both, reference and compare files) to eliminate clipping, if there is some in either file. This is equivalent to turning down the digital volume, and so will lower the level of all samples in both files.

Link to comment
On 12/18/2019 at 8:19 AM, modmix said:

There are two options to export the delta into a .wav (if I got it right):
Writing Delta file to: D:\DW_wav-flac\B-wav-flac_FP64.wav
Writing Difference file to: D:\DW_wav-flac\B-wav-flac_pcm32+100dB.wav


There are two menu items to save the delta file:

File->Save Delta File...  writes the delta file as 32-bit floating point WAV and is a quick way to save it

File->Export WAV File...

 

Export option let's you pick 32- or 64- bit WAV format and to create composite files from reference and comparison. The Delta (32-bit FP) option here is the same as the Save Delta File... menu option:

image.png.1daac78489b29ad4c6fe99c808252aae.png

  

Link to comment

New version of DeltaWave, v1.0.49 is out. This version adds the DF distortion metric as defined by Serge Smirnoff in this thread on ASR. Serge's AES paper on this metric is also available.

Instructions on how to use the DF metric in DeltaWave are in this post.

Would be interesting to see how or whether this metric is useful or more accurately describes the audible differences between files than the stock measures already available in DeltaWave, such as RMS difference, correlated null depth, etc.

Link to comment

Paul, I noted you said this on ASR,

 

Quote

I actually started with a minimization algorithm but soon gave up due to how long a single comparison would run. The final result is a more pragmatic approach to matching waveforms. It may not be perfect but it is rarely far off.

 

How difficult would it be, with the current state of DW, to incorporate some version of a minimisation algoithm? If the issue is still an impractical comparison time, could it be set up to have a trade off between length of sample being compared and time to process? And allow the user to adjust the length, on the fly, so that he at least gets some information from the processing done up to that point?

 

Thanks, and have a good Christmas! 🎅 🤶

Link to comment
8 minutes ago, fas42 said:

Paul, I noted you said this on ASR,

 

 

How difficult would it be, with the current state of DW, to incorporate some version of a minimisation algoithm? If the issue is still an impractical comparison time, could it be set up to have a trade off between length of sample being compared and time to process? And allow the user to adjust the length, on the fly, so that he at least gets some information from the processing done up to that point?

 

Thanks, and have a good Christmas! 🎅 🤶

 

Hi Frank,

 

The exhaustive search that Serge Smirnoff implemented in Matlab takes many hours to run a simple comparison with a 30 second music clip. I don't have the patience to even test something like this :) The interesting thing is that in all the testing of DF with Serge's test files, DeltaWave produced identical results to Serge's algorithm in a few minutes (with differences of of less than 0.1dB), confirming that DeltaWave computation is accurate and at the limit of even an exhaustive search algorithm. What's more, DW can produce a much more accurate result in the presence of non-linear phase and amplitude effects, which Serge's algorithm can't handle. 

 

Happy holidays and Merry Christmas,

 

   -Paul

Link to comment
  • 3 months later...
57 minutes ago, TomCapraro said:

when opening the overlay window all the parameters are missing

hkkkkk.jpg

 

Hi Tom,

 

I am aware of this issue. It was created in the latest release when I disabled saving some of the previous results as DeltaWave was running out of memory often on my memory-limited Windows virtual machine. For now, please try to click on Load... and see if you can find the overlay data to load from a file. DW saves previous analysis results, so you should see a list of files you can load for comparison.

 

Regards,

 

     -Paul

Link to comment
  • 5 months later...

Hi Tom,

 

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.

 

Regards,

 

    -Paul

 

28 minutes ago, TomCapraro said:
176/5000
 
 
 
Hi Paul, do you happen to find a ready WAV file with the frequencies of the multitones established by audio precision?
If you have it can you please send it to me?
Like these frequencies ...

image.png.df14dbff1a1e2e0101012bf4dd920335.png

 

Link to comment
1 hour ago, pkane2001 said:

Hi Tom,

 

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.

 

Regards,

 

    -Paul

 

 

120/5000
 
 
 
Don't worry ... how is the software for multitone measurements?
Have you completed the program?
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...