pkane2001 Posted March 20, 2019 Author Share Posted March 20, 2019 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: 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: -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
esldude Posted March 20, 2019 Share Posted March 20, 2019 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: 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: 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
fas42 Posted March 20, 2019 Share Posted March 20, 2019 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: 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: 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
fas42 Posted March 20, 2019 Share Posted March 20, 2019 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
esldude Posted March 20, 2019 Share Posted March 20, 2019 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. fas42 1 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
fas42 Posted March 20, 2019 Share Posted March 20, 2019 As an extra tidbit, I looked at the spectrum of that delta mix track done above in Audacity, and it was a mighty good effort of being white noise ... Link to comment
esldude Posted March 20, 2019 Share Posted March 20, 2019 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
fas42 Posted March 20, 2019 Share Posted March 20, 2019 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 pkane2001 1 Link to comment
pkane2001 Posted March 20, 2019 Author Share Posted March 20, 2019 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: 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 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted March 20, 2019 Author Share Posted March 20, 2019 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? fas42 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted March 20, 2019 Author Share Posted March 20, 2019 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. -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted March 20, 2019 Author Share Posted March 20, 2019 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! -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted March 20, 2019 Author Share Posted March 20, 2019 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... -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
esldude Posted March 20, 2019 Share Posted March 20, 2019 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
fas42 Posted March 20, 2019 Share Posted March 20, 2019 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 Link to comment
pkane2001 Posted March 21, 2019 Author Share Posted March 21, 2019 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: 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? -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
fas42 Posted March 21, 2019 Share Posted March 21, 2019 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 pkane2001 1 Link to comment
esldude Posted March 21, 2019 Share Posted March 21, 2019 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. pkane2001 1 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
fas42 Posted March 21, 2019 Share Posted March 21, 2019 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 ... pkane2001 1 Link to comment
pkane2001 Posted March 21, 2019 Author Share Posted March 21, 2019 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. fas42 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
esldude Posted March 21, 2019 Share Posted March 21, 2019 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
pkane2001 Posted March 21, 2019 Author Share Posted March 21, 2019 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. -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
esldude Posted March 21, 2019 Share Posted March 21, 2019 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
pkane2001 Posted March 21, 2019 Author Share Posted March 21, 2019 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. -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Popular Post pkane2001 Posted March 22, 2019 Author Popular Post Share Posted March 22, 2019 A pre-release of v1.0.19. This should address a lot of the issues that @fas42 and @esldude have reported, as well as adds a few new features and enhancements. Let me know what you think: https://drive.google.com/open?id=1STW_HC903Lq8x0JKhDfUBkEFCay8fQ1L Should get better nulls with Audacity-processed 16-bit files Should read 24- and 32-bit integer WAV format correctly Should display correct offset value Adds silence trimming option (on by default) Adds scale display and other enhancements in the spectrogram windows Changes the waveform Y axis to display in dB rather than 1 to -1 floating point Fixes the 100% that's really a 'nearly 100%' display Regards, -Paul fas42, rando and esldude 3 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now