• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Beta-test: DeltaWave Null Comparison software

Did you mean how to create a table of the results?
No, not a table...
I'ld like to know how a cable must be build to behave like this.
Standard transmission line model might need some frequency dependency of some components - just a guess...
 
No, not a table...
I'ld like to know how a cable must be build to behave like this.
Standard transmission line model might need some frequency dependency of some components - just a guess...

Capacitance, inductance and resistance act as a filter. In my testing 1m balanced interconnects, it appeared that the one with the lowest capacitance produced the best null, although they all had an effect well below -100dB on the signal.
 
Question: is it possible to modify the range showing the level span in a Delta Spectrogram?
Why am I asking for that?
Did two loopback recordings:
  • RTX6001 direct out-to-in
  • RTX6001 SAM-1B (Funk) inserted
Delta Spectrum tab doesn't show much.
Exported Delta Wave gives more inside e.g. with Sonic Visualiser
SAM-1B_Audition_DeltaWave_20190914_DeltaSpec_DeltaWave&SonicVisualiser.jpg
 
Question: is it possible to modify the range showing the level span in a Delta Spectrogram?
Why am I asking for that?
Did two loopback recordings:
  • RTX6001 direct out-to-in
  • RTX6001 SAM-1B (Funk) inserted
Delta Spectrum tab doesn't show much.
Exported Delta Wave gives more inside e.g. with Sonic Visualiser
View attachment 33385

Delta Spectrogram actually displays the difference of the two spectrograms, and not the spectrogram of the delta waveform. It's the same difference as between Δ of Spectra and Spectrum of Δ tabs. I had it the other way around before, so I guess I could add it again :)
 
Last edited:
Thank you.
My question aims at being able to adjust the width of the color scale (instead of from 5 to -2 dB e.g. from 2 to 1 dB).
This could make small differences visible - right?
It's the same difference as between Δ of Spectra and Spectrum of Δ tabs. I had it the other way around before, so I guess I could add it again
Would like to see that - if only to just proofcheck my assumption :cool:.
Is a version still available which does it the other way around? which one, in case it is?
 
Thank you.
My question aims at being able to adjust the width of the color scale (instead of from 5 to -2 dB e.g. from 2 to 1 dB).
This could make small differences visible - right?
Would like to see that - if only to just proofcheck my assumption :cool:.
Is a version still available which does it the other way around? which one, in case it is?

Let me think about the best way to implement that. That old version with spectrogram of delta is not recent, probably closer to the beginning of the year. For now, you can always load the delta waveform after exporting it, just specify it as a reference or comparison file, then click Show. The spectrogram will be under the corresponding Spectrogram tab, 1 or 2.
 
Please try version 1.0.39b. This has some bug fixes and new features:

Changes in 1.0.39b
  1. Support for processing, playing, and comparing/exporting stereo files
  2. Added new selector for filters to filter Ref, Comp, Ref+Comp
  3. Added amplitude range selector for Spectrogram plots (@modmix )
  4. Improved FIR filters (LP, HP, and Notch) with better out-of-band rejection
  5. Improved aliasing behavior resampling operation to reduce artifacts
  6. Cleaned up some control UI sizing and painting issues
  7. Proper application of all the new FFT Windows introduced in 1.0.38

More details

1. Two channel stereo files can now be loaded, matched, played, exported, and compared using ABX comparator. Because of the double size of files in memory compared to mono, shorter files or a large amount of free memory is highly recommended!



2. You can now select to filter reference and/or comparison files independently using Filter 1, 2, and the Notch filter:

You can now click the red X to the right to reset all filter settings to off and to zero out all trim settings in one click. Select one of the R+C filter options to filter both, Reference and Comparison files (that was the automatic behavior in previous versions).

3. Spectrogram amplitude range (dB) can now be adjusted to better highlight a portion of the range, mapping the selected range to the full spectrum of colors:

Above, the delta spectrogram is zoomed on the region between -5 and +5 dB, as an example.

4. FIR filters, in combination with the new, better FFT Windows can now produce better out of band rejection results:


This is a combination of high pass, low pass and a notch filter just on the Reference file.

4. Much cleaner resampler behavior with regards to aliasing. Both, upsampling and downsampling produces a cleaner result:


This is an example of a chirp generated at 96kHz sampling rate, and downsampled to 44.1kHz. Previous versions of DW were using Windows resampler and produced something like this:

 
I had asked for the ability to set the bottom of the spectrogram range. So that is a welcome improvement. The auto update on that is nice too. Don't see any bugs so far. Reducing the aliasing on resampling is a good improvement.

Thanks.
 
Spectrogram range setting is great! Thanks.

May be it's just my pc: there is some error code displayed from time to time instead of an updated spectrogram (8GB Ram W7x64, FFT 16384, +5/-5)
 
Spectrogram range setting is great! Thanks.

May be it's just my pc: there is some error code displayed from time to time instead of an updated spectrogram (8GB Ram W7x64, FFT 16384, +5/-5)


If you are using 16384 size FFT for spectrogram, you are likely to run out of memory. The number of points is FFT size times the step size, times the number of spectrogram plots you have visible times the size of a double floating point number (8 bytes). It’s easy to use up gigabytes of memory this way without realizing it.
 
Somewhere between the last version I tried and 39, you have lost the ability to adjust the playback volume of the delta track in real time. The volume adjustment works if you stop playback, adjust and restart.

Stereo – nice :)

Are DSD files supposed to be working in stereo yet?
 
If you are using 16384 size FFT for spectrogram, you are likely to run out of memory. ... It’s easy to use up gigabytes of memory this way without realizing it.
On the 8GB win7x64 system 2.8GB are used before starting DW. OxyPlot exception occurs when DW uses about 2GB => total mem used 4.66GB (relates to 2.5GB free).
Any chance to allow DW using more mem?
 
Last edited:
On the 8GB win7x64 system 2.8GB are used before starting DW. OxyPlot exception occurs when DW uses about 2GB => total mem used 4.66GB (relates to 2.5GB free).
Any chance to allow DW using more mem?

Not sure why it would cause an exception if more memory is available. Just tried a 16384 FFT size + 4096 steps spectrograms, and memory utilization by DW rose to about 5GB, with no exceptions. But I'm using it on Windows 8:

Capture.PNG
 
Last edited:
Somewhere between the last version I tried and 39, you have lost the ability to adjust the playback volume of the delta track in real time. The volume adjustment works if you stop playback, adjust and restart.

Stereo – nice :)

Are DSD files supposed to be working in stereo yet?

I'll check on the volume control. DSD files are still mono, didn't get to it, yet :)
 
Not sure why it would cause an exception ... But I'm using it on Windows 8:
Looks like my win7 is a bit crappy :facepalm: - time to finalize the move to win10.
On win10 even 65536 FTT & 496 steps work just fine.
Again: thank you for your work!
Ulli
 
A quick follow-up release , v1.0.40 fixes a few regression items introduced in v39:
  • Re-enabled dynamic volume adjustment while playing music from the main window (@Pluto )
  • Fixed the wrong color used in Spectrogram when all values are the same (e.g., 0dB)
  • Fixed “Stopped! Matrix dimensions must agree: op1 is …, op2 is …” error
Thank you for testing!
 
  • Like
Reactions: SIY
Updated version 1.0.42 is now available for download.

Changes in 1.0.42b
  • Fixed Non-linear EQ not working
  • Fixed artifacts displayed at the very end of a spectrogram
  • Added color palette selection for spectrograms with many palettes to choose from
  • Added the ability to overlay spectrum plots from previous runs, including those loaded from disk
Examples

Spectrum overlay with previous results:
1569383635046.png


Palette selection for Spectrogram:

1569383904931.png
 
Been following developments on this thread for a while now. Very nice work, @pkane.
I'm curious if you've had any time or even thoughts about Linux or Mac versions?

On a related note, I've been (v. slowly!) working a convolution engine for Linux and am doing some testing involving looking at deltas between input/output. I am using an FIR filter of 8 ktaps, all zeros except for a single unity value: just a unity pulse embedded in a filter of significant length to exercise the convolution engine internals.

If I do not attenuate the input file, I get a perfect null. As I increase the attenuation of the input, I find that I get a rms delta that increases as a function of attenuation, just doing: delta = input - (output/gain). Both input and output files are 16-bit, read and analyzed as 64-bit floats using Python tools. Internally, the engine works in 32-bit floating point.

Any thoughts on this, or alternative testing methods I could look at?
 
Been following developments on this thread for a while now. Very nice work, @pkane.
I'm curious if you've had any time or even thoughts about Linux or Mac versions?

On a related note, I've been (v. slowly!) working a convolution engine for Linux and am doing some testing involving looking at deltas between input/output. I am using an FIR filter of 8 ktaps, all zeros except for a single unity value: just a unity pulse embedded in a filter of significant length to exercise the convolution engine internals.

If I do not attenuate the input file, I get a perfect null. As I increase the attenuation of the input, I find that I get a rms delta that increases as a function of attenuation, just doing: delta = input - (output/gain). Both input and output files are 16-bit, read and analyzed as 64-bit floats using Python tools. Internally, the engine works in 32-bit floating point.

Any thoughts on this, or alternative testing methods I could look at?

I'm using it on a Mac now :) But it's running on a Windows VM. At some point I'll look at Wine or similar wrapper to make it work on different OSes.

It sounds like something isn't right with the convolver or the FIR filter if different levels produce a different result.

Where is the unity value placed in the filter, and is the filter odd or even size (it should be symmetric)? Looking at the result on the plot would tell you much more about what might be going on, as there may be issues at the start/end of the input, or with individual hops. Spectrum plot would also be useful. Are you using OLAP? FFT Windowing?
 
I'm using it on a Mac now :) But it's running on a Windows VM. At some point I'll look at Wine or similar wrapper to make it work on different OSes.

Good to know. Thanks.
It sounds like something isn't right with the convolver or the FIR filter if different levels produce a different result.

Where is the unity value placed in the filter, and is the filter odd or even size (it should be symmetric)? Looking at the result on the plot would tell you much more about what might be going on, as there may be issues at the start/end of the input, or with individual hops. Spectrum plot would also be useful. Are you using OLAP? FFT Windowing?

I was hoping you would say, "Oh that's easy! You must be doing <something dumb>, just try <simple solution here>..."

The filter is odd length (8191), all zeros except for a 1.0 at (length - 1)/2. Not much to look at :)
I'm not windowing the filter IR (so, assumed rectangular?).
The engine uses a Uniform Partition Overlap-Save algorithm.
I can post various plots in a Jupyter notebook.
Will PM you with a link later today, rather than spam up your thread.
Thanks.
 
Back
Top Bottom