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

How to use 2 DACs on 1 Windows 10 PC, with separate PEQ profiles?

sweetchaos

Major Contributor
The Curator
Joined
Nov 29, 2019
Messages
4,006
Likes
12,444
Location
BC, Canada
Welcome to my quick tutorial. :cool:

What's the use case?
Let's say you want to use separate DACs (and have headphone amplifiers & headphones OR studio monitors hooked up) on 1 Windows 10 pc and want the ability to EQ both DACs separately, using 'Equalizer APO'.

Requirements:
1. Equalizer APO
2. Voicemeeter Banana (or Voicemeeter Potato will work as well) (NOTE: original Voicemeeter won't work)
3. Two separate DACs, with two USB cables, of course
4. Windows 10 pc
5. Either headphone amps & headphones OR studio monitors => depending on your use case. In my case, I'm using studio monitors.

STEP A: Install latest DAC drivers
1. Install latest DAC drivers. In my case, Topping drivers (link).
I don't need to explain why this is important, but in my case, it would have avoided issue #1 (shown at the end).
2. Restart pc.

Step B: Renaming DACs
1. On my pc, when I plugged in my 2 Topping DACs (Topping E30 and Topping D10), it was showing me generic names, which is confusing.
1614810312241.png

1614810320207.png
2. First, I went to "Manage Sound Devices", and hit "Test" button to test sound on both DACs (with studio monitors hooked up to each).
1614810488692.png

1614810498702.png
3. I renamed both from "Speaker" to toppingd10 or toppinge30 accordingly
1614810510517.png

1614810515331.png
4. Now, we can proceed, without any confusion.

STEP C: Setting up Voicemeeter Banana
1. Install Voicemeeter Banana (or Voicemeeter Potato)
Here's the difference:
- Voicemeeter (original) => Installs "Output A1" in the playback devices in Windows => Doesn't work for us, since we need 2 outputs, not 1. Avoid.
- Voicemeeter (Banana) => Installs "Output A1, A2, A3" in the playback devices in Windows => Works for us, since we need A1, and A2.
- Voicemeeter (Potato) => Installs "Output A1, A2, A3, A4, A5" in the playback devices in Windows => Works for us, since we need A1, and A2.
2. Launch Voicemeeter Banana
3. In the "Virtual Inputs" section of the dashboard, under "Voicemeeter VAIO" column:
Make sure both "A1" and "A2" are enabled, simply by clicking on them.
If you don't enable "A2" for example, then "ToppingD30" DAC won't play any sound.
Both must be enabled for the system to work.
1614974245655.png
4. In the "Hardware Out" section of the dashboard:
Click on "A1", then change the dropdown to be MME: toppingd10 (3- TOPPING USB DAC)
Click on "A2", then change the dropdown to be MME: toppinge30 (4- TOPPING USB DAC)
Once you do, the names will appear on the right-hand side of "A1/A2/A3", like shown in the picture below.
To understand the differences between the other options (MME, WDM, KS, ASIO) look at the manual (page 7).
1614974241007.png

Step D: Check default sample rate and bit depth settings
1. In Windows, the default bit depth and sample rate (for both of my DACs) were 32 bit, 44100 hz.
1614832394546.png
2. Voicemeeter Banana had a default sample rate of 44100 hz.
2021-03-05 12_25_19-System settings _ Options....png
3. I think it's a good idea to keep things consistent. Otherwise, issue #1 (shown at the end) can occur.

STEP E: Change the playback device
1. Let's say you have a Windows laptop. Well, you can leave the default playback device as your Laptop's speakers, while you're doing your day-to-day tasks. But when you want to output to 2 DACs, from Window 10’s sound menu, change the temporary playback device to VoiceMeter Input (VB-Audio Voicemeeter VAIO).
This will send the signal to Voicemeeter, enabling sound to go to both DACs.
1614812336527.png
2. Make sure to test the system such that both DACs are playing sound without any distortion. If you're having issues, then retrace your steps.

STEP F: Making sure Voicemeeter runs at startup
1. Launch 'Voicemeeter Banana'
2. Go to menu, enable "Run on Windows startup" (since Voicemeeter Banana needs to be running on startup, otherwise no sound will be playing from the playback device "VoiceMeter Input (VB-Audio Voicemeeter VAIO)").
2021-03-03 14_00_54-.png
3. Now, if you restart the pc, Voicemeeter will load the dashboard. If you want to minimize it, you have to press the "minimize" button manually.
4. But what if you want to load it silently, in the background?
Navigate to C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Right-click on "Voicemeeter (VB-Audio)", select Properties.
Under "Run", change from "Normal Window" to "Minimized".
Now, when you restart the computer, it will load minimized. Meaning, the dashboard won't be visible on screen, but will be running in the background.
2021-03-05 12_06_44-Voicemeeter (VB-Audio) Properties.png
5. I also like to have applications in the system tray (so I know they are running), which is why I enabled "System Tray" setting in Voicemeeter as well.
2021-03-05 12_09_37-.png

STEP G: Setting up Equalizer APO, in order to have separate EQ profiles for each DAC
1. Install "Equalizer APO", restart pc.
2. Open "Configurator" located in C:\Program Files\EqualizerAPO\
1614812686453.png

For those paying attention, you can see Output A1-A5 in the screenshot, which tells you that I've installed Voicemeeter Potato originally. ;)
3. Enable "Output A1" and "Output A2", restart pc.
4. Open Equalizer APO, and add the following 4 sections in the dashboard, under 'config.txt' tab:
1614811016918.png
toppingd10.txt is a new file I created and put inside C:\Program Files\EqualizerAPO\config
Filter 1: ON HP Fc 120 Hz

toppinge30.txt is a new file I created and put inside C:\Program Files\EqualizerAPO\config
Filter 1: ON HP Fc 120 Hz

Of course, your PEQ profile can be anything here.
I put a simple 120hz 'High Pass' filter to be able to easily tell when the PEQ profile was on or off.
5. Alternatively, instead of adding the information in 'Equalizer APO' as shown in step #4, you could just edit the config.txt (inside C:\Program Files\EqualizerAPO\config) and saved it like this.
Device: Output A1 Voicemeeter
Include: toppingd10.txt
Device: Output A2 Voicemeeter
Include: toppinge30.txt
Then, when you open 'Equalizer APO', it will load the same configuration as step #4.

Optional: How to enable/disable PEQ profiles, as the sound is playing?
1. Open Equalizer APO
2. Hit the "power" icon to 'disable' (then again to 'enable') each PEQ profile (example: topping10.txt) one at a time (see photo below).
1614811723071.png
3. By default, the "power" icons are in white, meaning they are enabled.
When you disable one, the "power" icon will turn black.

Optional: How to disable all sound from one DAC, as the sound is playing?
1. Open Voicemeeter Banana
2. Disable the "A1" or "A2" in the "Virtual Inputs" section of the dashboard (see photo below).
1614811519640.png
3. Alternatively to step #2, you can enable "Mute" button for A1 (or A2) in the "Master Section" as well (see photo below).
1614831383557.png

Optional: What if you keep plugging/un-plugging in DACs?
In Voicemeeter options menu, people need to check the "Auto restart audio engine" option. That should allow Voicemeeter to keep detecting DACs even when they're unplugged/plugged back. No more red flashing A1 device name when you unplug/plug back the corresponding DAC. (thanks to @Jose Hidalgo for the feedback).

Issue #1:
When playing a single speaker at a time (by selecting ToppingD10 from Windows's playback devices), I got no distortion.
But when I switched to "VoiceMeter Input (VB-Audio Voicemeeter VAIO)" as playback device, music was playing on both speakers, but with distortion.
I fixed it by doing either:
- installing latest Topping drivers
- making sure the sample rate and bit depth (for both DACs) was consistent with Voicemeeter Banana

Issue #2:
I noticed that one speaker had some delay/latency and it was out of sync with 2nd speaker.
I fixed this by going to Voicemeeter Banana, Menu, "System Settings / Options", then setting "OUT A1" to have latency of 100 ms (instead of default 0 ms). This was most likely caused by “MME” option that I’ve used earlier.
1614842922045.png

Observation #1:
Like I wrote above...
Here's the difference:
- Voicemeeter (original) => Installs "Output A1" in the playback devices in Windows => Doesn't work for us, since we need 2 outputs, not 1. Avoid.
- Voicemeeter (Banana) => Installs "Output A1, A2, A3" in the playback devices in Windows => Works for us, since we need A1, and A2.
- Voicemeeter (Potato) => Installs "Output A1, A2, A3, A4, A5" in the playback devices in Windows => Works for us, since we need A1, and A2.
We need to install Voicemeeter Banana or Voicemeeter Potato in order to make this system work.
But I noticed that if you install Voicemeeter Banana, it also installs Voicemeeter original.
Also, if you install Voicemeeter Potato, it installs it, along with Voicemeeter Banana and Voicemeeter original.

Observation #2:
Don't use Voicemeeter original, even if you install Voicemeeter Banana or Voicemeeter Potato.
Just to test the system, I opened Voicemeeter original and set A1 and A2 as normal.
Result?
Sound came out of both speakers, so it appeared to work fine...but when I was looking at Equalizer APO, I noticed that only the 1st PEQ profile worked as expected, whereas the 2nd PEQ profile didn't work when I was toggling it on/off.
I'm guessing Voicemeeter original is just not capable of doing the task.
Overall, just don't use Voicemeeter original...use Voicemeeter Banana or Voicemeeter Potato.

You're done. Enjoy! :D

Changelog:
2021-03-03: Original post
2021-03-03: Added issues #1-2 and observations #1-2
2021-03-05: Reorganized sections, added more info, based on Jose Hidalgo's feedback
2021-03-22: Added fix for people who keep plugging/unplugging DACs.
 
Last edited:
Improvements:
- Added 2 issues and 2 observations.

I'm currently using this system to test 2 studio monitors...a single JBL 305P MKII and single Genelec 8040B.
I've set a "high pass" filter for each to be the same, just to compare them...because otherwise Genelec 8040B's lower frequency extension wins.
I used a pink noise to volume match them...nothing fancy.

Having fun with this! :D
 
Cool, thank you! Is it possible to use this method as an active crossover for 2-way speakers (or alternatively 2.2 setup) or would I run into clock drift issues immediately?
 
So, I just followed this great tutorial step by step today, and I'd like to tell about my experience. :) First, three small remarks :
  • In Step B - part 3, it needs to be said that under "Virtual Inputs - Voicemeeter VAIO" we need to manually enable "A2", since only "A1" is enabled by default. That is what makes sure that sound is directed to both A1 or A2, otherwise you only get sound on A1 and you wonder why. :p
  • Step C (installing EAPO) isn't necessary to test if Voicemeeter works, so I kindly suggest that this step is moved at the end, after step E. Once we are sure that voicemeeter works correctly and outputs undistorted audio to both DACs, then we can install EAPO and configure it.
  • Step D (setting Windows' default playback device) isn't necessary at all for some people. For example in my case I've set default playback device to my default laptop speakers, so that my laptop doesn't use Voicemeeter's input by default (I use my laptop for many things, playing music via my DACs is only one of them).
With that said, I have followed your tutorial, step by step, until "Issue #1". Indeed I got exactly the same issue : horrendous distortion on both outputs :eek: I checked and everything was apparently running @ 44100 Hz, so I figured it should be the Topping driver. So I installed the latest version.

The installation returned an error and was unsuccessful :oops: I thought maybe it was because some apps were active (Voicemeeter, EAPO...). So I just restarted and tried again. This time the installation was successful. But weirdly, my DAC names were all messed up ! :oops: In "Manage Sound Devices", the test sound on DAC1 was now outputting sound on DAC2, and DAC2 had lost its custom name o_O Long story short, I had to rename everything accordingly. Which makes me think of a fourth remark to the tutorial :
  • This step (installing the latest DAC driver version) should be added to this tutorial before step A. It's the very first thing that we need to do, because there's a risk that Windows messes up with the custom DAC names.

Anyway, once everything was done, I can confirm that I no longer had distortion ! :D

Unfortunately I ran into other issues that would be pointless to explain here, so I decided to uninstall everything and give it a try some other day o_O I'll come back to report about it.

Oh, one last thing : is there a way to make Voicemeeter start with Windows as minimized and in the taskbar ? Otherwise it's a bit annoying, so in that case I think I'll just start it in order to play music : turn DACs on > Start Voicemeeter > Start player > Play music. I could even make a bat script. ;)
 
That feel when you slowly figure this all out reading hundreds of posts on 20 different websites and forums piecing it all together through trial and error

then three months later sweetchaos does a comprehensive easy to follow guide...
 
That feel when you slowly figure this all out reading hundreds of posts on 20 different websites and forums piecing it all together through trial and error

then three months later sweetchaos does a comprehensive easy to follow guide...
Technically I did the first tutorial for dual listening in december, but it was with ASIO4ALL, not EAPO. Then I talked privately with sweetchaos about EAPO, and he was incredibly supportive and kind enough to do his own tutorial, which now is the way to go IMHO. :)

Also, if dual listening is your thing, then you may be interested in my upcoming app. Release date is closer than ever now. ;)
 
Nice tutorial! Even though I already did this but this tutorial got everything and even surprised me with the startup minimize trick that some people don't know. I have some questions about Viocemeeter output, those MME, WDM, KS, ASIO ones. I could use all of them, but WDM has artifacts. What is the reason for this? Also does voicemeeter banana pop up often to tell you donate or buy it? When I got voicemeeter potato it will pop up every 6 hours, quite annoying so I changed to origianl.
 
Ultra!
I love Voicemeeter.... really good stuff. Using it with my Aurora 8-channel DSP to switch between HPA and multiple active speakers, each with room correction. Nice feature is a "Dim" button to quickly reduce volume by 20 dB in 250 ms (ALT+0 in my case). ALT+M sets all to Mono, also nice to have!
attachment.php

BTW: EQ (A and B, set hotkeys if need be) can be set in VM too, but not nearly as detailed as with EQAPO. At least good enough to "spice" the sound to your liking/daily mood ;)
 
Last edited:
Technically I did the first tutorial for dual listening in december, but it was with ASIO4ALL, not EAPO. Then I talked privately with sweetchaos about EAPO, and he was incredibly supportive and kind enough to do his own tutorial, which now is the way to go IMHO. :)

Also, if dual listening is your thing, then you may be interested in my upcoming app. Release date is closer than ever now. ;)

totally missed that to be honest, maybe I did see it but quickly wrote it off as headphone only?

I think the issue is the language used is maybe more technical or specific then it needs to be and didn't come up in google, I was mainly using lehmans terms like output sound to multiple devices, as opposed to multiple dacs/headphones etc

one problem I have with voicemeeter is measurable and audible frequency cancellation and distortion when outputting the same audio to different outputs on the same dac, specifically the optical out and line out of the same USB dac, maybe your app will fix that or maybe is just a limitation of the dac itself
 
My app won't fix that, it relies on the power of EAPO to automate lots of things. Now it manages both headphones and speakers, but it still relies on EAPO. With that said, I don't know what exactly you're wanting to achieve here.
AFAIK Voicemeeter Banana works perfectly well, and it's widely used worldwide. Maybe you have a problem within your own configuration. In case of doubt, VB-Audio has its own forum where you can submit your issues.
 
My app won't fix that, it relies on the power of EAPO to automate lots of things. Now it manages both headphones and speakers, but it still relies on EAPO. With that said, I don't know what exactly you're wanting to achieve here.
AFAIK Voicemeeter Banana works perfectly well, and it's widely used worldwide. Maybe you have a problem within your own configuration. In case of doubt, VB-Audio has its own forum where you can submit your issues.

I'm wating on a cheap sound card to try eleiminate some of the variables, if that doesnt fix it I'll make an account and go over my settings with them, good luck with the app
 
I had my fair share of issues with the voicemeeter solution. There seems to be only one order and driver selection in wich my 3 soundcards work without distortion (also had to reinstall drivers for the main device). Due to these issues the HeSuVi project recommends AudioRepeater KS + VB Cable as more reliable solution for mirroring. https://sourceforge.net/p/hesuvi/wiki/Help/
I will try if this works for more than two devices.
 
Last edited:
That's funny, because I never managed to make VB Cable work : it generated random glitches every 30 seconds or so. I asked the question to Vincent Burel himself, we discussed a bit, and he couldn't find a solution. The conclusion was that it was probably due to my system, which I believe.

The other funny thing is that Voicemeeter uses the same technology as VB Cable, since it's developed by the same person. You could think of it as a VB Cable with more options. So there's no reason why one should be more reliable than the other, as said by the developer himself.

It's true that I encountered distortion issues after my first install of Voicemeeter Banana. But a clean reinstall following sweetchaos' excellent tutorial fixed them completely, and I've been using it for several months now without any issues (with two DACs and two HeSuVi installs).

To me all these issues are related to the installation process and to Windows architecture, not to Voicemeeter itself. Once the installation has completed successfully, the whole system is perfectly stable.

Voicemeeter works fine and has been widely used for years. When it doesn't work for somebody, chances are that the problem lies within that user's own system (soundcards, Windows...) rather than within Voicemeeter itself. So no, I don't trust AudioRepeater KS + VB Cable (a two-apps solution) for being more reliable than Voicemeeter. But if it works for you, then great !
 
Has anyone tried to use this setup for multichannel music instead of an AVR? Use one DAC/AMP for the front and another for the rear (equalizer APO can mix center channel/LFE to the right and left front channels). I tried this and it seems to work but it didn't sound as good as my AVR. I have a feeling there are issues with delays between the front and rear. And then there is the issue of volume control.
 
Very interesting recipe.
 
Just read this. Isn't the fact that using two USB Dacs mean you are using two asynchronous devices each with their own clock which almost certainly will never be in sync with one another? Is there something in this setup which addresses and remedies this situation?
 
Just read this. Isn't the fact that using two USB Dacs mean you are using two asynchronous devices each with their own clock which almost certainly will never be in sync with one another? Is there something in this setup which addresses and remedies this situation?
I believe that question has already been discussed. Yes, in theory the devices are not in sync with one another, but AFAIK that's not a problem. Here's why.

This topic was originally created following a private chat between sweetchaos and me. That conversation was about me wanting to have dual headphone listening sessions with my girlfriend. In that case, the fact that the DACs are not in sync doesn't really matter (at least in my case with my two E30 DACs).

With separate listeners and separate headphones, the fact that may be a small delay (probably unnoticeable anyway) between both headphones just won't affect the listening experience for any of the listeners. Even if there was a small increasing time shift between both DACs, that shift can be estimated at about a couple of samples per second (or so I've been told). For a 4-min song, that's about 480 samples. So about 0,01 second. None of the listeners would be able to tell who finished first.

Of course after 40 mins of uninterrupted music, that time shift could start to maybe become noticeable (not even sure), at about 0,1 second. But here's the trick : every time you pause/stop/restart music, the time shift is reset. So unless you wanted to listen to a very long playlist with somebody else and without ever stopping the music a single time, that wouldn't really be a problem.

Besides, I'm not an expert, but Voicemeeter has a big audio buffer that may also be helping with this. I don't know all the technical details, I can just say that it works. I'm talking from experience. In our dual headphone listening sessions it all has been working perfectly for a year or so:
  • sweetchaos' method for all the building blocks,
  • Mega Switcher for setting two different EQ presets simultaneously, one for each headphone, with real-time fine-tuning. :cool:
Maybe other people will encounter issues, but we don't. We are very happy with this. :)
 
Back
Top Bottom