Jump to content
IGNORED

DeltaWave null-testing audio comparator (beta)


Recommended Posts

6 minutes ago, fas42 said:

Have checked about switching off the non-linear options, in the previous release. The one that gave me "more" was the drift compensation not on - got to a bit over 16 secs before conking out! Almost, but no cigar, :). The setting of the level switch here made no difference.

 

Will get the latest version of DW, and check again.

 

Frank, what is the RMS and correlated null depths, even with 16 seconds of data?

 

Definitely try version .14, as I made it less aggressive at throwing data away if it doesn’t match well.

Link to comment
27 minutes ago, fas42 said:

Just ran it with both non-linear calibrations on, and did the 18s, and it gave,

 


DeltaWave v1.0.14, 2019-03-12T09:01:03.3568298+11:00
File 1:  Bob Marley B,18s.wav 793828 samples 44100Hz 16bits, MD5=00
File 2: Bob Marley A,18s.wav 793920 samples 44100Hz 16bits, MD5=00
Settings:
    Gain:True, Remove DC:True, Non-linear Gain:True Non-linear Order:1
    Correct Drift:True, Precision:18, Non-Linear drift Correction:True
    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: -10.782dB   Waveform 2: -10.623dB
Null Depth=10.817dB
X-Correlation offset: -688 samples
Doing extra 5 iterations for better convergence
Gain= -2.1507dB (0.7807x) Phase offset=-31.201814ms (-1376 samples)
Difference (rms) = -38.2dB [-38.7dBA]
Correlated Null Depth=12.29dB [12.23dBA]
Clock drift: 2.67 ppm


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


Phase difference (full bandwidth): 93.1845931442362°
                 0-10,000Hz: 76.4296479160094°
                 0-20,000Hz: 92.276164222401°
                 0-24,000Hz: 93.1845931442362°
                 0-44,100Hz: 93.1845931442362°
                 0-48,000Hz: 93.1845931442362°
RMS of the difference of spectra: -125.991787551349dB
DONE!

Signature: 3d792b97cdcd9a14afc6a35818afbcae

 

Correlated null and phase differences are still poor, so something is still not right. As you can see in the result I posted before, I get a very good result with or without HP filtering the two tracks in Audacity.

 

spacer.png

 

 

Can you please describe the steps for HP filtering to generate the tracks in Audacity, so I can try to reproduce? Or alternatively, please upload the two tracks already processed so I can take a look.

 

Link to comment
1 hour ago, fas42 said:

Paul, in the Equalization Effect I use maximum length of filter, 8191, and in Draw mode set the pass to 0dB and cut to 120dB, at 5kHz - because visual, won't be that precise frequency, but close enough. I have found over some years that this does the job nicely of splitting the waveform into bands.

 

To get an idea of the  clock drift, using a sample rate around 225kHz, I was getting, in a particular instance, numbers of 6 samples out at start, 7 out in the middle, 6 1/2 at the end - this is what the software is trying to digest.

 

Don't know, Frank... Still can't reproduce what you're seeing.  Are you by any chance comparing a 5K HP filtered file to an 8th generation unfiltered one? That's the only way I can see you getting such poor results.

 

Here I used the Equalization effect to HP filter at 5K (both files!) and still get very good result. Good nulls, phase delta is low up to about 24KHz, etc.:

image.thumb.png.6902b2c09f1eb167f2744373b12504c2.png

 

Here's the equalization curve I used in Audacity:

image.png.000ea124c6c9e601d3ca56d24dc7f430.png

 

Link to comment
8 minutes ago, fas42 said:

Second test, with non-linear drift correction OFF - overall matching appears better, but still well short what should be possible:

 

Marley03.thumb.PNG.96cbd84d06c64361151a57e5e213934e.PNG

 

I think turning off nonlinear drift correction will help. I'll likely remove that option in an upcoming release, as it causes more harm than good :)

 

But, you may have something, there, Frank. I see a larger phase error for the first 1-2 seconds, and then it goes down to  less than 1/10th of that error for the rest of the track. Maybe that's actually in the original track, but could be something DW is doing wrong. I'll check into it.

Link to comment
28 minutes ago, esldude said:

I have seen non-linear drift help some on some tracks.  Though usually not, and only a small amount when it does.  Maybe the entire non-linear box could have a header that says, Strongly Not Recommended. 

 

It seems the non-linear level can very slightly help most files you just have to find which order to choose.  I don't think any order beyond 4 has helped anything I've tried yet.  OTOH, I can understand doing away with something that rarely helps at all, only helps a small amount when it does, and much more often causes trouble.  

 

I'm thinking that:

  • Non-linear gain correction should be replaced with the new EQ feature (your suggestion) that will automatically match the two spectra based on their averages. Still need more time to play with it, but I'll post a new version so others can play with it, too :)
     
  • The non-linear clock drift correction should probably go away as being too dangerous. It's almost impossible to tell if it's correcting for a real clock error or locking onto some noise in the signal. And because it's non-linear, it can cause serious damage to timing even though the overall null values may seem to improve

 

Link to comment
6 hours ago, fas42 said:

 

All's fine, thanks Paul 😃

 

Good to hear, Frank! 

 

I did look into your report and indeed there was a problem with phase alignment in the first few seconds of a track -- it was still aligned to sub-sample accuracy, but about 10x worse than the rest of the track. This is now fixed and I'll publish a new version later today or tomorrow. 

Link to comment
2 hours ago, Jud said:

OK, before we go further: Tried to play the files through the desktop system and getting no sound. (?)

 

What was selected in the DW driver selector drop-down? Did the progress indicated start updating at the bottom? Did the play buttons turn into pause buttons?

 

Oh, and by the way, did you click on Match button before trying to play? The files are not loaded or processed until you click on Match. Show button will also load the files and display some raw plots, but will not try to match them. You can play (or save) the tracks after you Match them, or just Show them, but not before.

Link to comment
2 hours ago, Jud said:

Can the comparison be saved to a file or piped to a UPnP/DLNA server, and if so, does anyone have a suggestion for one?  Would like to listen to @esldude's files on my main system if I can, which takes its signal from my Windows desktop in the office through a microRendu in the living/listening room.  If not I'll listen on my desktop system and/or headphones.

 

I see the Save Compare Wave and Save Delta Wave options, but am not certain what they do, and am wary they might display the file differences I'm supposed to be listening for blinded.

 

Save options let you write the corresponding tracks to a 32-bit WAV file at the same sample rate as the track. If you save the Compare track, you'll save the processed file adjusted to match the Reference track in level and phase. If you save the delta track, you are saving the difference between Compare and Reference tracks -- this is what the difference sounds like. Again, saved as 32-bit WAV file, but if the match is good, the level will be significantly lower than the other two tracks. You can play these files in any player software that supports WAV files and 32-bit/sample rate of the original.

 

Link to comment

Version 1.0.15b is out!

Changes in this version:

  • Fixed a problem that caused a larger phase difference in the first few seconds of a track compared to the rest of the track @fas42
  • Removed non-linear polynomial gain correction option
  • Removed non-linear drift correction option
  • Added non-linear EQ/frequency matching correction (use with caution, only if there are gross differences in spectra of the two tracks!) @esldude
       1552450438817.png

 

Here's what EQ does on a track. Before EQ:
1552450711023.png


After EQ:
1552450645357.png
 

 

Link to comment
47 minutes ago, Jud said:

I believe that playing Ref & Comp will play the left stereo channel of one piece, and the right stereo channel of the other, correct? 

 

No. You load only one channel of each track into DeltaWave, not stereo. You specify what channels you want from each file (selector L or R is right next to the file name):

image.png.e7c96f14ae50c58ca2272f90f233823e.png

 

Once you press Match, these two mono tracks (both left in the above screen shot) will be adjusted to be as close as possible in phase and level. Then, when you play Ref & Comp, Ref will be played in the left ear and Comp will be played in the right ear. 

 

47 minutes ago, Jud said:

I want to see if I hear differences between left and right, any "fusion" defects, under those conditions.

 

That's exactly what playing Ref & Comp is meant to do :)

 

Link to comment
8 hours ago, pkane2001 said:

That's exactly what playing Ref & Comp is meant to do :)

 

By the way, @Jud, there are a few other possibilities I've tried with this test to help aid in detection, and they didn't seem to help that much. One was to swap the two channels every few seconds while playing. I imagined that the center position of the sound would switch during playback and that should be fairly obvious, but it really wasn't.

 

The next test I want to run is to swap them at a much higher rate -- something like at 2-3kHz. To my mind, if there are slight differences that are at all audible this should result in a detectable 3kHz signal on top of the music. But it will be at a very low level if the match is good (delta wave magnitude is low), so I picked 3kHz as being in the most sensitive part of our hearing range. We'll see if that works any better :) I also have a few ideas on improving the ABX comparator to help aid in detection of differences. Stay tuned!

 

Link to comment
12 minutes ago, Jud said:

 

What we have here is a failure to communicate. :) We're using the same words to mean different things, I think.

 

I'd like the option to mixdown each stereo track into mono, then compare the two resulting mono tracks as the left and right channels in Play Ref & Comp.  

 

So you could select, as input for each comparison channel, the left channels of the respective tracks, the right channels, *or both channels of each track mixed down to mono*. Is this possible, or a pain to do? Or is it already available and I'm being thick?

 

I think I understand what you mean. But why would this be a useful test? What does mixing down to mono give you? You are not listening to the original tracks anymore. Instead, it would be some mathematical (i.e., processed) combination of the two channels that normally doesn't occur in nature :)

Link to comment
1 minute ago, Jud said:

 

Mixing down to mono gives you the full artist's intention for the music, just with the stereo effect removed.  I think that listening to two left or two right channels results in something the artist never intended us to hear.

 

Ever see those photographic portraits that use only half the face, one side the original and the other the mirror image?  Neither the "two left sides" nor "two right sides" image looks anything like the person's actual portrait.  That's what Delta Wave is doing now.  I'd rather look at two photographs of a person side by side and compare, which to me is what the intermediate mixdown to mono gets you.

 

I did something very similar when comparing speaker cables recently. (I intend to post about this soon.) I hooked up one manufacturer's cable to the left speaker and the other to the right speaker.  While I started out playing mono material, I quickly realized that since my preamp has a mono switch I could use more recently recorded material and just flip that switch. It mixed down the two stereo channels to mono and sent that mono signal to the amp and speakers, making simultaneous comparison of the two manufacturer's cables simple.

 

Having experienced this and thought it worked nicely, I'd be interested to see if the same sort of thing could be made quick and easy with software.

 

I don't think a recording made for stereo, mixed down to mono is the way the artist intended for us to hear it, either :)

 

Probably not a big deal to implement something like this, but let me think about it.

Link to comment
15 minutes ago, Jud said:

 

Tried unchecking all the display options, now get the following error when trying to play Ref&Comp:

 

2019-03-14 18:44:05.1812|ERROR|Wave.Program|Unhandled thread exception
   at Wave.WaveForm.GetAll(Control control, Type type) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 4388
   at Wave.WaveForm.currentWavePlot() in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 4264
   at Wave.WaveForm.playRefCompToolStripMenuItem_Click(Object sender, EventArgs e) in C:\Users\ypa\documents\visual studio 2015\Projects\Wave\Wave\WaveForm.cs:line 5403
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

Nice :( I didn’t try doing those two things at the same time!

 

@Jud, what you can do for now is unselect all and then check just Lissajous. That's not going to give anything away if you don't touch the controls. I'll update with the real fix ASAP.

Link to comment
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

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