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

Volume control for DAC that uses ASIO

SharpEars

Member
Joined
Oct 3, 2019
Messages
23
Likes
19
I have an OPPO HA-1 DAC. The best way to communicate with it from my Windows 7 host is over ASIO (using its ASIO driver). The problem with this is that I lose volume control, since the Windows volume control no longer works.

I can use the (stupid malfunctioning noisy analog) volume control built into the HA-1, but this both degrades the sound quality and the remote for the HA-1 is a piece of s**t.

It would be nice if I could put the HA-1 into the fixed output "Home Theater Bypass" mode as covered in the HA-1 User Manual, which completely bypasses the volume control knob along with its signal distorting circuitry and basically causes the digital input it receives over USB to be converted to analog, at full volume, and then routed directly to the balanced outputs.

As amirm demonstrated in his comprehensive review and measurements of Oppo HA-1 DAC & Amp:

"We have lost as much as 20 dB in noise and distortion. And this happened while keeping the output voltage the same! Channel balance became much worse too. I am assuming this is due to the output of the DAC now going through the headphone amplifier. Very unfortunate as this makes the HA-1 a lousy DAC with volume control.

For the rest of the DAC measurements, we put the unit back in fixed volume mode..."

The problem is that if I use the awesome HA-1 custom ASIO driver, I totally lose all volume control and my amplified speakers will blow.

What I would like to figure out is a solution like the following:

- I would like to use the ASIO driver
- I would like to be able to adjust volume in Windows (even if it's outside of the normal Windows volume control), or ...
- I could use a (digital-only) device in between the PC and the DAC (some sort of USB->digital volume control->USB, with no analog anywhere in the signal path)
- I can set the output bit depth to always use 32-bit, so that dynamic range degradation due to digital volume control is a non-issue

In fact, the JRiver player basically does the above. It uses an internal 64-bit volume control for stuff you play through it, so that you can disable all volume control on your DAC and use a direct ASIO driver to talk to it, and use JRiver's volume control without damaging the sound's dynamic range.

But, I would like for this volume control to adjust all sounds coming out of my Windows PC, no matter their source.

So, some possible options:

1. All windows sounds -> "Some sort of volume control software" -> HA-1 ASIO driver -> USB -> HA-1
2. All windows sounds -> HA-1 ASIO driver -> USB -> "Some sort of digital device that allows volume control of the forced 32-bit digital audio signal over USB" -> USB -> HA-1
3. Scrap the HA-1 and get another DAC with a proper digital volume control (with remote!) - an expensive option!
4. ???

The question is, which of the above options is feasible and what can I use to implement that option?
 

Kal Rubinson

Master Contributor
Industry Insider
Forum Donor
Joined
Mar 23, 2016
Messages
5,294
Likes
9,851
Location
NYC
I use this with JRiver/Win10. It has no effect on format/resolution but is restricted to PCM using JRMC's internal volume setting:
s-l640.jpg
 
OP
S

SharpEars

Member
Joined
Oct 3, 2019
Messages
23
Likes
19
That looks like a simple USB based (remote) volume control (i.e., it let's you adjust volume using a USB device rather than an app's or Windows' own volume control).

But, that's not at all what I am looking for. I am looking for something that works for all Windows sounds, bypasses the Windows mixer altogether, and takes a virtual (fakse) ASIO device used for all Windows audio output, allows for software based volume control on the data, and then sends the resulting attenuated data to the HA-1 ASIO device.
 

g29

Addicted to Fun and Learning
Joined
May 1, 2019
Messages
520
Likes
318
,,, I am looking for something that works for all Windows sounds, bypasses the Windows mixer altogether, and takes a virtual (fakse) ASIO device used for all Windows audio output, allows for software based volume control on the data, and then sends the resulting attenuated data to the HA-1 ASIO device.

If you use JRMC's WDM, JRMC's 64-bit internal volume control and set JRMC's output to ASIO (or other as you choose), it will control all of Window's sound output while redirecting everything to the ASIO output (or other as you chose).
 
OP
S

SharpEars

Member
Joined
Oct 3, 2019
Messages
23
Likes
19
If you use JRMC's WDM, JRMC's 64-bit internal volume control and set JRMC's output to ASIO, it will control all of Window's sound output while redirecting everything to the ASIO output (or other as you chose).

Ahh, interesting, didn't know you could do that (bangs head). This may solve all my issues if it can be done with no to little latency.
 

g29

Addicted to Fun and Learning
Joined
May 1, 2019
Messages
520
Likes
318
Ahh, interesting, didn't know you could do that (bangs head). This may solve all my issues if it can be done with no to little latency.
It is a cool feature JRMC added a few revisions back. Their WMD is basically a pipe. You set the JRMC WMD pipe as the "default output device". Every Windoze App that writes to the default output device is writing to the pipe. You tell JRMC to use a specific output (not the default output device) so you don't end up in an endless loop. When you install a new version of JRMC, you need to reinstall the latest JRMC WMD for that version.

You also have to configure JRMC to use it's internal volume control and can also add a safety MAX VOLUME limit and startup volume setting.

HTH
 
Last edited:

M00ndancer

Addicted to Fun and Learning
Forum Donor
Joined
Feb 4, 2019
Messages
719
Likes
728
Location
Sweden
What about using the Voicemeter Banana? (Alt 1 as software)
 
Top Bottom