Jump to content
IGNORED

DeltaWave null-testing audio comparator (beta)


Recommended Posts

First look at, much better processing of the 0.38 attenuated file; showing the noise floor clearly at the right level, with just a relatively small number of spikes reaching -88dB or so.

 

Not so happy with dB on the vertical scale - maybe make it a choice? - and a bigger issue, when you zoom right in the labels become meaningless - each just says -4dB, say.

 

Might mention a minor reporting 'typo' - the discarding lines in the results panel; also, perhaps consistency in naming of the files, reference versus file 1.

 

Thanks for the quick update! :)

 

Link to comment

For easy reference, here is the part in the Audacity manual relating to how it handles importing files, as regards format:

 

Generally, Audacity imports files at the sample format (bit depth) specified at Default Sample Format in Quality Preferences. This setting defaults to 32-bit float. Therefore by default an imported file will show in the Track Control Panel as 32-bit float, even if its original bit depth is lower. This is best for high-quality editing. Even if you choose a lower Default Sample Format than 32-bit float, Audacity will never downconvert a file that has a higher bit depth, as shown in the following table for WAV and AIFF imports using the standard uncompressed files importer.

Resolution of imported WAV and AIFF files using standard importer
Default Sample Format File bit depth Resolution imported at
16 16 16
16 24 32
16 32 32
24 16 24
24 24 32
24 32 32
32 (default) 16 32
32 (default) 24 32
32 (default) 32 32
Link to comment

Just to check that Paul hasn't pulled a swifty, :P, I tried another value for the attenuation, -1.111dB - and it worked as expected:

 

DeltaWave v1.0.19, 2019-03-23T09:07:39.7835046+11:00
File 1:  Bob Marley B.wav[L] 1377376 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley B,-1.111.wav[L] 1377376 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:30
    Upsample:False, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False
    Trim Silence:False

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

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

Null Depth=-5.51dB
Phase inverted
X-Correlation offset: 0 samples

Final peak values File 1: -1.549dB   File 2: -1.549dB
Final RMS values File 1: -17.313dB   File 2: -17.313dB

Gain= -1.1131dB (0.8797x) Phase offset=0ms (0 samples)
Difference (rms) = -99.54dB [-102.4dBA]
Correlated Null Depth=117.16dB [93.08dBA]
Clock drift: 0 ppm


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


Phase difference (full bandwidth): 1.61402359976064°
                 0-10,000Hz: 0.350443230023321°
                 0-20,000Hz: 1.34417833551591°
                 0-24,000Hz: 1.61402359976064°
                 0-44,100Hz: 1.61402359976064°
                 0-48,000Hz: 1.61402359976064°
RMS of the difference of spectra: -155.019873986864dB
DONE!

Signature: 6e9cc8f5fc75fce7eecce72cd80787cd

 

The differencing almost gets it perfect, as shown at the left in the following, but now and again pops up an irregularity, as on the right:

 

Marley19.thumb.PNG.0d8567005035f22909541fd444db1b0f.PNG

Link to comment

Not had time for a complete shakedown, but so far this is the best version yet.  I haven't seen any gotchas, and the colored graph showing spectrogram levels is very nice.  Thank you!

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

saluti dall'Italia, ho letto questo e sono molto interessato perché è un ottimo software. Ho usato l'audio diff maker e dal confronto Deltawave mi dà un potenziale molto alto. Ho fatto un sacco di test e penso che abbiamo raggiunto un buon punto.
Per me sarebbe necessario migliorare la rappresentazione di alcuni segnali, come quelli che vi mando, tra forma d'onda e delta spettrale. Lo noterai quando analizzi i segnali. Sono multitoni AAA e BBB, il rumore bianco a -130 dB è stato aggiunto in BBB. Non so se chiedo troppo ma, il software sarebbe fantastico se l'asse del tempo potesse essere ridimensionato in secondi ---> millisecondi ---> microsecondi ---> nanosecondi.

ecco i file https://wetransfer.com/downloads/04a20e67db339b50dcff1170ad150fd420190323174008/4c0b6f174934426f1e3bbb13a0f3e23520190323174008/cbd394

congratulazioni 

Link to comment
42 minutes ago, TomCapraro said:

saluti dall'Italia, ho letto questo e sono molto interessato perché è un ottimo software. Ho usato l'audio diff maker e dal confronto Deltawave mi dà un potenziale molto alto. Ho fatto un sacco di test e penso che abbiamo raggiunto un buon punto.
Per me sarebbe necessario migliorare la rappresentazione di alcuni segnali, come quelli che vi mando, tra forma d'onda e delta spettrale. Lo noterai quando analizzi i segnali. Sono multitoni AAA e BBB, il rumore bianco a -130 dB è stato aggiunto in BBB. Non so se chiedo troppo ma, il software sarebbe fantastico se l'asse del tempo potesse essere ridimensionato in secondi ---> millisecondi ---> microsecondi ---> nanosecondi.

ecco i file https://wetransfer.com/downloads/04a20e67db339b50dcff1170ad150fd420190323174008/4c0b6f174934426f1e3bbb13a0f3e23520190323174008/cbd394

congratulazioni 

 

Hi Tom,

 

I'm glad you like the software! I agree, time representation can be improved. I'll take a look at your files, thank you for uploading!

 

Regards,

 

   -Paul

Link to comment

Not happy!! Audacity, which has always been very reliable in this area, is showing peculiar behavior in upsampling, and downsampling -  a glitch in the lastest versions, or an intrinsic problem with the SoX library which does the work, coming to light?

 

It's showing attenuation at the top end of the frequency band, with each sampling pass - so a differencing shows a massive spike in the 20kHz area ... time to talk to the Audacity people, unless someone here can shed some light ....

Link to comment

Okay, SoX, not Audacity, is the culprit - it's how bandwidth comes into the equation of how it tackles the conversion - the workaround is to brickwall the track in Audacity at 20kHz; i.e. subtract all content between 20000 and 22050. Doing this yields a null of better than -120dB if Bob Marley B is resampled, 44.1k -> 176.4k -> 44.1k, and differenced.

 

Link to comment

 I am having sample counting discrepancy issues with beta release v1.0.19 ( not tested with previous ones ).

 

Whenever comparing two identical files with one of them having 1 sample truncated at the beginning then DeltaWave truncates or counts 7 samples less systematically from 44.1 kSps up to 768 kSps .

The above discrepancy value is valid, for example, when dealing with 30s chirps from 1Hz to Nyquist Hz amplitude 0.5

 

File 1:  pitched.wav[L] 1323000 samples 44100Hz 32bits, MD5=00
File 2: pitched_drift.wav[L] 1322992 samples 44100Hz 32bits, MD5=00  (
Instead of 1322999)

 

A probable consequence is that the matched result may sometimes be compromised; observed with high sampling rates (768/384 kSps)

Rgds.

 

 

 

Link to comment
38 minutes ago, Arpiben said:

 I am having sample counting discrepancy issues with beta release v1.0.19 ( not tested with previous ones ).

 

Whenever comparing two identical files with one of them having 1 sample truncated at the beginning then DeltaWave truncates or counts 7 samples less systematically from 44.1 kSps up to 768 kSps .

The above discrepancy value is valid, for example, when dealing with 30s chirps from 1Hz to Nyquist Hz amplitude 0.5

 

File 1:  pitched.wav[L] 1323000 samples 44100Hz 32bits, MD5=00
File 2: pitched_drift.wav[L] 1322992 samples 44100Hz 32bits, MD5=00  (
Instead of 1322999)

 

A probable consequence is that the matched result may sometimes be compromised; observed with high sampling rates (768/384 kSps)

Rgds.

 

 

The number of samples shown next to the file name is what's reported by the file reader, this is before DW does any processing. Are you saying that the file actually has 7 more samples in it, but DW reports 7 less?

Link to comment

Version 1.0.20b is now available!

 

This incorporates fixes for reported issues, including everything in v1.0.19, as follows:

  • Better nulls with Audacity-processed 16-bit files 
  • Read 24- and 32-bit integer WAV formats correctly
  • Display correct offset value in Results tab
  • Added silence trimming option (on by default)
  • Added scale display and other enhancements in the spectrogram windows, including annotation support
  • Right-click now removes the last annotation added to the chart
  • Changed the waveform Y axis to display in dB rather than 1 to -1 floating point by default
  • Added the option to switch between dB and floating point view of Y axis
  • Fixed the 100% that’s really a ‘nearly 100%’ display
  • Fixed the installer so previous versions are removed from the list of installed packages
  • Handled different number of samples in left and right channels when working on L+R mono mix-down channel
  • Added an optional, more stable drift correction method if the normal method does not converge
  • Various minor spelling/terminology fixes

As always, all comments, issues, suggestions are more than welcome!

Link to comment
14 minutes ago, mansr said:

Sounds like something is limiting the number of samples to multiples of 8.

 

That was my first assumption.

In fact it seems related to Mono/Stereo files... With a mono Audacity chirp, DW read the correct samples value when set with Right or Left+Right channel. With Left setting in DW, I got samples discrepancy. Anyhow still not fully clear why?

Link to comment
20 minutes ago, Arpiben said:

 

That was my first assumption.

In fact it seems related to Mono/Stereo files... With a mono Audacity chirp, DW read the correct samples value when set with Right or Left+Right channel. With Left setting in DW, I got samples discrepancy. Anyhow still not fully clear why?

 

I assume a bug :) I’ll see if I can reproduce and then fix.

Link to comment
38 minutes ago, pkane2001 said:

 

I assume a bug :) I’ll see if I can reproduce and then fix.

 

Most probably...😉

 

A mono 11 520 000 s vs 11 519 999 s is seen by DW v1.0.20b as:

 

Reference:  pitched.wav[L] 11520000 samples 384000Hz 32bits, MD5=00
Comparison: pitched_drift.wav[L] 11519992 samples 384000Hz 32bits, MD5=00

 

Reference:  pitched.wav[R] 11517187 samples 384000Hz 32bits, MD5=00
Comparison: pitched_drift.wav[R] 11517186 samples 384000Hz 32bits, MD5=00

 

Reference:  pitched.wav[L+R] 11517187 samples 384000Hz 32bits, MD5=00
Comparison: pitched_drift.wav[L+R] 11517186 samples 384000Hz 32bits, MD5=00

Link to comment

Unfortunately, with my AAA -> BBB files it still doesn't give accurate results.
The waveform delta is correct at -130dB, while the difference value shown in the report is -51.98dB ... why?
Then, if the delta of the waveform is -130dB, shouldn't the FFT of the spectrum of delta at 65536 points show a carpet of noise of about -175dB? instead there is a line that starts at -70dB and ends at -130dB.
If I take the delta wave and load it on the FFT of my spectrum analyzer it gives me the exact value of -175dB.

Link to comment
On 3/20/2019 at 9:28 PM, fas42 said:

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.

 

 

Good to see 20b improving things quickly! :)

 

Going back to the above, the good news is that 176k versions null perfectly, in DW - but 44.1k items don't,

 

Marley21.thumb.PNG.84b9e951980e25fa9d7fe5e7bfc34edf.PNG

 

Implying that currently that one has to work out beforehand a sampling rate that will give a whole number of samples difference, and resample separately, to feed DW 'easy' input.

image.png

image.png

Link to comment

To add to the above story, I imported the exported 44.1 version with the 17 sample at 176k offset back into Audacity, and resampled that to 176k, and exported - compared that to the 176k version of the original ... this is all less the >20k content, which resampling mucks up ...

 

DeltaWave v1.0.20, 2019-03-25T09:25:22.9896422+11:00
Reference:  Bob Marley B,176k.wav[L] 5509512 samples 176400Hz 16bits, MD5=00
Comparison: Bob Marley B,shift,44.1-176k.wav[L] 5509496 samples 176400Hz 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:30
    Upsample:True, Window:Hann
    Spectrum Window:Blackman, Spectrum Size:524288
    Spectrogram Window:Lanczos, Spectrogram Size:32768, Spectrogram Steps:1024
    Dither:False
    Trim Silence:False

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

Initial peak values Reference: -1.49dB   Comparison: -1.49dB
Initial RMS values Reference: -17.348dB   Comparison: -17.348dB

Null Depth=28.485dB
X-Correlation offset: 17 samples

Final peak values Reference: -1.49dB   Comparison: -1.49dB
Final RMS values Reference: -17.341dB   Comparison: -17.341dB

Gain= 0dB (1x) Phase offset=0.096372ms (17 samples)
Difference (rms) = -97.87dB [-104dBA]
Correlated Null Depth=163.96dB [99.23dBA]
Clock drift: 0 ppm


Files are NOT a bit-perfect match (match=82.48%) at 16 bits
Files match @ 79% when reduced to 23.94 bits


Phase difference (full bandwidth): 78.7183615225573°
                 0-10,000Hz: 0.185384542362074°
                 0-20,000Hz: 1.01298606679323°
                 0-24,000Hz: 24.074054192723°
                 0-44,100Hz: 56.8150003968651°
                 0-48,000Hz: 62.886416016588°
RMS of the difference of spectra: -146.632240401874dB
DONE!

Signature: 3229c4bac09671ba8aad75eff7599017

 

 

Note the peculiar "Files match @ 79% when reduced to 23.94 bits" detail.

 

The matching shows how software can work "perfectly" into the noise floor,

 

Marley24.thumb.PNG.d092ed8c7412588eb7532feb495bac93.PNG

 

 

 

Marley23.thumb.PNG.1b64cb1d449c991baecddd4e501603c6.PNG

 

 

 

 

 

Link to comment
4 hours ago, TomCapraro said:

Unfortunately, with my AAA -> BBB files it still doesn't give accurate results.
The waveform delta is correct at -130dB, while the difference value shown in the report is -51.98dB ... why?
Then, if the delta of the waveform is -130dB, shouldn't the FFT of the spectrum of delta at 65536 points show a carpet of noise of about -175dB? instead there is a line that starts at -70dB and ends at -130dB.
If I take the delta wave and load it on the FFT of my spectrum analyzer it gives me the exact value of -175dB.

 

For the new files you uploaded, here's what I get:

 

image.thumb.png.9fd18749e9d6795dbdb6885a92734a00.png

 

This is the actual waveform that is produced by subtracting the two files. The single number, -82dB or -95dBA represents an RMS (root-mean-square) of all the values in the delta waveform. It's an average.

 

Based on the RMS value, It looks like the values were produced from a 16-bit waveform. Is this correct?

 

Spectrum of this delta waveform (above) is this:

image.thumb.png.1c31ade6dfb46eb94af9e19b259c148f.png

 

The values here appear a lot lower than the RMS average, but that's because this spectrum is an average over the whole 20 seconds of the delta file. You can see that some values here also rise to about -96dB. That's easier to see if you view this on a Log scale:

 

image.thumb.png.74ace2fdfdad5623990c926c868e23ee.png

 

Looks like there's a 50Hz line that isn't nulling out as well as the other frequencies. Mains frequency is 50Hz, perhaps?

 

Regards,

 

    -Paul

 

Link to comment
4 hours ago, TomCapraro said:

Unfortunately, with my AAA -> BBB files it still doesn't give accurate results.
The waveform delta is correct at -130dB, while the difference value shown in the report is -51.98dB ... why?
Then, if the delta of the waveform is -130dB, shouldn't the FFT of the spectrum of delta at 65536 points show a carpet of noise of about -175dB? instead there is a line that starts at -70dB and ends at -130dB.
If I take the delta wave and load it on the FFT of my spectrum analyzer it gives me the exact value of -175dB.

 

I'm not sure where you see the values you posted. Here's what I get when comparing AAA and BBB files. All averages and spectrum values are well below -260dB.

 

Where do you see -70dB and -130dB values?

 

image.thumb.png.706b56c618f0aa3523578d83ce1d59ae.png

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