• 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!

I’m searching for a cheap digital (SPDIF, “bit-perfect”) only delay device (I need ca. 25 ms delay)

LTig

Master Contributor
Forum Donor
Joined
Feb 27, 2019
Messages
5,843
Likes
9,586
Location
Europe
What is the worst case scenario for de-synchronization between two DACs? I don't really know, but the OS is presumably sending frames to the DACs at the exact same time.
Nope. In the usual audio mode the DAC requests the data packages based on its own internal clock.
 
OP
UltraNearFieldJock

UltraNearFieldJock

Active Member
Joined
Apr 5, 2022
Messages
118
Likes
216
Location
Very close to the speakers
By the way, I think, my issue (need for delay in the main path) is not only my problem, everyone who has a sub need it, after all for DSP-subwoofer. The delay amount in DSP-Subwoofer is perhaps much bigger than mine: additional the ADC for DSP and secondary DAC for output (I use for sub-bass the pure digital DSP, with only one DAC-process). But nobody cares? An additive function (adjustable delay, buffering) in the DAC's could be a good, cheap and expected solution? Are the few dB for THDN (perhaps not even at all audible) more worth than a big delay issue in the bass (perhaps very good audible)?
 
Last edited:

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
How many samples of drift should we really anticipate between even two crappy USB DACs? I

tried to find some measurement of drift and couldn't even find posts about it here or elsewhere.

What is the worst case scenario for de-synchronization between two DACs? I don't really know, but the OS is presumably sending frames to the DACs at the exact same time. A packet is 125us long (0.125ms) - so if one DAC gets a full frame behind that's how far off you get. I'm comfortable calling that discrepancy irrelevant when the use case is to delay sound by 25ms for sub integration.

For tweeter integration we might be very concerned about this amount of delay, but here it's probably not worth worrying about even if variable.



If there are disruptions it could be buffer underruns, you may need to increase the buffer length. I have also read similar comments about Voicemeeter, but have been using it in my main system without problems (well, without problems caused by Voicemeeter) 24/7 for some months now... perhaps they've fixed the bugs.

Anyway, the tutorial I linked earlier specifies either Voicemeeter Banana, or Voicemeeter Potato, I guess these are forks of the original, which support multiple device output.

If the windows-based approach works, I think it will only cost you $30-50, worth a try IMO. This one is $55 but I bet there are cheaper ones.

I dug in to this a bit more and have some data to bring to the discussion. Using Mac OS I created an aggregate audio device consisting of a MOTU M4 and a miniDSP 2x4HD. When creating an aggregate audio device you have the option of enabling drift correction which will resample data going to one of the DACs in an attempt to synchronize their output.

At first I left drift correction off. I played a 100 Hz tone with one channel being sent to the M4 and one channel being sent to the 2X4HD, output of both was recorded using a Cosmos ADC in stereo mode. In ~2 minutes the outputs went from fully in phase to fully out of phase. Clearly this will be unusable in a crossover application.

I then enabled drift correction and the results appeared very good. There was no obvious movement of either output relative to each other on the scope.

Next I moved to running frequency response sweeps with one DAC as output and one DAC as timing reference. In this test timing issues will show in the phase response. I ran a baseline sweep using drift correction and a delay of 3.82 ms gave consistent phase response up to about 1 kHz.

1671033093523.png


I then restarted my computer and both DACs to see how well the delays would hold. After a restart the relative delay was now 3.91 ms. As I was assuming a 3.82 ms relative delay based on my measurements prior to restart this resulted in deviating phase response above 100 Hz.

1671033133623.png


I was able to re-correct the delay and get similar phase response to the original drift correction measurements but the delay was now 3.91 ms.

1671033223498.png


My conclusion is that it is probably feasible to use two USB DACs if you doing a low frequency crossover assuming you have the ability to implement some sort of resampling drift correction. Although I would certainly pursue more testing to ensure that the delay stays relatively constant between device restarts. Using two USB DACs in a mid / high frequency crossover is definitely a bad idea, as is using two USB DACs without drift correction.

Personally the whole thing feels a bit like praying that the relative delays hold and I would be much more comfortable with something that was clock sync'd but YMMV.

Michael
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
But nobody cares? An additive function (adjustable delay, buffering) in the DAC's could be a good, cheap and expected solution? Are the few dB for THDN (perhaps not even at all audible) more worth than a big delay issue in the bass (perhaps very good audible)?

Agree with everything you say here. Definitely an audible issue and one of the many reasons I use DSP with the ability to delay! Getting the acoustics right is much more important than a few dB improvement in THD+N.

Although setting the delay is really just the starting point as the room has so much influence in the bass. Still I have found the best results by setting up delays / x-overs based on anechoic response and then worrying about the room.

Michael
 

kemmler3D

Major Contributor
Forum Donor
Joined
Aug 25, 2022
Messages
3,358
Likes
6,882
Location
San Francisco
In ~2 minutes the outputs went from fully in phase to fully out of phase. Clearly this will be unusable in a crossover application.
Wow, that's horrible, much worse than I assumed. Obviously drift correction is a requirement, then. Thanks for all the data / measurements. It looks like the relative latency is PRETTY stable with drift correction on, at least, like you say, good enough for a LF crossover.

Nope. In the usual audio mode the DAC requests the data packages based on its own internal clock.
I didn't know that, thanks. That's obviously a problem if you intend to use more than one DAC at once...

Given that I retract my recommendation of using a cheap-o DAC unless we can confirm that Windows has drift correction as good as Mac OS...
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
Wow, that's horrible, much worse than I assumed. Obviously drift correction is a requirement, then. Thanks for all the data / measurements. It looks like the relative latency is PRETTY stable with drift correction on, at least, like you say, good enough for a LF crossover.


I didn't know that, thanks. That's obviously a problem if you intend to use more than one DAC at once...

Given that I retract my recommendation of using a cheap-o DAC unless we can confirm that Windows has drift correction as good as Mac OS...

It was definitely an interesting experiment / learning exercise. I too was surprised how bad it was without drift correction but also surprised at how good drift correction was. I expected it to be more "jumpy" but at low frequencies it is pretty good.

After the fact I also looked at a 10 kHz tone on the scope and you can definitely see movement in the traces with drift correction although it is rather small. Without drift correction it cycles between in and out phase in about a second. All in all consistent with the phase measurements.

Michael
 
OP
UltraNearFieldJock

UltraNearFieldJock

Active Member
Joined
Apr 5, 2022
Messages
118
Likes
216
Location
Very close to the speakers
Although setting the delay is really just the starting point as the room has so much influence in the bass. Still I have found the best results by setting up delays / x-overs based on anechoic response and then worrying about the room.
Hello Michael, with UNF I don't worry about the room :) - this is one of the advantages of the UNF-listening. But other issues (delay) are more audible.
But I think: alone the placement of the Subwoofer in the room causes in many cases also the problem of delay - 1 m of the way difference is ca. 2.9 ms.
What about the (normally) increased group delay in the bass - could be the compensation of delay in bass also not a little remedy for this problem?
 
OP
UltraNearFieldJock

UltraNearFieldJock

Active Member
Joined
Apr 5, 2022
Messages
118
Likes
216
Location
Very close to the speakers
My conclusion is that it is probably feasible to use two USB DACs if you doing a low frequency crossover assuming you have the ability to implement some sort of resampling drift correction. Although I would certainly pursue more testing to ensure that the delay stays relatively constant between device restarts. Using two USB DACs in a mid / high frequency crossover is definitely a bad idea, as is using two USB DACs without drift correction.
Thank Michael, clever measurements and very interesting conclusion, this could be one of reasons for the failing with Voicemeeter.
 

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,659
Likes
2,274
Hey UNFJ, if the reason not to use a multichannel DAC is budget, one of these cheapo cards will output L and R channels through toslink (that you can plug to your mains DAC) and simultaneously all 8 channels through analog, that can be good enough for a sub (?). I don't know if such setup will solve your timing issues (applying a fix delay via software) but the people here will know.
You will be limited to 16bit 48khz, but if that works for you...
https://amzn.eu/d/8wWBkDZ
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
What about the (normally) increased group delay in the bass - could be the compensation of delay in bass also not a little remedy for this problem?

Excess delay and lack of phase matching will hurt group delay, but overall group delay in bass will be dominated by the inherent group delay cause by the subwoofer roll-off (faster roll-off = more phase distortion = more group delay).

EDIT: Should add if you have a 25 ms delay on your sub that will obviously dominate your group delay. The statement above was more around a 1-3 ms delay based on subwoofer positioning.

Michael
 
OP
UltraNearFieldJock

UltraNearFieldJock

Active Member
Joined
Apr 5, 2022
Messages
118
Likes
216
Location
Very close to the speakers
My conclusion for this thread: I'm happy with the new improvement. The new Felston DD540 for delay + new SMSL P100 as a digital splitter (USB -> SPDIF + Toslink) work perfectly together with my UNF setup1. The digital frequency is now set to (max for Felston and SPDIF) 96 kHz. The needed delay is not so big, I estimated. I was really confused - the 50 ms is the big div not the small one on the oscilloscope output above! With 13 ms is perfect! The difference is huge - in the measurement and in the quality of listening of deep bass loaded music. Consider this: the timing (step response) for deep bass (3-way solution) and the main signal (>100 Hz) seems to be very important: Every 1 ms is for me audible. I'm listening now and enjoy the disco-techno music of "Dream Dance" German sampler series (do you know?) - here is a lot of deep bass.
 
Last edited:

drandyhaas

New Member
Joined
Jul 4, 2023
Messages
3
Likes
3
Hi all,
I was needing something similar, to sync up 2 amazon echo link devices, which needed to output through speaker systems with different delay, due to different audio processing.
It took me just a day or two to design and test this:
It has spdif toslink input and output, with an adjustable digital delay in between, 0-750ms, in 1ms steps. It is all digital, no adc dac.
Currently it's just a prototype, but the PCB is in the mail. I will then sell them on eBay for about $50.
Let me know if anyone is interested. And given that the digital audio processing abilities in the Teensy 4.0 are impressive, I could add other features. Suggestions welcome!
Best, Andy.
 

drandyhaas

New Member
Joined
Jul 4, 2023
Messages
3
Likes
3
You can have many 4-stage biquad filters, fir filters, etc. which can be cascaded and mixed however you like, as far as i understand. It's a 600 MHz arm processor, so reasonably powerful.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,760
Likes
3,067
Seems like I misinterpreted 'up to 4 stages may be cascaded' then. I've seen the benchmarks for Teensys as CNC controllers so I know they're reasonably powerful. I thought it might be a library limitation. If you can give it 10 band PEQ, or even 5, you have a solution for those wanting to apply speaker or headphone corrections without using PC based software. Maybe use the USB to load a config file?
 
Top Bottom