Jump to content

Audio Latency - Unsure What To Do Next

undrac86

I'm having some issues with audio latency and not sure what to do. I'll go over my the goal, my setup and attempts and hopefully someone wiser knows what to do...

Please note, I'm terrible at nomenclature despite using big words like nomenclature. :3

 

// Goal

To have zero latency live monitoring on all audio inputs from all PC's, Audio Inputs and Microphones.

Hopefully, to a simple solution as I usually provide Synergy\MwB solutions to friends and family who multitask their jobs and need audio.

 

 

// Setup \ Hardware

I use Synergy and Mouse without Borders on PCs / SBC PCs to work. The current setup is a full desktop Ryzen PC and a Mac Mini for Development. The audio is using the Mac Mini's 3.5mm TRS jack to a M-Track Dual TS Input to USB. Windows primary output is a SCHIIT DAC/AMP Combo (Modi\Magni)

 

Note: Input \\ MAC --[[ TRS \ 2xTS ]]-- M-TRACK SOLO --[[ USB ]]-- DESKTOP

Note: Output \\ DESKTOP -[[ USB-C ]]-- DAC\MODI --[[ 2x RCA ]]-- AMP\MAGNI --[[ 6.35mm TRS ]]-- HEADPHONES

Note: I know this is a MAC in this example, but I have Windows SBC's that mimic the same problem. This is just my main setup.

 

 

// Setup \ Software

M-Track Drivers are installed on Windows and its buffer is set to 44100hz\256.

VoiceMeeter Banana is installed to capture the hooks and truncate it to the main output. It's settings are set to 44100hz\512. (WMD + KS)

 

Researching the settings, they say the buffer being set lower will also lower the latency, but no change seems noticeable below 512 (tested as low as 128 on WDM layer. Seems almost a 1/8th - 1/4th a second off

I've attempted to use the WDM console and monitor the hardware directly, but it sounds like its worse.

 

The console on VMB shows the input buffer at 44100hz\485 with A1 Output showing 44100hz\512. (I'm not sure to how to change these settings to test).

One of the things i discovered is there is no AUX monitoring on VMB when using OBS to capture video. The audio is nearly 500ms to a whole second behind.

I tried to use one of the packaged virtual cable connectors and the results are the same.

 

Note: I do stream, but you can always use render delay (to a point). 500ms on the is max allowed on OBS with the VMB AUX and it seems ALMOST correct(?)

 

 

// Research

I've done a lot of research to no real solution.

USB seems to be a problem, but then again the audio output is flawless on the AMP\DAC.

I captured high speed video on both inputs and the MAC is about 100ms delayed on the video, which is odd when watching speech like news cause it sounds more far off from the lip sync.

 

I found PCIe cards that have analogue inputs (which would be great for a DESKTOP solution if they have zero latency), but eventually I would want an SBC to SBC solution for lightweight audio work, but I'd assume if the USB layer adds latency, it's moot.

 

I would imagine the buffer constantly stacking up is the real culprit, but its hard to believe in the year of our lord and savior 2024 there isn't a multi capture / output method to sync up audio, especially with streaming \ live services being a major thing.

 

 

//

Thanks for reading and thanks in advance to any advice / solutions.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

You will always have latency with every AD/DA conversion or even async D/D conversions.

 

Might want to check if all settings match across digital connections to drive down latency.

 

And yes USB can be slow, but should be able to process a low channel count like yours. The interface is a budget one though and might not be able to get high conversion speeds.

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/29/2024 at 9:55 AM, undrac86 said:

I'm having some issues with audio latency and not sure what to do. I'll go over my the goal, my setup and attempts and hopefully someone wiser knows what to do...

Please note, I'm terrible at nomenclature despite using big words like nomenclature. :3

 

// Goal

To have zero latency live monitoring on all audio inputs from all PC's, Audio Inputs and Microphones.

Hopefully, to a simple solution as I usually provide Synergy\MwB solutions to friends and family who multitask their jobs and need audio.

 

 

// Setup \ Hardware

I use Synergy and Mouse without Borders on PCs / SBC PCs to work. The current setup is a full desktop Ryzen PC and a Mac Mini for Development. The audio is using the Mac Mini's 3.5mm TRS jack to a M-Track Dual TS Input to USB. Windows primary output is a SCHIIT DAC/AMP Combo (Modi\Magni)

 

Note: Input \\ MAC --[[ TRS \ 2xTS ]]-- M-TRACK SOLO --[[ USB ]]-- DESKTOP

Note: Output \\ DESKTOP -[[ USB-C ]]-- DAC\MODI --[[ 2x RCA ]]-- AMP\MAGNI --[[ 6.35mm TRS ]]-- HEADPHONES

Note: I know this is a MAC in this example, but I have Windows SBC's that mimic the same problem. This is just my main setup.

 

 

// Setup \ Software

M-Track Drivers are installed on Windows and its buffer is set to 44100hz\256.

VoiceMeeter Banana is installed to capture the hooks and truncate it to the main output. It's settings are set to 44100hz\512. (WMD + KS)

 

Researching the settings, they say the buffer being set lower will also lower the latency, but no change seems noticeable below 512 (tested as low as 128 on WDM layer. Seems almost a 1/8th - 1/4th a second off

I've attempted to use the WDM console and monitor the hardware directly, but it sounds like its worse.

 

The console on VMB shows the input buffer at 44100hz\485 with A1 Output showing 44100hz\512. (I'm not sure to how to change these settings to test).

One of the things i discovered is there is no AUX monitoring on VMB when using OBS to capture video. The audio is nearly 500ms to a whole second behind.

I tried to use one of the packaged virtual cable connectors and the results are the same.

 

Note: I do stream, but you can always use render delay (to a point). 500ms on the is max allowed on OBS with the VMB AUX and it seems ALMOST correct(?)

 

 

// Research

I've done a lot of research to no real solution.

USB seems to be a problem, but then again the audio output is flawless on the AMP\DAC.

I captured high speed video on both inputs and the MAC is about 100ms delayed on the video, which is odd when watching speech like news cause it sounds more far off from the lip sync.

 

I found PCIe cards that have analogue inputs (which would be great for a DESKTOP solution if they have zero latency), but eventually I would want an SBC to SBC solution for lightweight audio work, but I'd assume if the USB layer adds latency, it's moot.

 

I would imagine the buffer constantly stacking up is the real culprit, but its hard to believe in the year of our lord and savior 2024 there isn't a multi capture / output method to sync up audio, especially with streaming \ live services being a major thing.

 

 

//

Thanks for reading and thanks in advance to any advice / solutions.

 

 

Firstly, you shouldn't route audio through Windows. With the M-Track you have direct monitoring and you can just route Windows audio and the analogue audio from your Mac through the M-Track to a single output (latency free).

Secondly, if you really, really have to use Audio through Windows, you shouldn't use WDM and its significant latency, but ASIO. You can use something like the VB-Audio Matrix to route ASIO inputs directly to an ASIO output.

Thirdly, you could go the other route and simply route all audio through the Mac, since the Mac's core audio has way lower latency than Windows' WDM architecture.

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, HenrySalayne said:

Firstly, you shouldn't route audio through Windows. With the M-Track you have direct monitoring and you can just route Windows audio and the analogue audio from your Mac through the M-Track to a single output (latency free).

Secondly, if you really, really have to use Audio through Windows, you shouldn't use WDM and its significant latency, but ASIO. You can use something like the VB-Audio Matrix to route ASIO inputs directly to an ASIO output.

Thirdly, you could go the other route and simply route all audio through the Mac, since the Mac's core audio has way lower latency than Windows' WDM architecture.

I'm not familiar with ASIO; Quick internet search shows 'Audio Stream Input/Output'.

I don't see any ASIO for anything audio in the list, less the M-TRACK Setup, but that's for output only, not input.

 

There are some articles about install in drivers to convert audio sources. but the drivers are from 2017, so unsure if that's how to handle this?

 

Edit:

I forgot to mention.. I changed from WDM to MME. It SIGNIFICANTLY quieter, but it may have fixed latency. I'm going to get my high speed camera in a bit and check.

 

But... something is weird about OBS on the capture. Its choppy... like REALLY choppy, like a CD skipping. It's odd. It may be the setup and I'll run through it again to see.

Link to comment
Share on other sites

Link to post
Share on other sites

ASIO is another way of addressing audio hardware to get to latencies in the sub-10-millisecond range. That's what every professional audio software is using, but it's only available for special software (which supports it) and only one program at a time(not system-wide).

You can get around it by certain software interfaces (like VB-Audio Matrix or ASIO-Links), which will create virtual audio devices and allow you to directly link ASIO devices together.

I don't have an example, but you would

- set-up both audio interfaces in ASIO mode in VB-Audio or ASIO-Link

- connect both interfaces via tie-lines; so the input of one interface will be directly routed to the output of the other

- set-up a virtual audio device also routed to the outputs of your output interface

 

However, since you have the M-Track - just use it. Connect the Mac to the inputs (what you are already doing) and simply select it as an output device in Windows. You can set the balance of the Mac and the Windows PC with the "Monitor Mix" pot. If you turn it all the way to the left, you will only hear the Mac, if you turn it all the way to the right, you will only hear the Windows PC. Why would you want to make it more complicated than it needs to be?

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, HenrySalayne said:

ASIO is another way of addressing audio hardware to get to latencies in the sub-10-millisecond range. That's what every professional audio software is using, but it's only available for special software (which supports it) and only one program at a time(not system-wide).

You can get around it by certain software interfaces (like VB-Audio Matrix or ASIO-Links), which will create virtual audio devices and allow you to directly link ASIO devices together.

I don't have an example, but you would

- set-up both audio interfaces in ASIO mode in VB-Audio or ASIO-Link

- connect both interfaces via tie-lines; so the input of one interface will be directly routed to the output of the other

- set-up a virtual audio device also routed to the outputs of your output interface

 

However, since you have the M-Track - just use it. Connect the Mac to the inputs (what you are already doing) and simply select it as an output device in Windows. You can set the balance of the Mac and the Windows PC with the "Monitor Mix" pot. If you turn it all the way to the left, you will only hear the Mac, if you turn it all the way to the right, you will only hear the Windows PC. Why would you want to make it more complicated than it needs to be?

 

It's not necessarily making it harder than needs to. I'm not experienced in this field and the equipment doesn't show for these settings people talk about in videos / forums. It's strange that's there's not a simple plug and play solution in 2024, especially with streaming being in higher demand.

 

"you have the M-Track - just use it" -- This is even confusing to me; my output is the Schiit Stack for high quality output, so switching over would not be ideal (and ASIO doesn't show up for M-Track unless you trying to use it as an output.

 

I'll continue to research this stuff, but if anyone knows any plug-and-play solution i can do between to SBC's / Desktops. Lemme know, I'm trying to set this up for several offices that would like it.

Link to comment
Share on other sites

Link to post
Share on other sites

Let me get this right.

 

What you want is to have single audio output from multiple computers, you want to hear audio from multiple sources through single headphones without latency?

 

In that case, get a mixer. That's what all the streamers do, they use mixer to get monitoring output from the PC/console/whatever, their microphone and (possibly) their streaming PC and then they send the mixer output back to the streaming machine, add the required latency to the video to catch the audio latency coming from the mixer and stream the whole package.

 

As in:

MAC -> [Mixer line in 1]

PC (-> DAC, optional) -> [Mixer line in 2]

[Microphone/whatever] -> [Mixer input 3]

 

[Mixer monitoring/output 2] -> amp -> headphones

[Mixer main output] (-> ADC, optional) -> PC -> Stream

 

Also why are you running your Mac into the both inputs of the M-Track? You know the first input (with XLR/TRS combojack) does 2-channel input already? At least it is XLR/TRS combojack so I would presume it does stereo input.

 

Well, either way, you will always have latency in the M-track input and whatever PC output unless you use ASIO to eliminate the Windows sound mixer completely (this is what ASIO does, it purges the whole Windows audio stack and leaves it to the USB interface and the software to figure it all out) and use the M-Track for output also.

If your DAC supports ASIO (which Shiit doesn't because audiophile stuff and reasons) you could use ASIO4All to control the ASIO drivers and reroute things (but as Schiit doesn't make ASIO drivers for their stuff, this doesn't matter).

 

You can try to pull double duty on the M-Track if you don't need stereo output from your desktop (as in you just need notification sounds and whatever from the desktop to appear mixed with the Mac output) by connecting your desktop to the M-tracks input 2 (mono, the sole TS jack), set the Windows output to the M-track and then use ASIO side of M-track to pull both inputs to OBS (or whatever) and set ASIO output back to the M-track and connect your amp to the RCA output of the M-track.

 

So your signal path would be:


MAC -> [3.5mm TRS to 6.35mm TRS] -> M-Track input 1 (the combojack, Phantom power off!)

desktop -> [something that will turn TRS into single TS, so stereo to mono] -> M-Track input 2 (set to line instead of instrument (the guitar))

 

M-Track (ASIO) USB -> desktop for OBS/whatever software with ASIO support -> M-Track (ASIO) RCA output (or the headphone out) -> amp -> headphones

 

If you need to use the DAC, it goes between the desktop and the something that will turn the TRS to TS for the M-track input 2.

With output you have a choice, you can either plug your amp into the RCA outputs of the M-Track and listen the final output which will have some minimal latency (with ASIO and no heavy effects and processing few milliseconds) OR you can plug your amp into the headphone output of the M-Track and monitor the inputs completely without latency (the headphone switch on the M-Track to "Direct").

For streaming or whatever you need to split the OBS output to some 3rd output (virtual or whatever) that will be the streaming audio output that is SEPARATE from the "default" Windows audio output (which is connected to the M-Track input 2 as mono).

 

TL;DR:
Just get a mixer and connect all your machines outputting noise to it, one output from it to the headphones and second for streaming.

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, undrac86 said:

"you have the M-Track - just use it" -- This is even confusing to me; my output is the Schiit Stack for high quality output, so switching over would not be ideal (and ASIO doesn't show up for M-Track unless you trying to use it as an output.

*sigh*

The M-Track has a dynamic range of 97 dB (on the outputs with all the on-board processing), the Shit Modi has 119 dB. So this is a huge difference? No. It doesn't matter the slightest for what you are doing. You will never operate any of these devices in a situation when this would actually make a difference. If you were to add a mixer you will certainly be worse off than just using the M-Track alone.

 

You already own the right tool for the job and it's the M-Track. If you don't want to use it as the Windows output, you have three options:

  • Get rid of things you have and buy the right tool for the job. The M-Track is an entry solution and you will find way better audio interfaces which also have onboard mixing.
  • Use the M-Track as the output for the Mac and pass the audio from your Modi through the M-Track.
  • Continue your mission to "hammer a square peg in a round hole" and find a dodgy software solution to unnecessarily pass audio through another AD/DA conversion and through Windows.

 

5 hours ago, Thaldor said:

Also why are you running your Mac into the both inputs of the M-Track? You know the first input (with XLR/TRS combojack) does 2-channel input already? At least it is XLR/TRS combojack so I would presume it does stereo input.

Don't assume, RTFM. It doesn't have stereo inputs.

Link to comment
Share on other sites

Link to post
Share on other sites

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

×