From Audacity to DAC without dsp alteration.. Getting my 1's and 0's there unmolested.

Hi All,

As I am lucky enough to have a Benchmark DAC1 USB (old but gold!) and am just starting to use it with my win11 pc - I have been trying to learn about the way win11 handles the transfer of digital sound file data. From application ( Audacity in this case) to DAC via USB. ( USB 1.0 in the case of the venerable DAC1)

Hopefully getting to better understand the causes of latency but also all the talk about “bitperfect” playback, the evil windows mixer, ASIO etc. etc. even WaveRT one day, whatever that is… (honestly, I have spent far too much time on this - plain old wires are a lot easier).
Anyway it seems that…
Audacity (Aud) uses a bit of code - an audio i/o software “library” - called PortAudio :
[ https://files.portaudio.com/ ] latest ver 19.7.0 - released April 6, 2021.
N.B. 4 yrs since last release… not being developed anymore?

Aud’s implementation of PortAudio connects out via one of either the WASAPI, MME or Direct Sound audio “hosts” (what we choose in audio settings).

An ASIO type “host” is not supported on Audacity as std bc Steinberg are bastards.

The chosen “host” sends the audio data on its way to the DAC via the pesky windows “audio engine” - a black box fraught with potential dsp awfulness - mixing, resampling, volume control, custard… ) which appears to be the thing that everyone is desperate to avoid their precious 1’s and 0’s going anywhere near.

The Windows Direct Sound and MME hosts are not capable of bypassing this Windows mixer.

An ASIO host CAN do this however. As can - from my reading anyway- a WASAPI host.

The hosts by-passing of the peril of the “windows audio engine” is seen as an advantage and potenially reduces latency. It can give an application like Audacity exclusive “direct” access to your chosen DAC.
But as said ASIO support is not available in standard Audacity. And I for one am not confident enuf to compile my own. Stability matters most!

HOWEVER from my reading it seems that WASAPI is also capable of giving exclusive and direct access to DAC - bypassing any win11 dsp - AND that PortAudio v19.7.0 used in Audacity IS capable of providing such exclusive access functionality via WASAPI.

Its just not implemented in Audacity. Is this correct ? and if so why not?

When I say “to the DAC” I must mean to the USB driver that connects the pc to the DAC via cable. (and God know what happens to all those poor helpless 1’s and 0’s in there…!]

Anywho, as of today it seems that Audacity cannot be configured to avoid the win11 “audio engine” bc of PortAudio limitations, or Audacitys current use of it which does not support choosing “exclusive mode” when using the WASAPI host.

Am I right so far ? even just a bit? Anyone ?

So without compiling my own version of Audacity that supports ASIO (and would that connect via the USB1.0 protocol anyway?) I have to go through the freaded windows audio engine (or use another DAW).

As this is the case I suppose turning off all dsp “enhancements” (done) and keeping the windows volume set to 100 might help? or am I beiing naieve?

I have also read that the Audacity team may be wanting to move away from using PortAudio in future. Hopefully they will implement something newer and better when they do. Minimal latency is important . And if you can bypass the win mixer and grant exclusive control of your DAC (and ADC for that matter) to Audacity why not?

If you have made it this far, thank-you. Maybe you too are trying to get to grips with the rabbit holes, snake oil, smoke and mirrors of digital pc audio. Writing this has helped to clarify what little I thinhk I have learned so far.

I would very much appreciate any comments on what I have misunderstood or am blissfully unaware of from anyone “aux fait” with this whole messy business.

I’m not sure it can even make all that much difference to audible sound quality… but it’s too late now, I need to understand what I can. Surely there must be a flow diagram somewhere? dammed if I can find one.
The Benchmark DAC1 still sounds great BTW, the headphone amp is fabulous and who needs more than 24/96 anyway?!
Cheers all
krgds
Rob

Try Windows Exclusive Mode.

But if you have all of the “enhancements” turned off, I doubt you’ll hear a difference.

You can’t eliminate latency (delay) through the computer. You need buffers (which are also delays) because the operating system is always interrupting and multitasking and the buffers allow the audio to flow in-and-out at a smooth constant rate.

If you go to Edit → Preferences → Latency you can adjust Audacity’s buffer but I think its the recording buffer, and I suspect Windows has its own additional buffers.

Do you need low latency? Some audio interfaces have zero-latency direct monitoring where the monitoring path doesn’t go through the computer. For low latency you might need an ASIO application, and then you can adjust buffer size, making latency as low as possible before you start getting glitches in your audio.

1 Like

thanks D, I have it set up, windows presumably will allow exclusive mode … but it aint an option for Aud using WASAPI.

and while I’m at it - set up in Aud :

and just found this Windows Audio Path flow chart from here : Windows 11 / WASAPI - Questions and Answers - Audiophile Style