What's the lowest possible latency input point for transmit audio?

K1LSB
Posts: 639
Joined: Wed Feb 05, 2020 5:25 pm

What's the lowest possible latency input point for transmit audio?

Postby K1LSB » Tue Aug 23, 2022 8:53 pm

I've always wondered which audio path into Thetis offers the potential for lowest latency (I operate phone mode exclusively).

My mic audio originates from a MOTU M4. I can send the audio to VAC1 thru VM Potato via ASIO, or directly from the M4 to the Line In jacks on the 7KDLE via RCA cables.

Which of those two options offers the lowest possible latency?

Thanks,
Mark
User avatar
w-u-2-o
Posts: 5540
Joined: Fri Mar 10, 2017 1:47 pm

Re: What's the lowest possible latency input point for transmit audio?

Postby w-u-2-o » Tue Aug 23, 2022 9:26 pm

VAC ASIO is the lowest latency path if everything is perfectly optimized. It can beat the internal codec path by about 10 ms.
K1LSB
Posts: 639
Joined: Wed Feb 05, 2020 5:25 pm

Re: What's the lowest possible latency input point for transmit audio?

Postby K1LSB » Tue Aug 23, 2022 11:23 pm

Well now I'm confused. VAC audio doesn't go thru the codec? How is the audio signal conveyed to the transmit chain without going thru a codec?

Page 7 of the Thetis manual shows all audio (RX and TX) going thru the same codec:

Capture.jpg
Capture.jpg (124.62 KiB) Viewed 3077 times

TIA,
Mark
User avatar
w-u-2-o
Posts: 5540
Joined: Fri Mar 10, 2017 1:47 pm

Re: What's the lowest possible latency input point for transmit audio?

Postby w-u-2-o » Wed Aug 24, 2022 12:43 am

Unfortunately, the current manual, while better than anything that came before it, still has many errors and omissions in it. In this case, it omits the VAC paths from the block diagram in question. Please forgive my crude scratchings:

Capture.JPG
Capture.JPG (141.45 KiB) Viewed 3061 times


VAC, by definition, has nothing whatsoever to do with the CODEC related audio paths. The CODEC paths are quite torturous, and are well described in this topic: https://community.apache-labs.com/viewtopic.php?f=12&t=2612

Whereas the VAC audio paths are relatively simple and direct. For RX it's Thetis-->Windows Audio Devices and for TX it's Windows Audio Devices-->Thetis. No trips back and forth over the Ethernet necessary, no firmware processing required. Unfortunately the design of the VAC interface itself is quite clunky and complex, but properly set up to use the ASIO driver it is the most efficient audio path. Note that if you use anything but ASIO then the CODEC paths will be faster. Of course that should not be a problem with your MOTU interface.

It's always seemed most unfortunate that the original Hermes designers chose to provide what amounted to a custom audio interface in the external hardware design. This was before my involvement in the community, but I believe their thought processes in this area involved two concerns. The first was to maintain the audio interface in the same clock domain as the RF hardware. This has some technical merit, but is clearly unnecessary given the successful transition between clock domains that so many other audio app's and accessories manage in the Windows world. The second idea was to provide a more "traditional" user experience, i.e. a box that felt more like an regular radio. We see this latter philosophy even in today's hardware designs, most notably Andromeda. Personally I feel that this philosophy substantially limits the extensibility and functionality of the openHPSDR architecture, but as a non-developer I have little sway in the proceedings ;)
K1LSB
Posts: 639
Joined: Wed Feb 05, 2020 5:25 pm

Re: What's the lowest possible latency input point for transmit audio?

Postby K1LSB » Wed Aug 24, 2022 2:38 am

Awesomely thorough answer as usual, Scott, kind thanks!

Return to “Microphones, Speakers & Audio Hardware”