• 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

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
Sorry, I didn’t understand that you were losing samples during recording and not during the alignment process. Recording is a bit tricky since the playback/record loop will have some inherent delays that will result in variable length mismatch at the start of the recording, so this part gets removed automatically. While I can add an option to not trim, this will very likely add to the null error.

Can you start the playback a little bit later than the recording or do they have to start at the same time? This and disabling the "No-sound" -detection together would make sure that the compare-file is delayed more than the reference-file and the trimming is always happening with the compare-file.
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,667
Likes
10,299
Location
North-East
Can you start the playback a little bit later than the recording or do they have to start at the same time? This and disabling the "No-sound" -detection together would make sure that the compare-file is delayed more than the reference-file and the trimming is always happening with the compare-file.

Playback already starts after the recording, but that doesn't help with the delay between the start of playback and when the recording receives first "real" sample -- one that was generated by the playback. This delay results in a variable number of lead-in samples, anything from 0 to many thousands depending on the sampling rate and the audio chain that the signal goes through.
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
Playback already starts after the recording, but that doesn't help with the delay between the start of playback and when the recording receives first "real" sample -- one that was generated by the playback. This delay results in a variable number of lead-in samples, anything from 0 to many thousands depending on the sampling rate and the audio chain that the signal goes through.

I tested with following chain before:

- Turn off the automatic matching.
- Record the test song without matching (The one which had the silence in the beginning).
- Add two seconds of digital silence to the start of the recording manually with Audacity.
- Match the original reference file and now the two seconds longer recording manually by pressing the Match-button.

And everything was perfectly aligned, DW didn't mind the almost two second delay at all when matching. But without adding the silence DW trimmed the reference by the same 17000 samples.

If I understood the problem correctly, there should be enough margin to have tens of thousands of samples of difference between the reference and compare, if DW doesn't wait for the first "real" sample but starts recording right away and the playback for example half second later (Regardless if there is audio or not).
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,667
Likes
10,299
Location
North-East
I tested with following chain before:

- Turn off the automatic matching.
- Record the test song without matching (The one which had the silence in the beginning).
- Add two seconds of digital silence to the start of the recording manually with Audacity.
- Match the original reference file and now the two seconds longer recording manually by pressing the Match-button.

And everything was perfectly aligned, DW didn't mind the almost two second delay at all when matching. But without adding the silence DW trimmed the reference by the same 17000 samples.

If I understood the problem correctly, there should be enough margin to have tens of thousands of samples of difference between the reference and compare, if DW doesn't wait for the first "real" sample but starts recording right away and the playback for example half second later (Regardless if there is audio or not).

OK, let's give this a try. I suspect there will be cases where not ignoring silence at the start will result in a larger mismatch, but then, it's an option and can be turned on and off as desired :)

https://app.box.com/s/hlglgy3aj39rjfxu343fho4t0cdrq9v8

The setting looks like this (and is turned ON, by default to be compatible with how it worked before):
1679786711363.png


The result with my recording chain looks like this (raw recordings, no alignment done). With this setting ON, as it was previously:
1679786811891.png


And with the setting turned OFF (silence is not ignored at the start):

1679786955551.png


Let me know how it works out, I'll make this an official release 2.0.9 if it works for you.
 
Last edited:

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
OK, let's give this a try. I suspect there will be cases where not ignoring silence at the start will result in a larger mismatch, but then, it's an option and can be turned on and off as desired :)

https://app.box.com/s/hlglgy3aj39rjfxu343fho4t0cdrq9v8

The setting looks like this (and is turned ON, by default to be compatible with how it worked before):
View attachment 274758

The result with my recording chain looks like this (raw recordings, no alignment done). With this setting ON, as it was previously:
View attachment 274759

And with the setting turned OFF (silence is not ignored at the start):

View attachment 274762

Let me know how it works out, I'll make this an official release 2.0.9 if it works for you.


Thank you SO much! :)

Worked flawlessly when using ASIO with RCA->RCA -connection. I matched over 6 minute track two times, both runs were perfectly aligned with the reference and all 3 tracks were exactly the same length, by a single sample. I call it perfection!

However I still have a problem. I usually use the optical output of my sound card to feed my DAC (to prevent the ground loops when measuring amps) and it uses ASIO channel 3 and 4 for the optical output (RCAs are 1 and 2). DW doesn't support more than 2 ASIO channels, so I'll have to use the VB-Audio ASIO Bridge to convert ASIO channel 3 and 4 to WASAPI channels 1 and 2 to be able to use my setup with DW:

1679824719380.png


This adds a significant delay (About 1.5 seconds) to my chain (Reference, ASIO and my converted WASAPI below):

1679824656549.png


This seems to be too much for DW to align the tracks. Cutting a half second off from the start of the WASAPI recording with Audacity seems to help.

@pkane do you have any plans to add support for multichannel devices to DeltaWave just like you did with MultiTone?

It can be a little bit trickier however because DW uses the predetermined channels (L, R, stereo, L+L, R+R, R+L, L+R)...

A native multichannel support would make DeltaWave perfect! :cool:
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
Here's how it works now, using native ASIO and RCA->RCA -connections (No alignment done):

The highlighted area is the "17000 sample" -problem, which before caused the reference-file to be trimmed instead of the compare-file.

1679830401482.png




Instead of being about 17000 samples too early, the compare-file is now about 260 samples behind the reference. This aligns perfectly and doesn't trim the reference:

1679830746564.png
 
Last edited:

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
And here's the root cause for the whole problem, almost 17000 samples of silence and then starts the normal noise of the studio recording equipment (Amplified 50 dB, you can't of course amplify zeroes...)

1679834712922.png
 
Last edited:
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,667
Likes
10,299
Location
North-East
And here's the root cause for the whole problem, almost 17000 samples of silence and then starts the normal noise of the studio recording equipment (Amplified 50 dB, you can't of course amplify zeroes...)

View attachment 274887

There are delays in the audio chain that I don't control. Either you turn on auto-trim, use manual trim options in DW, or you take the chance that the number of samples that are untrimmed will exceed the ability of DW to match. The limitation in DW is about 1-2 FFT size in samples of error between reference and comparison files. If the error is larger than that, the match will fail. That's why I was concerned about removing the silence trim at the start of the recording as that could in some cases increase the mismatch by more than DW can handle.
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
There are delays in the audio chain that I don't control. Either you turn on auto-trim, use manual trim options in DW, or you take the chance that the number of samples that are untrimmed will exceed the ability of DW to match. The limitation in DW is about 1-2 FFT size in samples of error between reference and comparison files. If the error is larger than that, the match will fail. That's why I was concerned about removing the silence trim at the start of the recording as that could in some cases increase the mismatch by more than DW can handle.

Oh, I didn't complain about anything...

I was just showing that there is 17000 samples of silence on that track, which made DW automatic matching struggling before for me and I had to add something manually in the beginning of the track to trigger the silence skipping and prevent unwanted trimming the reference-track.

Your last change made it work 100x better and time difference dropped to only about 260 samples between the reference and comparison track, which is well within the ability of DW to match. So thank you again!

Of course you can't control the delay of my ASIO->WASAPI wrapper, but it's only way for me to use the optical output of my soundcard with DW. That's why I'm hoping that you will add the native multichannel device support for DW some day. Then the delay drops from +60000 samples to the same 260 samples region as with the analog connections...
 
Last edited:

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
That's why I was concerned about removing the silence trim at the start of the recording as that could in some cases increase the mismatch by more than DW can handle.

I'll study this part...
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
The alternative drift correction method seems to invert the phase:

1679848562322.png


and

1679848320731.png


There is sometimes 2 sample difference when aligning too, but it can be a miscalculation caused by the inversion...
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,667
Likes
10,299
Location
North-East
The alternative drift correction method seems to invert the phase:

View attachment 274931

and

View attachment 274928

There is sometimes 2 sample difference when aligning too, but it can be a miscalculation caused by the inversion...

The alternative drift correction doesn't do this, a significant mismatch or a use of a simple periodic waveform might. All the alternative drift correction does is use the start and end of the waveform to calculate the clock drift. A normal drift correction computes drift at many points and computes a model of the drift error before correcting for it.
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
513
Likes
362
After hundreds of shorter runs I tested 9 randomly selected full length tracks with the Initial Silence Skip on and Off.

When it was as Off, all the tracks were perfectly aligned with the (Original) reference and exactly as long as it.

When it was as On, only 1 track was aligned with the (Original) reference and 8 tracks were aligned with the new reference, which was trimmed from the beginning. Of course the total length of the compare was now shorter too, because of the trimming of the reference. The amount of trimming was dependent on the length of the silence on the start of the original track.

DW seems to handle about 1.4 seconds of silence with my setup when the skipping is set as Off. If the silence is longer that this, you'll have to use the trimming selectors of the DW main window. None of my test tracks needed it.

I think that the Initial Silence Skip -feature is ready to publish as a stable release after all your other planned improvements are done.

Thanks again!
 

useruser

New Member
Joined
Apr 26, 2023
Messages
2
Likes
1
I understand this software is mainly for analysis. I wonder if can use it to align recordings from different mics on different recorders in terms of phase/offset/drift. I figured it can save audio files, but what is this function used for? Are the audio files processed to match if I save them form the application? I'm a Reaper user and wonder if I can somehow use it conjunction with it. I'm looking for something like PluralEyes, but for audio only.
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,667
Likes
10,299
Location
North-East
I understand this software is mainly for analysis. I wonder if can use it to align recordings from different mics on different recorders in terms of phase/offset/drift. I figured it can save audio files, but what is this function used for? Are the audio files processed to match if I save them form the application? I'm a Reaper user and wonder if I can somehow use it conjunction with it. I'm looking for something like PluralEyes, but for audio only.

Sure, you can align recordings to a sub-sample accuracy and remove any measured clock drift as well as match volume. While it's not designed for doing so, you can do it and then save the file(s).

You may need to set the settings correctly for this workflow. For example, you probably don't want to trim front and back of the files when aligning them (useful for measurements as there are often large errors right at the start of a capture). Uncheck the Auto-trim option.
1682681740491.png


You'll also want to use 'stereo' mode for both files, this way both channels will be processed with the same settings. Otherwise, give it a try!

1682681840778.png
 

Oristo

Member
Joined
Mar 24, 2022
Messages
67
Likes
70
Location
South Carolina
Feature creep:
  • given an advertised recording of sinusoidal frequency sweeps, from e.g. commercial CD, SACD, or DVD calibration disk
  • repurpose DeltaWave tech to synthesize and align most probable "perfect" sinusoidal sweep with a digital playback capture
  • generate system noise and distortion metrics in Multitone Analyzer for that matched pair
Is that too much of "if a tin whistle is made of tin, then foghorn is made of fog" illogically taking to logical extreme or too poor cost/benefit?
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,667
Likes
10,299
Location
North-East
Feature creep:
  • given an advertised recording of sinusoidal frequency sweeps, from e.g. commercial CD, SACD, or DVD calibration disk
  • repurpose DeltaWave tech to synthesize and align most probable "perfect" sinusoidal sweep with a digital playback capture
  • generate system noise and distortion metrics in Multitone Analyzer for that matched pair
Is that too much of "if a tin whistle is made of tin, then foghorn is made of fog" illogically taking to logical extreme or too poor cost/benefit?

DeltaWave is designed primarily for testing using music and complex waveforms. A simple sine wave is just a bit too simple for it to handle :) There is a 'simple waveform' setting that attempts to deal with this, but that kind of testing/analysis probably belongs more in Multitone than in DeltaWave.
 

manisandher

Addicted to Fun and Learning
Joined
Nov 6, 2016
Messages
656
Likes
612
Location
Royal Leamington Spa, UK
@pkane, could you do your best to explain the following please?

Over the weekend, I had a Mola Mola Tambaqui on loan (https://www.audiosciencereview.com/...-mola-tambaqui-dac-and-streamer-review.10770/) and decided to measure it against my dCS Scarlatti.

The Tambaqui measures better with a single sine tone:

Tambaqui vs. Scarlatti 1.jpg

But has a worse difference/null with real music:

Tambaqui vs. Scarlatti 2.jpg

The Scarlatti has a 9dB (20dBA) deeper null than the Tambaqui with real music (totally repeatable), which suggests that it's reproducing the original file more faithfully. And yet its SINAD is clearly worse.

How can this be?

Mani.
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,667
Likes
10,299
Location
North-East
@pkane, could you do your best to explain the following please?

Over the weekend, I had a Mola Mola Tambaqui on loan (https://www.audiosciencereview.com/...-mola-tambaqui-dac-and-streamer-review.10770/) and decided to measure it against my dCS Scarlatti.

The Tambaqui measures better with a single sine tone:

View attachment 298146

But has a worse difference/null with real music:

View attachment 298147

The Scarlatti has a 9dB (20dBA) deeper null than the Tambaqui with real music (totally repeatable), which suggests that it's reproducing the original file more faithfully. And yet its SINAD is clearly worse.

How can this be?

Mani.

Mani, I'm not really sure of what the charts show. Was one a digital capture and the other analog? Otherwise I can't explain the noise floor differences. Unless the level of the two captures was also not the same. There are also interactions between E1DA and the source component to consider -- E1DA has a fairly low impedance input that can interact with the source component. But I don't want to speculate until I understand what you've captured and how :)
 

manisandher

Addicted to Fun and Learning
Joined
Nov 6, 2016
Messages
656
Likes
612
Location
Royal Leamington Spa, UK
Sure.

In the first pair of charts, in both cases, the blue is the original digital file (1.5kHz sine @-2dB), and the pink the analogue output from the respective DAC captured with an E1DA (set to 1.7V in both cases, so input impedance remains constant). Analogue outputs of DACs were level-matched 0.01dB to input using Roon's 64bit DSP (DeltaWave did further level-matching). I am not showing any RMS difference here, but simply showing the level-matched input vs. output for each DAC, because I can't sync the DAC and ADC clocks using the E1DA. You can just ignore the input (blue) if you like, and look at the THD+N for each DAC.

I did the above because I wanted to see how the DACs compared in THD+N. I used the E1DA in stereo mode (couldn't find the correct cable with which to split the signal for mono mode), so the noise is 3dB higher than it could be, but otherwise, the result looks very similar to Amir's with his AP.

The second pair of charts show the FFT of the Difference between the input and output for each DAC playing back a music file. The output levels were kept the same as above. (I'm not at home right now, but can show a screen shot from DeltaWave with all the info.)
 
Top Bottom