Jump to content
IGNORED

DeltaWave null-testing audio comparator (beta)


Recommended Posts

31 minutes ago, fas42 said:

And problems straight away - I merely attenuated the B wave by 0.38 dB, and this was the result:

 

DeltaWave v1.0.18, 2019-03-20T13:01:47.5458208+11:00
File 1:  Bob Marley B.wav[L] 237568 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley B,-0.38.wav[L] 237568 samples 44100Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True
    Non-linear Gain:False    EQ FFT Size:262144, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -160dB
    Correct Drift:True, Precision:18
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False

Discarding: Start=20s, End=6s
Discarding: End  =20s, End=6s

Initial peak values File 1: -2.568dB   File 2: -2.948dB
Initial RMS values File 1: -17.94dB   File 2: -18.32dB

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

Final peak values File 1: -2.568dB   File 2: -2.565dB
Final RMS values File 1: -17.916dB   File 2: -17.916dB

Gain= -0.3842dB (0.9567x) Phase offset=0ms (0 samples)
Difference (rms) = -90.05dB [-96.02dBA]
Correlated Null Depth=91.71dB [85.86dBA]
Clock drift: 0 ppm


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


Phase difference (full bandwidth): 0.992471064268582°
                 0-10,000Hz: 0.0759831135659693°
                 0-20,000Hz: 0.748855122275202°
                 0-24,000Hz: 0.992471064268582°
                 0-44,100Hz: 0.992471064268582°
                 0-48,000Hz: 0.992471064268582°
RMS of the difference of spectra: -167.16135102673dB
DONE!

Signature: 70007d5e4084977dd4c109c0b908bf45

 

Frank, you keep running into Audacity issues. To avoid any kind of truncation or dithering, please use the following settings when processing and exporting from Audacity:

image.png.f86c215a40919918a9b004f064f8923d.png 

 

Then, when exporting, use WAV 32-bit floating PCM format. 

 

Here's what I get when I do that with the -0.38dB processed file (note the nulls). A little better? Note that it shows NOT BIT PERFECT but 100% of the samples matched. That's because some small fraction of one percent of samples didn't match due to the level change:

image.thumb.png.e3846c461efcf2dfde4d7e124e4b63db.png

 

Link to comment
2 hours ago, pkane2001 said:

 

Frank, you keep running into Audacity issues. To avoid any kind of truncation or dithering, please use the following settings when processing and exporting from Audacity:

image.png.f86c215a40919918a9b004f064f8923d.png 

 

Then, when exporting, use WAV 32-bit floating PCM format. 

 

Here's what I get when I do that with the -0.38dB processed file (note the nulls). A little better? Note that it shows NOT BIT PERFECT but 100% of the samples matched. That's because some small fraction of one percent of samples didn't match due to the level change:

image.thumb.png.e3846c461efcf2dfde4d7e124e4b63db.png

 

Did you mean export as 32 bit signed PCM?  I was thinking when I tried running 32 bit float directly into Deltawave it didn't work.   Running Audacity as 32 bit float and exporting to either signed 24 bit PCM or signed 32 bit PCM does work.  Or is my Deltawave working wrong somehow?

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment
3 hours ago, pkane2001 said:

 

Frank, you keep running into Audacity issues. To avoid any kind of truncation or dithering, please use the following settings when processing and exporting from Audacity:

image.png.f86c215a40919918a9b004f064f8923d.png 

 

Keep running? Audacity issues? Surprise, surprise - those are the settings I have been using ever since i started using Audacity ...

 

3 hours ago, pkane2001 said:

Then, when exporting, use WAV 32-bit floating PCM format. 

 

Here's what I get when I do that with the -0.38dB processed file (note the nulls). A little better? Note that it shows NOT BIT PERFECT but 100% of the samples matched. That's because some small fraction of one percent of samples didn't match due to the level change:

 

But 32 bit WAV files would be very rare - 0.38dB doesn't result in over 6dB loss of accuracy, which is what the results panel implies.

 

3 hours ago, pkane2001 said:

image.thumb.png.e3846c461efcf2dfde4d7e124e4b63db.png

 

 

I not seeing anything here that says that "100% of the samples matched" ... are we talking about "NOT Bit Perfect 100%?" That doesn't make sense ...

Link to comment

To verify Audacity's precision, I just now loaded in original Bob Marley B, 16 bit; Bob Marley B-0.38, 16 bit, that I had earlier exported; amplified the latter by 0.38dB, inverted, mixed both to a new track - that nulled to -95.9dB, which is about as good as one could expect, :).

Link to comment

I've seen the same thing now Frank.  If I save a file to 32 bit float or 32 bit PCM Deltawave stops on an error.  If I use for instance the 16 bit Marley B and reduce it by .38 db saving the result in 32 bit PCM still errors out.  Saving as 24 bit PCM results in 100%  bit perfect match with null depth at 267 db and difference at -284 db.  So apparently Deltawave isn't working with 32 bit files.  Reduction done in Audacity with no dither.  Working internally 32 bit float. 

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment

The log file shows 32 bit files with initial peak values that are positive.  Like when using 32 bit wav pcm it is showing 770 db peak.  Deltawave sees it as a 32 bit file, but doesn't seem to work with it.  After adjusting gain or attempting to for 32 bit it shows NaNdb.

 

Here is a log file with both 32 bit.

 

 


2019-03-20 01:29:16.4432|INFO|Wave.WaveForm|Signature: 9f0269cc1c8f6a0731584ab69946631e
2019-03-20 01:43:03.7428|INFO|Wave.WaveForm|ProcessAll
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|DeltaWave v1.0.18, 2019-03-20T01:43:03.8990752-05:00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|File 1:  Bob Marley 2nd gen.wav[L] 1547432 samples 44100Hz 32bits, MD5=00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|File 2: Bob Marley 3rd gen.wav[L] 1570828 samples 44100Hz 32bits, MD5=00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:False
    Non-linear Gain:False    EQ FFT Size:32768, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -130dB
    Correct Drift:True, Precision:8
    Upsample:False, Window:Hann
    Spectrum Window:BlackmanHarris, Spectrum Size:16384
    Spectrogram Window:BlackmanHarris, Spectrogram Size:2048, Spectrogram Steps:2048
    Dither:False

2019-03-20 01:43:04.0553|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-20 01:43:04.0709|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-20 01:43:04.2740|INFO|Wave.WaveForm|
Initial peak values File 1: 770.637dB   File 2: 8dB
2019-03-20 01:43:04.2740|INFO|Wave.WaveForm|Initial RMS values File 1: NaNdB   File 2: NaNdB

2019-03-20 01:43:04.2896|INFO|Wave.WaveForm|Null Depth=NaNdB
2019-03-20 01:43:04.3990|INFO|Wave.WaveForm|Trim: skipping 54 samples at start, and 2 samples at end that are below 3.72529029846191E-09 level
2019-03-20 01:43:04.4615|INFO|Wave.WaveForm|Trim: skipping 0 samples at start, and 2 samples at end that are below 3.72529029846191E-09 level
2019-03-20 01:43:05.8837|INFO|Wave.WaveForm|Phase inverted
2019-03-20 01:43:05.8837|INFO|Wave.WaveForm|X-Correlation offset: 1 samples
2019-03-20 01:43:08.0610|ERROR|Wave.WaveForm|Stopped!
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Wave.Analysis.ComputeDriftSpline(Double[] L, Double[] L1, Int32 freq, Int32 data_length, Int32& inc, Int32 steps, Boolean fractional, Double& error, Double& drift, Boolean bLinear) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\Analysis.cs:line 894
   at Wave.WaveForm.InitialDriftCorrect(Double[]& L, Double[]& L1, Double& spline_drift, Int32 data_length, Int32 freq, Double min_drift) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 2326
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch, Boolean bLoadOnly) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1631
2019-03-20 01:43:08.0766|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-20 01:43:08.0766|INFO|Wave.WaveForm|Signature: 7a04b178245e32cb8305fd5a920c878a

 

 

And with only one file 32 bit.

 

 

2019-03-20 01:26:41.9963|INFO|Wave.WaveForm|ProcessAll
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|DeltaWave v1.0.18, 2019-03-20T01:26:42.1369300-05:00
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|File 1:  Bob Marley B.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|File 2: Bob Marley B 38 drop 24bit.wav[L] 1377376 samples 44100Hz 32bits, MD5=00
2019-03-20 01:26:42.1525|INFO|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:False
    Non-linear Gain:False    EQ FFT Size:32768, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -130dB
    Correct Drift:True, Precision:8
    Upsample:False, Window:Hann
    Spectrum Window:BlackmanHarris, Spectrum Size:16384
    Spectrogram Window:BlackmanHarris, Spectrogram Size:2048, Spectrogram Steps:2048
    Dither:False

2019-03-20 01:26:42.2777|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-20 01:26:42.2933|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-20 01:26:42.4652|INFO|Wave.WaveForm|
Initial peak values File 1: -1.549dB   File 2: 770.628dB
2019-03-20 01:26:42.4808|INFO|Wave.WaveForm|Initial RMS values File 1: -17.348dB   File 2: NaNdB

2019-03-20 01:26:42.4964|INFO|Wave.WaveForm|Null Depth=NaNdB
2019-03-20 01:26:42.5902|INFO|Wave.WaveForm|Trim: skipping 511 samples at start, and 529 samples at end that are below 0.000244140625 level
2019-03-20 01:26:42.6371|INFO|Wave.WaveForm|Trim: skipping 507 samples at start, and 512 samples at end that are below 0.000244140625 level
2019-03-20 01:26:43.9653|INFO|Wave.WaveForm|Phase inverted
2019-03-20 01:26:43.9653|INFO|Wave.WaveForm|X-Correlation offset: 1 samples
2019-03-20 01:26:45.9619|ERROR|Wave.WaveForm|Stopped!
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Wave.Analysis.ComputeDriftSpline(Double[] L, Double[] L1, Int32 freq, Int32 data_length, Int32& inc, Int32 steps, Boolean fractional, Double& error, Double& drift, Boolean bLinear) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\Analysis.cs:line 894
   at Wave.WaveForm.InitialDriftCorrect(Double[]& L, Double[]& L1, Double& spline_drift, Int32 data_length, Int32 freq, Double min_drift) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 2326
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch, Boolean bLoadOnly) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1631
2019-03-20 01:26:45.9619|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-20 01:26:45.9775|INFO|Wave.WaveForm|Signature: 22826c7e3da2d2ccfcebafc2cb6c67f1

 

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment

Next investigation: what happens if the tracks are not time aligned? Trying with a certain number of samples difference at 44.1k sample rate yields expected results - a perfect match, even for large time lags. But it is almost guaranteed that the waveforms won't be sampled at exactly the same, corresponding points in curves - so, upsampled to 176.4k, deleted 17 samples at the start, and downsampled to 44.1k - the waveforms are still 'identical', but the data values no longer match.

 

Unfortunately, DW can't detect this at the moment:

 

DeltaWave v1.0.18, 2019-03-20T21:07:02.1972102+11:00
File 1:  Bob Marley B.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley B,mod.wav[L] 1377372 samples 44100Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True
    Non-linear Gain:False    EQ FFT Size:262144, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -160dB
    Correct Drift:True, Precision:18
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False

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

Initial peak values File 1: -1.549dB   File 2: -1.52dB
Initial RMS values File 1: -17.348dB   File 2: -17.348dB

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

Final peak values File 1: -1.549dB   File 2: -1.544dB
Final RMS values File 1: -17.33dB   File 2: -17.33dB

Gain= -0.0085dB (0.999x) Phase offset=0ms (0 samples)
Difference (rms) = -77.51dB [-91.41dBA]
Correlated Null Depth=78.89dB [80.88dBA]
Clock drift: 0 ppm


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


Phase difference (full bandwidth): 18.3415355370696°
                 0-10,000Hz: 0.373563403130467°
                 0-20,000Hz: 1.32856243123896°
                 0-24,000Hz: 18.3415355370696°
                 0-44,100Hz: 18.3415355370696°
                 0-48,000Hz: 18.3415355370696°
RMS of the difference of spectra: -151.717045379026dB
DONE!

Signature: 8aca0c7ef11374c6f8de32b3a4802958

Link to comment
6 hours ago, esldude said:

Did you mean export as 32 bit signed PCM?  I was thinking when I tried running 32 bit float directly into Deltawave it didn't work.   Running Audacity as 32 bit float and exporting to either signed 24 bit PCM or signed 32 bit PCM does work.  Or is my Deltawave working wrong somehow?

 

No, 32 bit float and it's been working for me from the beginning ;) That's the result I posted earlier.

 

In Audacity it looks like this when exporting:

image.png.02b8712119edb49c476d7c1ebe20337b.png

 

If you have a short snipped of a file that gives such a large dB peak, can you please share it? Somehow these are either not recognized or processed properly by the audio library I'm using if it's giving 700dB peak :)

 

Link to comment
5 hours ago, fas42 said:

 

Keep running? Audacity issues? Surprise, surprise - those are the settings I have been using ever since i started using Audacity ...

 

 

But 32 bit WAV files would be very rare - 0.38dB doesn't result in over 6dB loss of accuracy, which is what the results panel implies.

 

 

I not seeing anything here that says that "100% of the samples matched" ... are we talking about "NOT Bit Perfect 100%?" That doesn't make sense ...

 

It's not bit perfect, but 99.99999% of the samples match. Round it to a whole number and you get 100%. Don't have the room to display all the decimal places on the status bar, but maybe I'll stop rounding and truncate instead, then it'll show up as 99%, which is less accurate but maybe a bit less misleading?

Link to comment
5 hours ago, esldude said:

The log file shows 32 bit files with initial peak values that are positive.  Like when using 32 bit wav pcm it is showing 770 db peak.  Deltawave sees it as a 32 bit file, but doesn't seem to work with it.  After adjusting gain or attempting to for 32 bit it shows NaNdb.

 

Here is a log file with both 32 bit.

 

 


2019-03-20 01:29:16.4432|INFO|Wave.WaveForm|Signature: 9f0269cc1c8f6a0731584ab69946631e
2019-03-20 01:43:03.7428|INFO|Wave.WaveForm|ProcessAll
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|DeltaWave v1.0.18, 2019-03-20T01:43:03.8990752-05:00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|File 1:  Bob Marley 2nd gen.wav[L] 1547432 samples 44100Hz 32bits, MD5=00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|File 2: Bob Marley 3rd gen.wav[L] 1570828 samples 44100Hz 32bits, MD5=00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:False
    Non-linear Gain:False    EQ FFT Size:32768, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -130dB
    Correct Drift:True, Precision:8
    Upsample:False, Window:Hann
    Spectrum Window:BlackmanHarris, Spectrum Size:16384
    Spectrogram Window:BlackmanHarris, Spectrogram Size:2048, Spectrogram Steps:2048
    Dither:False

2019-03-20 01:43:04.0553|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-20 01:43:04.0709|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-20 01:43:04.2740|INFO|Wave.WaveForm|
Initial peak values File 1: 770.637dB   File 2: 8dB
2019-03-20 01:43:04.2740|INFO|Wave.WaveForm|Initial RMS values File 1: NaNdB   File 2: NaNdB

2019-03-20 01:43:04.2896|INFO|Wave.WaveForm|Null Depth=NaNdB
2019-03-20 01:43:04.3990|INFO|Wave.WaveForm|Trim: skipping 54 samples at start, and 2 samples at end that are below 3.72529029846191E-09 level
2019-03-20 01:43:04.4615|INFO|Wave.WaveForm|Trim: skipping 0 samples at start, and 2 samples at end that are below 3.72529029846191E-09 level
2019-03-20 01:43:05.8837|INFO|Wave.WaveForm|Phase inverted
2019-03-20 01:43:05.8837|INFO|Wave.WaveForm|X-Correlation offset: 1 samples
2019-03-20 01:43:08.0610|ERROR|Wave.WaveForm|Stopped!
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Wave.Analysis.ComputeDriftSpline(Double[] L, Double[] L1, Int32 freq, Int32 data_length, Int32& inc, Int32 steps, Boolean fractional, Double& error, Double& drift, Boolean bLinear) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\Analysis.cs:line 894
   at Wave.WaveForm.InitialDriftCorrect(Double[]& L, Double[]& L1, Double& spline_drift, Int32 data_length, Int32 freq, Double min_drift) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 2326
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch, Boolean bLoadOnly) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1631
2019-03-20 01:43:08.0766|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-20 01:43:08.0766|INFO|Wave.WaveForm|Signature: 7a04b178245e32cb8305fd5a920c878a

 

 

And with only one file 32 bit.

 

 

2019-03-20 01:26:41.9963|INFO|Wave.WaveForm|ProcessAll
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|DeltaWave v1.0.18, 2019-03-20T01:26:42.1369300-05:00
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|File 1:  Bob Marley B.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|File 2: Bob Marley B 38 drop 24bit.wav[L] 1377376 samples 44100Hz 32bits, MD5=00
2019-03-20 01:26:42.1525|INFO|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:False
    Non-linear Gain:False    EQ FFT Size:32768, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -130dB
    Correct Drift:True, Precision:8
    Upsample:False, Window:Hann
    Spectrum Window:BlackmanHarris, Spectrum Size:16384
    Spectrogram Window:BlackmanHarris, Spectrogram Size:2048, Spectrogram Steps:2048
    Dither:False

2019-03-20 01:26:42.2777|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-20 01:26:42.2933|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-20 01:26:42.4652|INFO|Wave.WaveForm|
Initial peak values File 1: -1.549dB   File 2: 770.628dB
2019-03-20 01:26:42.4808|INFO|Wave.WaveForm|Initial RMS values File 1: -17.348dB   File 2: NaNdB

2019-03-20 01:26:42.4964|INFO|Wave.WaveForm|Null Depth=NaNdB
2019-03-20 01:26:42.5902|INFO|Wave.WaveForm|Trim: skipping 511 samples at start, and 529 samples at end that are below 0.000244140625 level
2019-03-20 01:26:42.6371|INFO|Wave.WaveForm|Trim: skipping 507 samples at start, and 512 samples at end that are below 0.000244140625 level
2019-03-20 01:26:43.9653|INFO|Wave.WaveForm|Phase inverted
2019-03-20 01:26:43.9653|INFO|Wave.WaveForm|X-Correlation offset: 1 samples
2019-03-20 01:26:45.9619|ERROR|Wave.WaveForm|Stopped!
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Wave.Analysis.ComputeDriftSpline(Double[] L, Double[] L1, Int32 freq, Int32 data_length, Int32& inc, Int32 steps, Boolean fractional, Double& error, Double& drift, Boolean bLinear) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\Analysis.cs:line 894
   at Wave.WaveForm.InitialDriftCorrect(Double[]& L, Double[]& L1, Double& spline_drift, Int32 data_length, Int32 freq, Double min_drift) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 2326
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch, Boolean bLoadOnly) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1631
2019-03-20 01:26:45.9619|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-20 01:26:45.9775|INFO|Wave.WaveForm|Signature: 22826c7e3da2d2ccfcebafc2cb6c67f1

 

 

Can you please upload a snippet of this file? Somehow I can't reproduce it when I save to 32-bit floating point in Audacity.

 

 

Link to comment
5 hours ago, esldude said:

The log file shows 32 bit files with initial peak values that are positive.  Like when using 32 bit wav pcm it is showing 770 db peak.  Deltawave sees it as a 32 bit file, but doesn't seem to work with it.  After adjusting gain or attempting to for 32 bit it shows NaNdb.

 

Here is a log file with both 32 bit.

 

 


2019-03-20 01:29:16.4432|INFO|Wave.WaveForm|Signature: 9f0269cc1c8f6a0731584ab69946631e
2019-03-20 01:43:03.7428|INFO|Wave.WaveForm|ProcessAll
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|DeltaWave v1.0.18, 2019-03-20T01:43:03.8990752-05:00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|File 1:  Bob Marley 2nd gen.wav[L] 1547432 samples 44100Hz 32bits, MD5=00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|File 2: Bob Marley 3rd gen.wav[L] 1570828 samples 44100Hz 32bits, MD5=00
2019-03-20 01:43:03.8990|INFO|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:False
    Non-linear Gain:False    EQ FFT Size:32768, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -130dB
    Correct Drift:True, Precision:8
    Upsample:False, Window:Hann
    Spectrum Window:BlackmanHarris, Spectrum Size:16384
    Spectrogram Window:BlackmanHarris, Spectrogram Size:2048, Spectrogram Steps:2048
    Dither:False

2019-03-20 01:43:04.0553|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-20 01:43:04.0709|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-20 01:43:04.2740|INFO|Wave.WaveForm|
Initial peak values File 1: 770.637dB   File 2: 8dB
2019-03-20 01:43:04.2740|INFO|Wave.WaveForm|Initial RMS values File 1: NaNdB   File 2: NaNdB

2019-03-20 01:43:04.2896|INFO|Wave.WaveForm|Null Depth=NaNdB
2019-03-20 01:43:04.3990|INFO|Wave.WaveForm|Trim: skipping 54 samples at start, and 2 samples at end that are below 3.72529029846191E-09 level
2019-03-20 01:43:04.4615|INFO|Wave.WaveForm|Trim: skipping 0 samples at start, and 2 samples at end that are below 3.72529029846191E-09 level
2019-03-20 01:43:05.8837|INFO|Wave.WaveForm|Phase inverted
2019-03-20 01:43:05.8837|INFO|Wave.WaveForm|X-Correlation offset: 1 samples
2019-03-20 01:43:08.0610|ERROR|Wave.WaveForm|Stopped!
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Wave.Analysis.ComputeDriftSpline(Double[] L, Double[] L1, Int32 freq, Int32 data_length, Int32& inc, Int32 steps, Boolean fractional, Double& error, Double& drift, Boolean bLinear) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\Analysis.cs:line 894
   at Wave.WaveForm.InitialDriftCorrect(Double[]& L, Double[]& L1, Double& spline_drift, Int32 data_length, Int32 freq, Double min_drift) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 2326
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch, Boolean bLoadOnly) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1631
2019-03-20 01:43:08.0766|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-20 01:43:08.0766|INFO|Wave.WaveForm|Signature: 7a04b178245e32cb8305fd5a920c878a

 

 

And with only one file 32 bit.

 

 

2019-03-20 01:26:41.9963|INFO|Wave.WaveForm|ProcessAll
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|DeltaWave v1.0.18, 2019-03-20T01:26:42.1369300-05:00
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|File 1:  Bob Marley B.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
2019-03-20 01:26:42.1369|INFO|Wave.WaveForm|File 2: Bob Marley B 38 drop 24bit.wav[L] 1377376 samples 44100Hz 32bits, MD5=00
2019-03-20 01:26:42.1525|INFO|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:False
    Non-linear Gain:False    EQ FFT Size:32768, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -130dB
    Correct Drift:True, Precision:8
    Upsample:False, Window:Hann
    Spectrum Window:BlackmanHarris, Spectrum Size:16384
    Spectrogram Window:BlackmanHarris, Spectrogram Size:2048, Spectrogram Steps:2048
    Dither:False

2019-03-20 01:26:42.2777|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-20 01:26:42.2933|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-20 01:26:42.4652|INFO|Wave.WaveForm|
Initial peak values File 1: -1.549dB   File 2: 770.628dB
2019-03-20 01:26:42.4808|INFO|Wave.WaveForm|Initial RMS values File 1: -17.348dB   File 2: NaNdB

2019-03-20 01:26:42.4964|INFO|Wave.WaveForm|Null Depth=NaNdB
2019-03-20 01:26:42.5902|INFO|Wave.WaveForm|Trim: skipping 511 samples at start, and 529 samples at end that are below 0.000244140625 level
2019-03-20 01:26:42.6371|INFO|Wave.WaveForm|Trim: skipping 507 samples at start, and 512 samples at end that are below 0.000244140625 level
2019-03-20 01:26:43.9653|INFO|Wave.WaveForm|Phase inverted
2019-03-20 01:26:43.9653|INFO|Wave.WaveForm|X-Correlation offset: 1 samples
2019-03-20 01:26:45.9619|ERROR|Wave.WaveForm|Stopped!
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Wave.Analysis.ComputeDriftSpline(Double[] L, Double[] L1, Int32 freq, Int32 data_length, Int32& inc, Int32 steps, Boolean fractional, Double& error, Double& drift, Boolean bLinear) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\Analysis.cs:line 894
   at Wave.WaveForm.InitialDriftCorrect(Double[]& L, Double[]& L1, Double& spline_drift, Int32 data_length, Int32 freq, Double min_drift) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 2326
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch, Boolean bLoadOnly) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1631
2019-03-20 01:26:45.9619|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-20 01:26:45.9775|INFO|Wave.WaveForm|Signature: 22826c7e3da2d2ccfcebafc2cb6c67f1

 

 

770dB is a very loud track, don’t try to play it! ;)

Link to comment
36 minutes ago, pkane2001 said:

 

Can you please upload a snippet of this file? Somehow I can't reproduce it when I save to 32-bit floating point in Audacity.

 

 

 

Never mind. It was a 32-bit signed PCM rather than floating point that caused this. Try saving as 32-bit floating point, instead, as that works. I'll investigate why this audio library can't handle 32 bit integer samples, but I have a suspicion...

Link to comment

Here is two different 32 bit float files against each other.  Infinite db shown.  THAT is really loud.

 

If I compare a 32 bit float against itself in 16 bit or 24 bit pcm form it works, but not against other 32 bit or other 16 or 24 bit files.  

 

DeltaWave v1.0.18, 2019-03-20T08:23:43.5136409-05:00
File 1:  Bob Marley 1st gen.wav[L] 1654652 samples 44100Hz 32bits, MD5=00
File 2: Bob Marley 3rd gen.wav[L] 1570828 samples 44100Hz 32bits, MD5=00
Settings: 
    Gain:True, Remove DC:False
    Non-linear Gain:False    EQ FFT Size:32768, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -130dB
    Correct Drift:True, Precision:8
    Upsample:False, Window:Hann
    Spectrum Window:BlackmanHarris, Spectrum Size:16384
    Spectrogram Window:BlackmanHarris, Spectrogram Size:2048, Spectrogram Steps:2048
    Dither:False

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

Initial peak values File 1: -1.443dB   File 2: ∞dB
Initial RMS values File 1: -18.103dB   File 2: NaNdB

Null Depth=NaNdB
Phase inverted
X-Correlation offset: 1 samples
Stopped! One or more errors occurred.
Signature: fa78aa468a04ceb14d63b50de7fe7e04

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment

Another exploration - add drift to Bob Marley B by changing rate to 44101, and resampling to 44.1k; gives a value of 22.68 ppm clock  difference in DW - compare,

 

DeltaWave v1.0.18, 2019-03-21T10:20:19.6244414+11:00
File 1:  Bob Marley B.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley B,drift.wav[L] 1377344 samples 44100Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True
    Non-linear Gain:False    EQ FFT Size:262144, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -160dB
    Correct Drift:True, Precision:18
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False

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

Initial peak values File 1: -1.549dB   File 2: -1.494dB
Initial RMS values File 1: -17.348dB   File 2: -17.348dB

Null Depth=24.116dB
X-Correlation offset: 7 samples

Final peak values File 1: -1.549dB   File 2: -1.54dB
Final RMS values File 1: -17.328dB   File 2: -17.332dB

Gain= -0.0232dB (0.9973x) Phase offset=0.31746ms (14 samples)
Difference (rms) = -55.65dB [-57.5dBA]
Correlated Null Depth=69.25dB [63.73dBA]
Clock drift: 22.68 ppm


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


Phase difference (full bandwidth): 26.6523551576985°
                 0-10,000Hz: 5.11264172847272°
                 0-20,000Hz: 18.3841427965064°
                 0-24,000Hz: 26.6523551576985°
                 0-44,100Hz: 26.6523551576985°
                 0-48,000Hz: 26.6523551576985°
RMS of the difference of spectra: -115.967829912584dB
DONE!

Signature: f049a2f5809c6404d4b29c86dff1a2e8

 

Marley17.thumb.PNG.05e43d8873b3909f3b6f4b63edb73f07.PNG

 

Link to comment
18 hours ago, fas42 said:

To verify Audacity's precision, I just now loaded in original Bob Marley B, 16 bit; Bob Marley B-0.38, 16 bit, that I had earlier exported; amplified the latter by 0.38dB, inverted, mixed both to a new track - that nulled to -95.9dB, which is about as good as one could expect, :).

 

OK, Frank, so how did you do this? Here's what I get in Audacity when I try to repeat your steps. Please also share your Audacity Quality settings during processing, as that's the only difference I can think of between our two processes:

 

1. Load original Bob Marley B track (16/44)

2. Amplify by -0.38dB

3. Export as 16 bit PCM (16/44)

4. Load both the original and the exported files from disk

5. Amplify the modified file by 0.38dB, invert it

6. Mix the inverted file with the original. Here's what I get:

 

image.thumb.png.ab401357f7a29215ac8382a2aba57a79.png

 

Note the RMS value of the null track: -79.3dBFS.

 

 

When I run the same two files through DeltaWave, the result is as follows:

Gain= -0.3843dB (0.9567x) Phase offset=0ms (0 samples)
Difference (rms) = -89.52dB [-96.63dBA]
Correlated Null Depth=87.98dB [95.99dBA]

 

So, how did you get -95.9dB in Audacity?

 

Link to comment

OK, the key difference is likely to be internal processing settings - I have it set to 32 bit floating as default, and every time I open or import a file, it is always then processed in that format. Amplifying by 0.38 in 16 bits will lose accuracy, straight away.

 

Technically, it should be -94.1, not 95.9 - I was testing by seeing what the peak value would be after amplifying, of the difference file

Link to comment

https://www.dropbox.com/s/0jciymo33xv14sx/Bob Marley all generations.zip?dl=0

 

These I uploaded earlier for Frank were all saved in 32 bit float from Audacity with it set to default internally to 32 bit float.  Unless it says otherwise in the file name it is 32 bit float.  I did leave the original as 16 bit, and 1st, 4th and 8th gen copies with both 24 bit and 32 bit float.  No dither in use at all.   Other than the original reference file in 16 bit, all the other generations were 24 bit files when I opened them in Audacity. 

 

Though not part of those files,  I opened the original and reduced it .38 db and saved as 32 bit pcm, float and 24 bit pcm.  Both 32 bit versions error out.  The 24 bit version shows a 200+db null depth.  I haven't tried saving it as 16 bit.  I know about what to expect.  The issue seems to be getting 32 bit to work on Frank's and my end of things right now. 

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment

I'm very deliberately using the original 16 bit version of Bob Marley B, as first posted, for these 'deviation' experiments. Because that will be the typical situation in real world use of DW - the aim is to find how well DW shapes up in not adding distortions which corrupt what one is trying to find.

 

On a positive note ^_^, an excellent feature would be to be able to lock the axes of the other panels, while zooming in on a particular panel - so that, for example, the shape of the delta Waveform can be compared easily to the Original - and then to unlock again, at will.

 

BTW, my Internet quality is still a mess - I'm having a 'fight' with my provider at the moment as to who is at fault - so bear with sometimes strange postings ... ;)

Link to comment
7 hours ago, esldude said:

https://www.dropbox.com/s/0jciymo33xv14sx/Bob Marley all generations.zip?dl=0

 

These I uploaded earlier for Frank were all saved in 32 bit float from Audacity with it set to default internally to 32 bit float.  Unless it says otherwise in the file name it is 32 bit float.  I did leave the original as 16 bit, and 1st, 4th and 8th gen copies with both 24 bit and 32 bit float.  No dither in use at all.   Other than the original reference file in 16 bit, all the other generations were 24 bit files when I opened them in Audacity. 

 

Though not part of those files,  I opened the original and reduced it .38 db and saved as 32 bit pcm, float and 24 bit pcm.  Both 32 bit versions error out.  The 24 bit version shows a 200+db null depth.  I haven't tried saving it as 16 bit.  I know about what to expect.  The issue seems to be getting 32 bit to work on Frank's and my end of things right now. 

 

Thanks, guys. As I said, 32-bit floating point format has been working, it's 32-bit/24-bit integer formats. I've tracked down a problem and will have a fix ASAP. Meanwhile, I'm following up on the tests that Frank reported to try to understand what could've caused them. The likely contender for the lower than expected null for 16-bit files appears to be the use of overlap-add and the choice of the FFT window. This is similar to what I had fixed before in other parts of the software, but appears to behave slightly differently, so I'll need more time to investigate. 

 

Link to comment
1 hour ago, pkane2001 said:

 

Thanks, guys. As I said, 32-bit floating point format has been working, it's 32-bit/24-bit integer formats. I've tracked down a problem and will have a fix ASAP. Meanwhile, I'm following up on the tests that Frank reported to try to understand what could've caused them. The likely contender for the lower than expected null for 16-bit files appears to be the use of overlap-add and the choice of the FFT window. This is similar to what I had fixed before in other parts of the software, but appears to behave slightly differently, so I'll need more time to investigate. 

 

Unless I misunderstood, the current version of the software is not working for me at 32 bit float. That was one of the logs I posted. Those 32 bit float files in the Dropbox link will error out.

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment
5 minutes ago, esldude said:

Unless I misunderstood, the current version of the software is not working for me at 32 bit float. That was one of the logs I posted. Those 32 bit float files in the Dropbox link will error out.

 

I'll check again on 32-bit floating, but that's a format I've been using extensively during testing. It's not the same as 32-bit signed PCM -- that's an integer format, not floating point.

Link to comment
2 hours ago, pkane2001 said:

 

I'll check again on 32-bit floating, but that's a format I've been using extensively during testing. It's not the same as 32-bit signed PCM -- that's an integer format, not floating point.

Yes I'm clear on integer and float.  If there is any particular way I can do a comparison that is helpful describe it and I'll run it later today.

And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. 

Link to comment
3 hours ago, esldude said:

Yes I'm clear on integer and float.  If there is any particular way I can do a comparison that is helpful describe it and I'll run it later today.

 

Thanks, Dennis. I got your multi-generation 32-bit floating point files and they load fine in DW. I also see that 24-bit and 32-bit integer sample files do not, and I know why. It'll be fixed ASAP. If you do have a file or two that are 32-bit floating point and fail to load, I'd like to see those.

 

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