Jump to content
IGNORED

DeltaWave null-testing audio comparator (beta)


Recommended Posts

21 minutes ago, Jud said:

Speaking of which -

 

I'm not able to access the computer with DWave on it at the moment, but wanted to ask: If there's a good chance this "master quality" stuff uses minimum phase filters at the ADC end, if I don't want to disturb that I assume there's a setting to toggle if one doesn't want to match phase?

 

Sure. You can disable phase drift correction in settings.

Link to comment

It's all happening at the moment - playing nursemaid to Bev; car regulator playing up, again!!; and phone/Internet line super noisy - impossible at the moment to get online ...

In the meantime, determined that the matching gives very different results, with v1.0.15, if I upsample, in Audacity, first - so, DW finds it easier to get a null with more samples - so, how to interpret that behaviour? Results follow ...


DeltaWave v1.0.15, 2019-03-14T13:34:29.2956598+11:00
File 1:  Bob Marley B-tmp.wav:[L] 543574 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley A-tmp.wav:[L] 543574 samples 44100Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True
EQ FFT Size:65536, EQ Frequency Cut: 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 at the beginning: File1=0, File2=0 samples
Initial values Waveform 1: -9.812dB   Waveform 2: -10.538dB
Null Depth=2.989dB
X-Correlation offset: 1 samples
Gain= -2.4865dB (0.7511x) Phase offset=0.045351ms (2 samples)
Difference (rms) = -41.85dB [-42.6dBA]
Correlated Null Depth=17.64dB [19.84dBA]
Clock drift: 0.67 ppm


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


Phase difference (full bandwidth): 137.203066089735°
                 0-10,000Hz: 108.669177864591°
                 0-20,000Hz: 138.166620638236°
                 0-24,000Hz: 137.203066089735°
                 0-44,100Hz: 137.203066089735°
                 0-48,000Hz: 137.203066089735°
RMS of the difference of spectra: -128.189085092427dB
DONE!

Signature: be5e846635a4727cbd30aceb6b41d504

=============================================

DeltaWave v1.0.15, 2019-03-14T13:39:50.3744267+11:00
File 1:  Bob Marley B-tmp,352k.wav:[L] 4319920 samples 352800Hz 16bits, MD5=00
File 2: Bob Marley A-tmp,352k.wav:[L] 4319920 samples 352800Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True
EQ FFT Size:65536, EQ Frequency Cut: 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 at the beginning: File1=0, File2=0 samples
Initial values Waveform 1: -9.814dB   Waveform 2: -9.797dB
Null Depth=2.988dB
X-Correlation offset: 20 samples
Gain= -0.0044dB (0.9995x) Phase offset=0.113379ms (40 samples)
Difference (rms) = -68.7dB [-69.86dBA]
Correlated Null Depth=46.01dB [58.79dBA]
Clock drift: 4.57 ppm


Files are NOT a bit-perfect match (match=3.94%) at 16 bits
Files match @ 49.9% when reduced to 11.99 bits


Phase difference (full bandwidth): 99.057931815473°
                 0-10,000Hz: 67.917247656421°
                 0-20,000Hz: 48.4469921529952°
                 0-24,000Hz: 61.4275465595301°
                 0-44,100Hz: 81.9530024958481°
                 0-48,000Hz: 85.3868453390299°
RMS of the difference of spectra: -147.18526505887dB
DONE!

Signature: e66a082c425b66d5bc0498e3d9f89a81

===========================================

 

Also, some excellent visual feedback is possible - one can actually see the waveform distorting, quite badly, in the 8th copy compared to the original, at very significant levels - this is clear evidence that the circuitry is not 100% clean. Will post this as an image later - trying a workaround to get this posting done ... most likely not too active until the technician sorts out the line ...

 

Line is going up and down in quality - I managed to post this, but may lose communications again shortly ...

Link to comment

As regards in hearing differences, I've found it trivially easy to do, in Audacity - for years now. Import both tracks, find a spot where you think there is a difference, select that area, and play on repeat - for the reference track only. This is no longer music, it's a mantra of sound, a pattern of tones - then switch the repeat play, on the fly, to the comparison track; if there's a difference the mantra is now very, very distinctly another pattern - it's completely obvious now, that the sound has changed.

Link to comment

I'm getting somewhat different results Frank.  I am on .17b though.  I'll have to try the upsampling first, haven't done that.  

 


DeltaWave v1.0.17, 2019-03-15T19:56:17.1174564-05:00
File 1:  Bob Marley A.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley B.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
Settings: 
    Gain:True, Remove DC:True
    EQ FFT Size:32768, EQ Frequency Cut: 0Hz, EQ Threshold: -120dB
    Correct Drift:True, Precision:8
    Upsample:True, 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.283dB   File 2: -1.549dB
Initial RMS values File 1: -17.372dB   File 2: -17.348dB

Null Depth=28.447dB
X-Correlation offset: -2 samples

Final peak values File 1: -1.283dB   File 2: -1.512dB
Final RMS values File 1: -17.303dB   File 2: -17.368dB

Gain= 0.0642dB (1.0074x) Phase offset=-0.090703ms (-4 samples)
Difference (rms) = -35.9dB [-48.16dBA]
Correlated Null Depth=40.28dB [43.1dBA]
Clock drift: -4.59 ppm


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


Phase difference (full bandwidth): 30.6305180909281°
                 0-10,000Hz: 8.80643908444472°
                 0-20,000Hz: 15.2122297572583°
                 0-24,000Hz: 30.6305180909281°
                 0-44,100Hz: 30.6305180909281°
                 0-48,000Hz: 30.6305180909281°
RMS of the difference of spectra: -79.6963687839119dB
DONE!

Signature: e42489c0aa175eee70d482acfc62b1e1

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

First of all, congratulations for such a nice Audio tool!

I didn't have enough time to check Deltawave how much I wanted, anyhow please find a few comments dealing with release 1.015b.

- Lissajous with timings greater or equal to 100 ms tend to crash Deltawave

- Manual axis reset is needed for full bandwidth with sampling rates above 44.1 kHz

- Linear drift correction issues in case of phase inversion.

 

Dealing with phase drift correction, do you mind explaining the methodology used? Apparently frequency bands seem to be divided.....

 

New features candidate:

- marker on curves showing values

- Noise floor / Power density measurement for dither or others...

Rgds.

Link to comment
6 hours ago, pkane2001 said:

 

Hi Arpiben, thanks for your feedback!

 

Lissajous is experimental, and I'm not even sure it'll stay around. Do you find it useful?

 

That said, if something crashes, I'll need to see a log to know what happened. You can view the log from Help->Logging->View Log menu. Just post it here or PM me with the contents of the log file.

 

Phase reversal is fine as long as it's consistent throughout the track. This is detected automatically. If there are multiple phase reversals, the data can't be properly aligned. 

 

Axis Reset button doesn't work for rates above 44.1KHz? It should. 

 

The algorithm is using cross-correlation on equally-spaced chunks of the track to compute up to a sample differences, and then uses a frequency-space correlation analysis to determine the offset to a sub-sample precision. It then fits a line through those measured offsets to determine clock drift and DC offset. There's no division into frequency bands.

 

 

 

On almost any plot, hold down the shift key away from the point you're interested in -- this will anchor an arrow. Then drag the mouse to the point you want to show the value, while holding the shift key down. You can zoom in on the plot before doing this to get a more precise position of the arrow. You can place multiple arrows in the plot, if you'd like:

image.thumb.png.c2b00fb679a48d14419a80178e9325ff.png

 

To remove them, you'll need to refresh the plot with the image.png.3b214608a3716178103507a59c9961e7.png button. There's not yet a way to remove an individual marker.

 

 

Good suggestions!

 

 

Thanks for the details.

Lissajous: for some cases like frequency drift when dealing with tones/chirps -> allow a quick view. 

Axis Reset Button: working fine. My point was that by default the frequency excursion in the charts  is not always full range but rather 22 kHz. Pressing axis reset normalises it .

Frequency drifts: comparing tones at fo with chirps [fo, fo + 10-4 ppm ] leads to errors in the matching process. Hereafter curves and debug for fo=11025 kHz .

Tones and Chirp generated with Audacity 176.400 kSps/32bits/30s 

 

N.B.: Folder Delta Phase has its curve labelled Phase:

 

image.thumb.png.0f3de684542888dc5e4098c1661befac.png

 

image.thumb.png.14f9f6057df00cf4f894ac7d7a3ddb2f.png

 

image.thumb.png.dfcb6b3bc83441de3931413cc89a2522.png

 

image.thumb.png.7160cb9fa254911391c649d6f37de944.png

 

 

2019-03-16 23:12:16.3373|DEBUG|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:True
    EQ FFT Size:65536, EQ Frequency Cut: 0Hz, EQ Threshold: -160dB
    Correct Drift:True, Precision:30
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False

2019-03-16 23:12:16.4296|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-16 23:12:16.4306|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-16 23:12:16.5599|INFO|Wave.WaveForm|
Initial peak values File 1: -6,021dB   File 2: -6,021dB
2019-03-16 23:12:16.5599|INFO|Wave.WaveForm|Initial RMS values File 1: -9,031dB   File 2: -9,031dB

2019-03-16 23:12:16.5599|INFO|Wave.WaveForm|Null Depth=118,145dB
2019-03-16 23:12:16.5599|DEBUG|Wave.WaveForm|Progress Updating Charts, , 23,0769230769231%
2019-03-16 23:12:16.7332|INFO|Wave.WaveForm|Trim: skipping 1 samples at start, and 1 samples at end that are below 3,72529029846191E-09 level
2019-03-16 23:12:16.7703|INFO|Wave.WaveForm|Trim: skipping 1 samples at start, and 1 samples at end that are below 3,72529029846191E-09 level
2019-03-16 23:12:16.8083|DEBUG|Wave.WaveForm|Progress Cross-correlation, , 11,5384615384615%
2019-03-16 23:12:18.2818|INFO|Wave.WaveForm|X-Correlation offset: 0 samples
2019-03-16 23:12:18.2818|DEBUG|Wave.WaveForm|Progress Cross-correlation offset: 0 samples, , 15,3846153846154%
2019-03-16 23:12:18.3740|DEBUG|Wave.WaveForm|if (drift)
2019-03-16 23:12:18.3740|DEBUG|Wave.WaveForm|Computing drift, up to 10 iterations, threshold=7,55859041359095E-08
2019-03-16 23:12:18.3740|DEBUG|Wave.WaveForm|Progress Update Xcorr Charts, , 30,7692307692308%
2019-03-16 23:12:19.1275|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=79870: xcorr=0, offs=0,00048828125
2019-03-16 23:12:19.1561|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=119805: xcorr=0, offs=-0,0009765625
2019-03-16 23:12:19.1887|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=0: xcorr=0, offs=-0,011962890625
2019-03-16 23:12:19.9041|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=399350: xcorr=0, offs=0,005859375
2019-03-16 23:12:19.9041|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=758765: xcorr=0, offs=-0,0104166666666667
2019-03-16 23:12:19.9041|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=359415: xcorr=0, offs=-0,00537109375
2019-03-16 23:12:20.5749|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=678895: xcorr=0, offs=-0,01953125
2019-03-16 23:12:20.5749|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=718830: xcorr=0, offs=-0,013671875
2019-03-16 23:12:20.5749|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 887
   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 2223
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1617
2019-03-16 23:12:20.5899|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-16 23:12:20.5899|DEBUG|Wave.WaveForm|Progress Stopped!, , 100%
2019-03-16 23:12:20.5899|INFO|Wave.WaveForm|Signature: 67be077f79437bef4a4d4d9715f7c726

Link to comment
44 minutes ago, Arpiben said:

 

Thanks for the details.

Lissajous: for some cases like frequency drift when dealing with tones/chirps -> allow a quick view. 

Axis Reset Button: working fine. My point was that by default the frequency excursion in the charts  is not always full range but rather 22 kHz. Pressing axis reset normalises it .

Frequency drifts: comparing tones at fo with chirps [fo, fo + 10-4 ppm ] leads to errors in the matching process. Hereafter curves and debug for fo=11025 kHz .

Tones and Chirp generated with Audacity 176.400 kSps/32bits/30s 

 

N.B.: Folder Delta Phase has its curve labelled Phase:

 

image.thumb.png.0f3de684542888dc5e4098c1661befac.png

 

image.thumb.png.14f9f6057df00cf4f894ac7d7a3ddb2f.png

 

image.thumb.png.dfcb6b3bc83441de3931413cc89a2522.png

 

image.thumb.png.7160cb9fa254911391c649d6f37de944.png

 

 

2019-03-16 23:12:16.3373|DEBUG|Wave.WaveForm|Settings: 
    Gain:True, Remove DC:True
    EQ FFT Size:65536, EQ Frequency Cut: 0Hz, EQ Threshold: -160dB
    Correct Drift:True, Precision:30
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False

2019-03-16 23:12:16.4296|INFO|Wave.WaveForm|Discarding: Start=0s, End=0s
2019-03-16 23:12:16.4306|INFO|Wave.WaveForm|Discarding: End  =0s, End=0s
2019-03-16 23:12:16.5599|INFO|Wave.WaveForm|
Initial peak values File 1: -6,021dB   File 2: -6,021dB
2019-03-16 23:12:16.5599|INFO|Wave.WaveForm|Initial RMS values File 1: -9,031dB   File 2: -9,031dB

2019-03-16 23:12:16.5599|INFO|Wave.WaveForm|Null Depth=118,145dB
2019-03-16 23:12:16.5599|DEBUG|Wave.WaveForm|Progress Updating Charts, , 23,0769230769231%
2019-03-16 23:12:16.7332|INFO|Wave.WaveForm|Trim: skipping 1 samples at start, and 1 samples at end that are below 3,72529029846191E-09 level
2019-03-16 23:12:16.7703|INFO|Wave.WaveForm|Trim: skipping 1 samples at start, and 1 samples at end that are below 3,72529029846191E-09 level
2019-03-16 23:12:16.8083|DEBUG|Wave.WaveForm|Progress Cross-correlation, , 11,5384615384615%
2019-03-16 23:12:18.2818|INFO|Wave.WaveForm|X-Correlation offset: 0 samples
2019-03-16 23:12:18.2818|DEBUG|Wave.WaveForm|Progress Cross-correlation offset: 0 samples, , 15,3846153846154%
2019-03-16 23:12:18.3740|DEBUG|Wave.WaveForm|if (drift)
2019-03-16 23:12:18.3740|DEBUG|Wave.WaveForm|Computing drift, up to 10 iterations, threshold=7,55859041359095E-08
2019-03-16 23:12:18.3740|DEBUG|Wave.WaveForm|Progress Update Xcorr Charts, , 30,7692307692308%
2019-03-16 23:12:19.1275|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=79870: xcorr=0, offs=0,00048828125
2019-03-16 23:12:19.1561|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=119805: xcorr=0, offs=-0,0009765625
2019-03-16 23:12:19.1887|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=0: xcorr=0, offs=-0,011962890625
2019-03-16 23:12:19.9041|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=399350: xcorr=0, offs=0,005859375
2019-03-16 23:12:19.9041|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=758765: xcorr=0, offs=-0,0104166666666667
2019-03-16 23:12:19.9041|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=359415: xcorr=0, offs=-0,00537109375
2019-03-16 23:12:20.5749|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=678895: xcorr=0, offs=-0,01953125
2019-03-16 23:12:20.5749|TRACE|Wave.WaveForm|ComputeDriftSpline: pos=718830: xcorr=0, offs=-0,013671875
2019-03-16 23:12:20.5749|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 887
   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 2223
   at Wave.WaveForm.ProcessAll(Double[] L, Double[] L1, Int32 freq, Int32 freq1, Int32 freq2, Int32 bits1, Int32 bits2, Boolean bMatch) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 1617
2019-03-16 23:12:20.5899|INFO|Wave.WaveForm|Stopped! One or more errors occurred.
2019-03-16 23:12:20.5899|DEBUG|Wave.WaveForm|Progress Stopped!, , 100%
2019-03-16 23:12:20.5899|INFO|Wave.WaveForm|Signature: 67be077f79437bef4a4d4d9715f7c726

 

Thanks for the log -- I'll review ASAP.

 

Axis reset to 22KHz is a leftover from the days when the plots were painfully slow to render. I had to rewrite large parts of the plot library to speed this up. Back then, I tried to limit the initial display to just the audible range. I'll fix this, but for now, it's easy enough to zoom out to the full range.

 

As far as chirps are concerned, that's a known problem. Something I've been discussing with @esldude recently. The issue is that a sine chirp consists of a repeated waveform. While the amplitude is changing, the frequency remains the same. For a phase-driven alignment algorithm there is nothing to distinguish between one period of a sine wave and another. All of them produce the same perfect match, and this is where things fall apart. There are too many possible solutions. I do intend to come up with a solution to this, but for now, 'naturally occurring' waveforms will produce a much better result than anything generated :)

 

 

Link to comment
1 hour ago, fas42 said:

As promised, some shots of the distortion in 8th copy version of the Bob Marley track, in the key HF area,

5k-20kHz; note the scale on the left:

 

Marley04.thumb.PNG.53f7723b48a6941cc296da1d3ae69060.PNG

 

 

Marley05.thumb.PNG.8164271ae137d76b2c99155db6862a46.PNG

 

 

Marley06.thumb.PNG.63f2abf1cf6f156e44e408a2cf964cb0.PNG

 

 

 

Hi Frank,

 

So you resampled the waveform and then aligned them? Besides the scale on the left, look at the scale on the bottom. It looks like each tick is about 6μs. So when you see waveforms separated by 5 ticks, like it appears here, that's a 30μs phase error, as in the last plot you posted.

Link to comment

Not worried about the time alignment here - the shifted waveform makes it easier to see that the processed waveform has departed from what it should be; emphasising the distortion that has occurred. 

 

Precise time matching is helpful in visually noting inaccuracies; a converter loop using MSB items was visually perfect in its action. 

Link to comment

To emphasise the above point, redid with the MSB units sample,

 

GS03.thumb.PNG.f2f784fe7ea72ef484d058a88304c777.PNG

 

 

GS04.thumb.PNG.665f637997ed7f7c8cf754718c74f878.PNG

 

Performing raw processing only -- all matching turned off
DeltaWave v1.0.15, 2019-03-17T13:05:24.9121430+11:00
File 1:  GS-Original2,5k+.wav:[L] 10050544 samples 352800Hz 16bits, MD5=00
File 2: MSB Platinum IV Plus DAC - MSB Studio ADC orig.wav:[L] 10137752 samples 352800Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True
EQ FFT Size:0, EQ Frequency Cut: 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 at the beginning: File1=0, File2=0 samples
Initial values Waveform 1: -18.268dB   Waveform 2: -18.244dB
Null Depth=37.353dB
Gain matching disabled.
Phase offset=0ms (0 samples)
Difference (rms) = -79.66dB [-86.28dBA]
Correlated Null Depth=48.24dB [48.86dBA]
Clock drift: 0 ppm


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


RMS of the difference of spectra: -148.269060087087dB
DONE!

Signature: 377e5986179b3ab2cb1e8f6f182b8393

Link to comment
34 minutes ago, fas42 said:

Another interesting screen grab, of the Bob Marley samples, showing frequencies >5kHz - the level of distortion is quite marked, of levels of the order of say 20dB down, from peaks,

 

Marley07.thumb.PNG.727b7f610d09a12f3dc02fdca5d40d50.PNG

 

So these are pretty obvious differences on zoom-in, but are they significant?

  • Check the delta waveform to see the real value of the difference
  • Check the delta spectrum plot to see what frequencies and at what level the delta waveform consists of
  • Play the delta waveform over headphones or speakers. First make sure the volume is at a normal listening level for Reference and Comparison tracks, then play the Delta track at that same level. Can you hear the difference?  If not, it's probably inaudible
  • Try raising the DW volume setting while playing the delta. How far do you have to raise it for it to become audible, and what frequencies do you hear? 

These are all tools meant to help quantify and qualify the differences and to determine their audibility.

 

Link to comment
37 minutes ago, fas42 said:

Another interesting screen grab, of the Bob Marley samples, showing frequencies >5kHz - the level of distortion is quite marked, of levels of the order of say 20dB down, from peaks,

 

Marley07.thumb.PNG.727b7f610d09a12f3dc02fdca5d40d50.PNG

Are you using dither when you upsample these?  Anytime you resample you need dither. Have you tried maybe shaped instead of triangular in Audacity? Triangular will put some of the noise in the audible band while shaped I think will put all or nearly all of it above the audible band which would mean less influence on the top two octaves of the 44.1 khz sourced recording.  

 

I don't know the details of sourcing the MSB files.  I know they were from gearslutz.  It could be the MSB DAC being better (which it should be) or it could be the ADC, my ADC is not state of the art.  Also you are using a loopback measure, vs the 8th time thru with the Marley file.  Even the MSB would show some larger differences. 

 

I also don't know if someone loopbacked on the same gear or shared clocks.  You'll take out a source of error in timing, timing drift and phase issues if you lock clocks.  Maybe that is a good experiment to try.  Locking clocks vs unlocked clocks.   

 

But I like the idea of comparing how well DACs perform vs each other.  And seeing if Deltawave is useful for determining why or how better DACs are better.   That is what we'd all like to know.  This lets us compare with music. 

 

I could upload the first generation copies I have if you'd like.  

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
14 minutes ago, pkane2001 said:

 

So these are pretty obvious differences on zoom-in, but are they significant?

  • Check the delta waveform to see the real value of the difference
  • Check the delta spectrum plot to see what frequencies and at what level the delta waveform consists of
  • Play the delta waveform over headphones or speakers. First make sure the volume is at a normal listening level for Reference and Comparison tracks, then play the Delta track at that same level. Can you hear the difference?  If not, it's probably inaudible
  • Try raising the DW volume setting while playing the delta. How far do you have to raise it for it to become audible, and what frequencies do you hear? 

These are all tools meant to help quantify the differences and to determine audibility.

 

 

In my mind, extremely significant - the objectivists say the gear typically used is transparent, because the distortion artifacts, measured conventionally, are so low ... DW is saying that otherwise, that the real distortion is transient, and at high levels compared to the correct signal. Get an LP record, perfectly clean, and sprinkle some dust particles over it, and capture the waveform - every now and again there is a little glitch; is this, 'inaudible'?

 

The ear doesn't listen to spectrums, it listens to waveforms - and registers the 'glitch', as a difference.

 

The delta waveform has no meaning, as 'music' in itself; the brain will discard it as being of no substance - but added to a "clean" signal it becomes a disturbing difference from the "correct" - exactly what we are trying to find, here. An interesting exercise would be to amplify the delta multi-fold, and add to clean - when is it easily audible?

Link to comment
3 minutes ago, fas42 said:

 

In my mind, extremely significant - the objectivists say the gear typically used is transparent, because the distortion artifacts, measured conventionally, are so low ... DW is saying that otherwise, that the real distortion is transient, and at high levels compared to the correct signal. Get an LP record, perfectly clean, and sprinkle some dust particles over it, and capture the waveform - every now and again there is a little glitch; is this, 'inaudible'?

 

The ear doesn't listen to spectrums, it listens to waveforms - and registers the 'glitch', as a difference.

 

The delta waveform has no meaning, as 'music' in itself; the brain will discard it as being of no substance - but added to a "clean" signal it becomes a disturbing difference from the "correct" - exactly what we are trying to find, here. An interesting exercise would be to amplify the delta multi-fold, and add to clean - when is it easily audible?

Good idea to add amped delta and see when it is heard. 

 

I also could supply all 8 generations of copies if you'd like to see if you think it becomes audible between 1 and 8.  My internet upload speeds are pathetic.  But I could manage one.  Would you prefer Marley to the others?

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
1 minute ago, fas42 said:

The delta waveform has no meaning, as 'music' in itself; the brain will discard it as being of no substance - but added to a "clean" signal it becomes a disturbing difference from the "correct" - exactly what we are trying to find, here.

 

Well, that's debatable as to what the brain will ignore, or not ignore, as you may recall from many past discussions :) The good thing is you don't have to speculate. Just listen.

 

Quote

An interesting exercise would be to amplify the delta multi-fold, and add to clean - when is it easily audible?

 

Yes, that is easy to do and had already been in the plans for a future update!

 

Link to comment
4 minutes ago, esldude said:

Are you using dither when you upsample these?  Anytime you resample you need dither. Have you tried maybe shaped instead of triangular in Audacity? Triangular will put some of the noise in the audible band while shaped I think will put all or nearly all of it above the audible band which would mean less influence on the top two octaves of the 44.1 khz sourced recording.  

 

I don't know the details of sourcing the MSB files.  I know they were from gearslutz.  It could be the MSB DAC being better (which it should be) or it could be the ADC, my ADC is not state of the art.  Also you are using a loopback measure, vs the 8th time thru with the Marley file.  Even the MSB would show some larger differences.  

 

But I like the idea of comparing how well DACs perform vs each other.  And seeing if Deltawave is useful for determining why or how better DACs are better.   That is what we'd all like to know.  This lets us compare with music. 

 

I could upload the first generation copies I have if you'd like.  

 

No dither, ever. I always work at 32 bit floating, and only when exporting to a WAV file do I select the required format. I have done experiments in Audacity a number of times of upsampling and downsampling to an extreme degree, and then diff'ing after going through a number of cycles - the accuracy is excellent, way below -90dB levels, say.

 

If you upload the first generation, that would be excellent, thanks!

Link to comment
12 minutes ago, esldude said:

Good idea to add amped delta and see when it is heard. 

 

I also could supply all 8 generations of copies if you'd like to see if you think it becomes audible between 1 and 8.  My internet upload speeds are pathetic.  But I could manage one.  Would you prefer Marley to the others?

 

Yep, the Marley one is the one to do - especially because so many didn't pick it in the listening.

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