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

VB Matrix

OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
Listening on the master or on the slave?

Both.
The Master DAC drives the LR channel. Master DAC is a Soekris dac1541. VB Matrix is configured to use the Soekris ASIO driver as master.
The slave DAC drives the subwoofer. Slave DAC is a SMSL DO100. VB Matrix is configured to use the SMSL WDM driver as slave.
It was playing background music throughout my workday (at home) ... I did not hear any click/pop/dropout.
Nor detect any DAC drift.

//
If you're wondering how I detect DAC clock drifted (ASIO4ALL):
  • usually happens after 25-45 mins of playback
  • songs with reasonable bass content will have this weird "whoop whoop" bass tune
  • and it progressively gets worse.
  • when I stop playback & start playback of the same song ... the weird "whoop whoop" bass sound does not happen anymore
  • until 25-45 mins later ... it repeats

=> after I switched over from ASIO4ALL to VB Matrix this "whoop whoop" bass has never occurred once. Even after hours of continuous playback.
 
Last edited:
  • Like
Reactions: MCH

phofman

Addicted to Fun and Learning
Joined
Apr 13, 2021
Messages
503
Likes
327
Both.
The Master DAC drives the LR channel. Master DAC is a Soekris dac1541. VB Matrix is configured to use the Soekris ASIO driver as master.
The slave DAC drives the subwoofer. Slave DAC is a SMSL DO100. VB Matrix is configured to use the SMSL WDM driver as slave.
It was playing background music throughout my workday (at home) ... I did not hear any click/pop/dropout.

Maybe a few ms adjustment on subwoofer is not audible.

Nor detect any DAC drift.

//
If you're wondering how I detect DAC clock drifted (ASIO4ALL):
  • usually happens after 25-45 mins of playback
    • songs with reasonable bass will have this weird "whoop whoop" bass sound
  • and it progressively gets worse.
  • when I stop playback & start playback of the same song ... the weird "whoop whoop" bass sound does not happen anymore
  • until 25-45 mins later ... it repeats

=> after I switched over to VB Matrix this "whoop whoop" bass has never occurred once. Even after hours of continuous playback.
It really depends on the alignment algorithm. IIUC @mdsimon2 's measurement suggests the adjustment action of VB Matrix is activated after about 10ms of misalignment. That may not be audible on the subwoofer.

Maybe ASIO4ALL has no alignment or the interval is much longer, causing larger time shift. Only the software authors would know the details, both projects are closed-source.
 
OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
IMO this time correction of 10ms every several minutes should be clearly audible.

I agree. 10ms of correction should be clearly audible .. however I have not heard any click/pop/dropout.

This is very interesting. Is it because I am using it as a subwoofer crossover at 80Hz, and the correction is too small to be audible in the lower frequencies? I wonder...
 
OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
Maybe a few ms adjustment on subwoofer is not audible.


It really depends on the alignment algorithm. IIUC @mdsimon2 's measurement suggests the adjustment action of VB Matrix is activated after about 10ms of misalignment. That may not be audible on the subwoofer.

Maybe ASIO4ALL has no alignment or the interval is much longer, causing larger time shift. Only the software authors would know the details, both projects are closed-source.


Ahh... yes ... we posted the similar thoughts almost at the same time...

Yup ... I think so too ... the small correction may not be that audible in the lower frequency ranges ...
 

phofman

Addicted to Fun and Learning
Joined
Apr 13, 2021
Messages
503
Likes
327
80Hz max => 12.5ms min period - IIUC the drift correction would be within one period max. It may be inaudible indeed. But should be detectable by looking at recorded waveform. Especially if recording digitally with SPDIF loopback or USB audio gadget.
 
OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
One more tidbit to highlight ... which might explain the inaudibility of the drift correction ... I am using 176,400ksps sample rate...

zzz.png


I'm not sure if such a high sample rate helped ...
 

phofman

Addicted to Fun and Learning
Joined
Apr 13, 2021
Messages
503
Likes
327
which might explain the inaudibility of the drift correction ... I am using 176,400ksps sample rate...
Effect of samplerate would also depend on the algorithm - whether the corrective action is triggered by time skew (independent of the samplerate) or sample-count skew. For sample-count skew the action would trigger 4 times faster for 176kHz, dropping/inserting 4x shorter (in time) sequence of samples. All this should be identifiable by analyzing a digital recording of slave sine-signal stream, low frequency so that the signal period is longer than the trigger interval.
 
Last edited:

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
I came up with a test that is a bit complicated but confirms the delay drifting seen in my previous frequency sweep measurements is real and detrimental to a bass crossover.

I used a MOTU Ultralite Mk5 and a miniDSP 2x4HD as DACs, both running at 96 kHz. I chose these DACs as the Ultralite has TOSLINK output and the miniDSP has both TOSLINK and USB input. This allows me to compare the case where the miniDSP is sync'd to the Ultralite Mk5 via TOSLINK to when it is using USB input and not sync'd.

I routed the output of each DAC into the analog inputs of a MOTU M4 which was connected to a Raspberry Pi CM4 running CamillaDSP. In CamillaDSP I adjusted levels so that the DAC outputs were equal. I applied a LR4 80 Hz HPF to the output of the Ultralite and a LR4 80 Hz LPF to the output of the miniDSP. I also added a delay to the Ultralite to correct for the delay between the two devices, but this is really only valid for the TOSLINK input of the miniDSP as the delay is variable with USB as previously shown. I then summed these signals in CamillaDSP and output them to an analog output of the MOTU M4. I then used a Cosmos ADC to record the output from the MOTU M4. The pipeline for this configuration looks like this.

1698414263824.png


First, I looked at the case of sending TOSLINK output from the Ultralite to the miniDSP while also using the analog outputs of the Ultralite. In this case the devices are clock synced. I sent an 80 Hz tone and the level remained constant at -12.92 dBFS indicating there were not any odd delay/phase variations occurring.

UL Mk5 + m2x4HD - TOSLINK Clocking - 80 Hz Tone.png


I then sent -10 dBFS white noise and confirmed nice flat frequency response as expected.

UL Mk5 + m2x4HD - TOSLINK Clocking  - White Noise.png


Next I used VB Matrix to send an output to the USB inputs of the Ultralite and the miniDSP. Starting with the same 80 Hz tone you can see the level changing as the phase relationship is changing between the two DACs as a result of differing delays. In about 20 seconds the level changes 3 dB.

80 Hz - No Clock Sync.gif


Similarly, in the white noise test you can see the null changing over time.

White Noise - No Clock Sync.gif


These results are consistent with the write-up Linkwitz did on the impact of delays on a subwoofer crossover -> https://www.linkwitzlab.com/frontiers_5.htm.

I imagine the delays may not be particularly audible as the change in level occurs rather slowly and there will be a lot of room influence in the bass. Still, certainly shows the impact of using a non-sync'd subwoofer on frequency response.

Michael
 
OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
@mdsimon2 thank you for putting together such a detailed test and sharing the insightful results... i really appreciate it...
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
Simplified my test setup a bit by using the UL Mk5 as an ADC which allowed me to make some frequency sweep response measurements. They are a bit clearer than the white noise tests.

VB Matrix - UL Mk5 + m2X4HD - LR4 80 Hz - 10 ms delay on UL Mk5
VB Matrix - UL Mk5 + m2X4HD - LR4 80 Hz - 10 ms delay on UL Mk5.jpg


ASIO4ALL - UL Mk5 + m2X4HD - LR4 80 Hz - 5 ms delay on UL Mk5
ASIO4ALL -UL Mk5 + m2X4HD - LR4 80 Hz - 5 ms delay on UL Mk5.jpg


MacOS Aggregate with Drift Correction - UL Mk5 + m2X4HD - LR4 80 Hz - 2.89 ms delay on UL Mk5
MacOS Aggregate Drift Correction - UL Mk5 + m2X4HD - LR4 80 Hz - 2.89 ms delay on UL Mk5.png


Clearly MacOS is a much better option. However, it still has too much drift for higher frequency crossovers.

MacOS Aggregate with Drift Correction - UL Mk5 + m2X4HD - LR4 1000 Hz - 2.89 ms delay on UL Mk5
MacOS Aggregate Drift Correction - UL Mk5 + m2X4HD - LR4 1000 Hz - 2.89 ms delay on UL Mk5.png


Michael
 
OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
That’s an interesting test setup which I could potentially replicate on my system but using UMIK to record the result. (I don’t have ADCs therefore unable to record the DAC output electrical result.) Currently away on travel, will try after I get back home then share the result.

I have a clarification question- to catch the phase cancellation at the crossover point, are your sweeps back-to-back?; or spaced apart (say one sweep every 5 mins or so) ?
 
Last edited:

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
That’s an interesting test setup which I could potentially replicate on my system but using UMIK to record the result. (I don’t have ADCs therefore unable to record the DAC output electrical result.) Currently away on travel, will try after I get back home then share the result.

I have a clarification question- to catch the phase cancellation at the crossover point, are your sweeps back-to-back?; or spaced apart (say one sweep every 5 mins or so) ?

I used the repeated sweep functionality in REW with 30 second spacing between sweeps.

Michael
 

dualazmak

Major Contributor
Forum Donor
Joined
Feb 29, 2020
Messages
2,850
Likes
3,047
Location
Ichihara City, Chiba Prefecture, Japan
Hello friends,

Although I will soon share more detailed setup information here on my multichannel project thread, let me inform you very briefly here on this thread on VB-Audio MATRIX.

Yesterday, I could spare my time for tests and evaluations of VB-Audio MATRIX for JRiver MC into DSP EKIO as system-wide XO/EQ/Delay control center for 8-Ch output into OKTO DAC8PRO (as well as simultaneous 2-Ch L&R through out into KORG DS-DAC-10 stereo DAC unit for only VU-Meter monitoring purpose).

VB-Audio MATRIX looks so far so nice for my ASIO I/O routings which fully eliminated the use of ASIO4ALL and VB-Audio Virtual/HiFi Cables. In my multichannel setup, I need establishing total 12-Ch I/O with DSP EKIO, i.e., 2-Ch stereo L&R input from JRiver MC (and other audio players), 8-Ch DSP-ed output into OKTO DAC8PRO multichannel DAC unit, and 2-Ch L&R whole through output into KORG DS-DAC-10 stereo DAC unit only for L&R VU-Meter monitoring.

I found another wonderful feature of VB-Audio MATRIX is that, even when all the Windows WDM audio output devices have been disabled by Control Panel - Sound setup, VB-MATRIX can select and activate Windows Kernel Streaming Audio Devices (in my case KORG DS-DAC-10) for flexible output routing simultaneously with the main multichannel ASIO routing.

My VB-Audio MATRIX configuration, therefore, can be seen in this diagram;
WS00006524.JPG


Here I can/could fully eliminate ASIO4ALL and VB-Audio Virtual/HiFi Cables, and now VB-Audio MATRIX behaves as system-wide I/O routing control center for ASIO and other audio devices; although in this post I share my setup in 96 kHz processing, I could fully test and confirm that VB-MATRIX (in VASIO64A setup) together with DSP EKIO works fine/stable/robust for 88.2 kHz, 96 kHz, 176.4 kHz and 192 kHz on my two rather outdated completely silent audio dedicating PCs.

In summary, this diagram illustrates my routing configuration with JRiver MC, VB-Audio MATRIX, DSP-EKIO, OKTO DAC8RPO and KORG DS-DAC-10, all working just fine in my latest total system setup (ref. here and here) with all the parameters in XO/EQ/Delay and VU-Meter configurations remain unchanged.
WS00006528.JPG


For daily music listening sessions, PC monitor screen layout of JRiver MC, DSP EKIO and VB-Audio MATRIX Routing Grid in this diagram would be really nice for observing/checking all the VU/peak meters are properly dancing as well as for the master volume control and music selection by JRiver MC.
WS00006521.JPG


You would please visit my post here for further detailed information on utilization of VB-Audio MATRIX in my multichannel audio project.
 
Last edited:

dualazmak

Major Contributor
Forum Donor
Joined
Feb 29, 2020
Messages
2,850
Likes
3,047
Location
Ichihara City, Chiba Prefecture, Japan
OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
Hi all,

I came back from my trip, and today I found a little time to do an experiment.
I used REW/UMIK to measure 10 sweeps, 30 seconds apart just on the L-channel.
I could see the phenomena that @mdsimon2 posted above.

SPL.png


The SPL was moving up and down around the crossover region (80Hz).

Phase.png


There was phase shifting/drifting happening with the subwoofer (slave) DAC.
There was no phase shifting on the DAC selected as "master" (can see the phase lines up perfectly above 100Hz).

What I found very interesting was that this phenomena was not audible to my ears with music content. Kinda interesting observation...

Attaching the MDAT file in case anyone wanna further analyze it. MDAT file
 
Last edited:

dualazmak

Major Contributor
Forum Donor
Joined
Feb 29, 2020
Messages
2,850
Likes
3,047
Location
Ichihara City, Chiba Prefecture, Japan
Just for your possible interest and reference, I just posted on my project thread;

- VB-Audio MATRIX (VASIO64A setup) as system-wide ASIO and other audio I/O routing center: Replacement for ASIO4ALL and VB-Audio Virtual/HiFi Cables: Part-2_Further optimization in conformity with present configuration of DSP "EKIO": #854
WS00006552.JPG


I could selected OKTO DAC8PRO as "Master" sync clocking device. I know well (ref. @boxerfan88's above post #36) that, even with this "Master" setting, the second DAC KORG DS-DAC-10 would not be completely in-sync with DAC8PRO; this is quite OK, however, in my case since I use DS-DAC-10 only for driving the outer large glass-face physical L&R VU-Meters (compatible with IEC 60268-17 VU meter specification/standard) monitoring whole-through L&R inputs into DSP EKIO (ref. here and here).

There is no drift of synchronization for all of my L&R sub-woofers, woofers, midrange-squawkers, tweeters and super-tweeters since they are fed through single DIYIHNK multichannel (8-CH) ASIO driver into OKTO DAC8PRO.
 
Last edited:
OP
boxerfan88

boxerfan88

Senior Member
Joined
Oct 23, 2018
Messages
401
Likes
446
After the thunderstorm passed, I did another 10 sweeps (30sec intervals), this time with the R-channel.
Much better S/N ratio without the rain & thunder in the background.
Charts look cleaner too.

SPL R.png


Phase R.png


Impulse R.png


Step R.png


GD R.png



MDAT file


That step response graph is kind of interesting ... all those variations are beyond 40ms ... cycling/drifting in the range 70ms-90ms...
I am not sure how to interpret it ...
 
Last edited:

dualazmak

Major Contributor
Forum Donor
Joined
Feb 29, 2020
Messages
2,850
Likes
3,047
Location
Ichihara City, Chiba Prefecture, Japan
Much better S/N ratio without the rain & thunder in the background.

Very interesting to know the effects of (rain and) thunder!:D

I (too) shutdown and disconnect PS cables and LAN cables from all of my audio gears and PCs when we have really serious thunderstorm near our house, even though my power strips have surge-protective ceramic varistors.;)
 
Last edited:

dualazmak

Major Contributor
Forum Donor
Joined
Feb 29, 2020
Messages
2,850
Likes
3,047
Location
Ichihara City, Chiba Prefecture, Japan
If you guys want true clock sync you must use a Dante or Ravenna device and set the source device as the network grandmaster. And then set that device as the master in Matrix. You’ll never get clock sync mixing and matching async devices. The beauty of Matrix is you can use it to connect Dante to Ravenna devices without the 24/48 PCM limitation you have if using the AES67 compatibility mode. And insert a VST3 host in between for crossover and room correction. And by using a SPDIF to Dante interface as the source, you can use this setup as a high power DSP for external devices with SPDIF output. Without losing lipsync with the video. Right now I’m watching Youtube on my Apple TV and using this setup for my 4 way active speakers. And it’s rock solid. And I can turn the volume up and down with my Apple TV remote.

Yes, I fully agree.

A Dante or Ravenna device is in my future plan list for upgrading my DSP-based multichannel audio system even though until that time I will continue using DSP EKIO and JRiver MC to feed OKTO DAC8PRO (8-CH DAC unit) under VB-Audio Matrix as ASIO I/O center.

In any way, VB-Audio Matrix is so far so nice!:D
 
Top Bottom