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

Apo EQ--is it possible to have different EQ config files for different outputs?

JRS

Major Contributor
Joined
Sep 22, 2021
Messages
1,158
Likes
1,014
Location
Albuquerque, NM USA
I tried sourceforge, and could not find an answer, but under win 11, it gives a list of 5 options that you can choose one or more of. I use the headphone jack for my 1More earbuds, while the USB goes to a Topping DX3 Pro +. I am guessing the answer is no, but wondering if different EQ settings can be applied to different outputs. If not, is there an easier way than having 2 config files that you'd have to select before rebooting? It's a bit of a PITA to switch when I want to enjoy my Sundaras using Youtube or Amazon Music, and then watch netflix with the buds.
 
I tried sourceforge, and could not find an answer, but under win 11, it gives a list of 5 options that you can choose one or more of. I use the headphone jack for my 1More earbuds, while the USB goes to a Topping DX3 Pro +. I am guessing the answer is no, but wondering if different EQ settings can be applied to different outputs. If not, is there an easier way than having 2 config files that you'd have to select before rebooting? It's a bit of a PITA to switch when I want to enjoy my Sundaras using Youtube or Amazon Music, and then watch netflix with the buds.
I've probably misunderstood. I use the Peace popular front end for EAPO. I have multiple different headphone eq profiles. I can select very easily between them (one or 2 clicks) but they apply to whichever is the live output for windows.

Why can't you just use this but toggle when you change actual outputs? I let peace run on startup and you can have it running in the bottom right tray all the time, right click to select profile.

Edit. To directly answer your headline, I don't think you can set it up so switching output device triggers a change in profile.

Edit 2- As @Propheticus has shown below, you can do exactly what the OP is after. Clever!
 
Last edited:
Yes, you can add conditional modifier that selects a EQ config based on active output.
Will amend with an example when I'm home.

amendment:
consider a setup like this. I have an internal soundcard called Realtek and an external DAC/AMP called Loxjie
using two separate EQs for them would look like this:
1657886319109.png


There's one overall config which includes 2 separate EQ configs
Which one is active is filtered by the selected device.

Add one like this:
1657886405857.png

and then choose which device (with APO installed for it obviously) the rest of the config should apply to (filtering works top to bottom):
1657886469288.png


You can check the result per device in the bottom analysis panel by selecting it in the top-right. It should match 1 of either EQ configs and not something that looks like summing the 2 EQs.
1657887258672.png
 
Last edited:
Yes, you can add conditional modifier that selects a EQ config based on active output.
Will amend with an example when I'm home.
That sounds exactly like what I need. JimBob your answer was helpful as as well. I really don't care that they simultaneously supply different profiles, but being able to toggle one to another from the task bar would be fine as well. I forgot that the newer version of Peace allows you to change settings on the fly.
 
That sounds exactly like what I need. JimBob your answer was helpful as as well. I really don't care that they simultaneously supply different profiles, but being able to toggle one to another from the task bar would be fine as well. I forgot that the newer version of Peace allows you to change settings on the fly.
Amended my post, hopefully matches what you need and explained clearly enough.
 
That sounds exactly like what I need. JimBob your answer was helpful as as well. I really don't care that they simultaneously supply different profiles, but being able to toggle one to another from the task bar would be fine as well. I forgot that the newer version of Peace allows you to change settings on the fly.

Global Windows hotkeys can also be applied to profiles in PEACE. CTRL+ALT+0 loads the profile for my MTM monitors, CTRL+ALT+1 loads the profile for my HD660s, etc. See the number in < >...

1657888662803.png


I have each profile setup with a different colour icon, so I can tell which profile is applied without hovering over it...

1657888741319.png
1657888712567.png


Hotkey and icon are set when saving the profile...

1657888823026.png


You can also select the hotkey modifier (combination of CTRL, SHIFT, ALT) in the Hotkey tab in settings.
 
Yes, you can add conditional modifier that selects a EQ config based on active output.
Will amend with an example when I'm home.

amendment:
consider a setup like this. I have an internal soundcard called Realtek and an external DAC/AMP called Loxjie
using two separate EQs for them would look like this:
View attachment 218396

There's one overall config which includes 2 separate EQ configs
Which one is active is filtered by the selected device.

Add one like this:
View attachment 218397
and then choose which device (with APO installed for it obviously) the rest of the config should apply to (filtering works top to bottom):
View attachment 218398

You can check the result per device in the bottom analysis panel by selecting it in the top-right. It should match 1 of either EQ configs and not something that looks like summing the 2 EQs.
View attachment 218399
What program are you using for this? I can't find where this is in Peace at all.
 
The settings are in EqualizerAPO, I don't know if it's possible to add conditional modifiers using PEACE GUI.
It's okay, I managed to do what I needed through the automation window on Peace GUI. Problem was it was incredibly well hidden so it took me awhile to find. You have to click the little man to open it and then you can assign configs to be always on or when devices change and such.
 
It's okay, I managed to do what I needed through the automation window on Peace GUI. Problem was it was incredibly well hidden so it took me awhile to find. You have to click the little man to open it and then you can assign configs to be always on or when devices change and such.

Useful to know, thanks.
 
It's okay, I managed to do what I needed through the automation window on Peace GUI. Problem was it was incredibly well hidden so it took me awhile to find. You have to click the little man to open it and then you can assign configs to be always on or when devices change and such.
It's a bit late, but to clarify for others reading: My example was done in the configuration editor of the regular Equalizer APO, which the OP mentioned in the title and I use myself. It does not depict config in the addon by Peter (PEACE).
 
Yes, you can add conditional modifier that selects a EQ config based on active output.
Will amend with an example when I'm home.

amendment:
consider a setup like this. I have an internal soundcard called Realtek and an external DAC/AMP called Loxjie
using two separate EQs for them would look like this:
View attachment 218396

There's one overall config which includes 2 separate EQ configs
Which one is active is filtered by the selected device.

Add one like this:
View attachment 218397
and then choose which device (with APO installed for it obviously) the rest of the config should apply to (filtering works top to bottom):
View attachment 218398

You can check the result per device in the bottom analysis panel by selecting it in the top-right. It should match 1 of either EQ configs and not something that looks like summing the 2 EQs.
Yes, you can add conditional modifier that selects a EQ config based on active output.
Will amend with an example when I'm home.

amendment:
consider a setup like this. I have an internal soundcard called Realtek and an external DAC/AMP called Loxjie
using two separate EQs for them would look like this:
View attachment 218396

There's one overall config which includes 2 separate EQ configs
Which one is active is filtered by the selected device.

Add one like this:
View attachment 218397
and then choose which device (with APO installed for it obviously) the rest of the config should apply to (filtering works top to bottom):
View attachment 218398

You can check the result per device in the bottom analysis panel by selecting it in the top-right. It should match 1 of either EQ configs and not something that looks like summing the 2 EQs.
View attachment 218399
Can you run two outputs (usb outputs) at the same time? One for mains and one for subs?
15529B34-7902-4610-8CB6-754A745EA8A5.jpeg
 
Yes, you absolutely can have different EqAPO filters for different devices and outputs (and inputs) on the same device as long they are their own name and don't share (like maybe on a laptop the headphone out and line out are the same thing?).

in the config.txt file you write the device: followed by the device name (can be copied from the config program) and then include: the name or relative path to the text file that will store the filter settings for that particular device. The base directory would be config in the EqAPO folder.

Below is my config text file. I have a fair few text files with filters in for different purposes. I do not need to switch much, but do need to switch out filter file if using different headphones, obviously.
I have commented out including some filters with a hash symbol, this can be used to switch.
Code:
Preamp: 0 dB

Device: Speakers Realtek(R) Audio {e87e68f5-9662-4a3e-a3ba-feea8e9afb28}
#Include: Realtek_Speakers.txt
#Include VB_Cable.txt

Device: VB-Cable A VB-Audio Cable A {d4ac9b99-193f-4cca-b2a5-bbc9b201b958}
Include: VB_Cable.txt
#Include: Superlux681.txt

Device: VB-HiFi VB-Audio Hi-Fi Cable {a335837d-84dd-4bda-ad0d-a894b3a1b183}
#Include: TakstarPro82.txt
#Include: isone.txt
#Include: TakstarPro82Oratory.txt
#Include: SonataHDPro\Superlux668bT_includer.txt
#Include: SonataHDPro\Superlux681_includer.txt

Device: Sonata HD Pro SONATA USB Audio {cdc407ac-71ea-417d-b0f1-884e2db1bd45}
Include: SonataHDPro\Includer.txt
#Include: isone.txt

Device: HP Headset HP Premium Digital Headset {3ea0095c-76ee-45e3-82c4-fe5aa86d05f3}
Include: HP_headset.txt

Device: Headset Mic HP Premium Digital Headset {46414ba0-070c-4863-9205-70d1be45b245}
Include: HP_headset_mic.txt

Device: VB-Cable B VB-Audio Cable B {a964486c-5e54-452c-bfbd-e05157d0773f}
Include: CableB-Playback.txt

Device: CABLE-B Output VB-Audio Cable B {56f6e1bf-2270-4c12-8a9f-8966a2ffa85f}
Include: CableB-Record.txt

I am in the process of writing a Powershell GUI tool that can sit in the system tray and allow for selecting audio device, adjusting volume and changing out these EqAPO filters.
Enumerating audio device in Windows is a right pain and a hoop jumping exercise but is actually possible and there is a github page where someone has made a bunch of PS audio tools already.
 
Yes, you absolutely can have different EqAPO filters for different devices and outputs (and inputs) on the same device as long they are their own name and don't share (like maybe on a laptop the headphone out and line out are the same thing?).

in the config.txt file you write the device: followed by the device name (can be copied from the config program) and then include: the name or relative path to the text file that will store the filter settings for that particular device. The base directory would be config in the EqAPO folder.

Below is my config text file. I have a fair few text files with filters in for different purposes. I do not need to switch much, but do need to switch out filter file if using different headphones, obviously.
I have commented out including some filters with a hash symbol, this can be used to switch.
Code:
Preamp: 0 dB

Device: Speakers Realtek(R) Audio {e87e68f5-9662-4a3e-a3ba-feea8e9afb28}
#Include: Realtek_Speakers.txt
#Include VB_Cable.txt

Device: VB-Cable A VB-Audio Cable A {d4ac9b99-193f-4cca-b2a5-bbc9b201b958}
Include: VB_Cable.txt
#Include: Superlux681.txt

Device: VB-HiFi VB-Audio Hi-Fi Cable {a335837d-84dd-4bda-ad0d-a894b3a1b183}
#Include: TakstarPro82.txt
#Include: isone.txt
#Include: TakstarPro82Oratory.txt
#Include: SonataHDPro\Superlux668bT_includer.txt
#Include: SonataHDPro\Superlux681_includer.txt

Device: Sonata HD Pro SONATA USB Audio {cdc407ac-71ea-417d-b0f1-884e2db1bd45}
Include: SonataHDPro\Includer.txt
#Include: isone.txt

Device: HP Headset HP Premium Digital Headset {3ea0095c-76ee-45e3-82c4-fe5aa86d05f3}
Include: HP_headset.txt

Device: Headset Mic HP Premium Digital Headset {46414ba0-070c-4863-9205-70d1be45b245}
Include: HP_headset_mic.txt

Device: VB-Cable B VB-Audio Cable B {a964486c-5e54-452c-bfbd-e05157d0773f}
Include: CableB-Playback.txt

Device: CABLE-B Output VB-Audio Cable B {56f6e1bf-2270-4c12-8a9f-8966a2ffa85f}
Include: CableB-Record.txt

I am in the process of writing a Powershell GUI tool that can sit in the system tray and allow for selecting audio device, adjusting volume and changing out these EqAPO filters.
Enumerating audio device in Windows is a right pain and a hoop jumping exercise but is actually possible and there is a github page where someone has made a bunch of PS audio tools already.
Excellent! Thanks a lot for the thorough explenation!
 
Yes, you absolutely can have different EqAPO filters for different devices and outputs (and inputs) on the same device as long they are their own name and don't share (like maybe on a laptop the headphone out and line out are the same thing?).

in the config.txt file you write the device: followed by the device name (can be copied from the config program) and then include: the name or relative path to the text file that will store the filter settings for that particular device. The base directory would be config in the EqAPO folder.

Below is my config text file. I have a fair few text files with filters in for different purposes. I do not need to switch much, but do need to switch out filter file if using different headphones, obviously.
I have commented out including some filters with a hash symbol, this can be used to switch.
Code:
Preamp: 0 dB

Device: Speakers Realtek(R) Audio {e87e68f5-9662-4a3e-a3ba-feea8e9afb28}
#Include: Realtek_Speakers.txt
#Include VB_Cable.txt

Device: VB-Cable A VB-Audio Cable A {d4ac9b99-193f-4cca-b2a5-bbc9b201b958}
Include: VB_Cable.txt
#Include: Superlux681.txt

Device: VB-HiFi VB-Audio Hi-Fi Cable {a335837d-84dd-4bda-ad0d-a894b3a1b183}
#Include: TakstarPro82.txt
#Include: isone.txt
#Include: TakstarPro82Oratory.txt
#Include: SonataHDPro\Superlux668bT_includer.txt
#Include: SonataHDPro\Superlux681_includer.txt

Device: Sonata HD Pro SONATA USB Audio {cdc407ac-71ea-417d-b0f1-884e2db1bd45}
Include: SonataHDPro\Includer.txt
#Include: isone.txt

Device: HP Headset HP Premium Digital Headset {3ea0095c-76ee-45e3-82c4-fe5aa86d05f3}
Include: HP_headset.txt

Device: Headset Mic HP Premium Digital Headset {46414ba0-070c-4863-9205-70d1be45b245}
Include: HP_headset_mic.txt

Device: VB-Cable B VB-Audio Cable B {a964486c-5e54-452c-bfbd-e05157d0773f}
Include: CableB-Playback.txt

Device: CABLE-B Output VB-Audio Cable B {56f6e1bf-2270-4c12-8a9f-8966a2ffa85f}
Include: CableB-Record.txt

I am in the process of writing a Powershell GUI tool that can sit in the system tray and allow for selecting audio device, adjusting volume and changing out these EqAPO filters.
Enumerating audio device in Windows is a right pain and a hoop jumping exercise but is actually possible and there is a github page where someone has made a bunch of PS audio tools already.
Thanks, this was helpful but allow me to simplify it for others like me who might be lost:

1. Generate your filters into text then copy them into the EQAPO config directory
(C:\Program Files\EqualizerAPO\config in my case)
20240411-1241-image-eqapo-tutorial-copy-filter-texts-to-directory.png
2. Make a text file for each one of your outputs that you want separate filters for. Name it something friendly so you can find it.
20240411-1241-image-eqapo-tutorial-create-friendly-filters.png
3. Go into the EQAPO Editor, add a Control/Device module, click "change", deselect Select all devices, select the device you want.
("Speakers" is the first and "SPDIF/ADAT (1+2)" is the second in my case. Do these separately)
4. Click the small double down arrow on the bottom left and click Edit Text
5. The GUI of the module will change to show a text field that is your Device ID including the long GUID code. Copy that including the "Device:" part
20240411-1241-image-eqapo-tutorial-copy-hardware-guid.png
6. Go back to your friendly text file and paste it in.
7. Beneath that, write "Include:" and write the name of your text file with the filters. Include the .txt extension.
20240411-1241-image-eqapo-tutorial-paste-info-in-friendly-file.png
8. Go back to the EQAPO editor and add Control/Include then use the folder icon to navigate to this friendly text file.
9. Do this for all required hardware configurations.
20240411-1241-image-eqapo-tutorial-select-friendly-files-for-each-hw.png
10. Enjoy isolated filters.

I just kind of jumped into the middle of this thread so I apologize if this was already covered. Looking through, I see some other screenshots. Hopefully I'm adding something of value here.
 
Last edited:
Thanks, this was helpful but allow me to simplify it for others like me who might be lost:

...

I just kind of jumped into the middle of this thread so I apologize if this was already covered. Looking through, I see some other screenshots. Hopefully I'm adding something of value here.

Looks like it (your post) might be easier for other people who are less tech-savvy (correct term? feels dated *shrug*) to follow.
Well, people have multiple forums users to bother if they need some help organising things with EqAPO. All good.
 
Looks like it (your post) might be easier for other people who are less tech-savvy (correct term? feels dated *shrug*) to follow.
Well, people have multiple forums users to bother if they need some help organising things with EqAPO. All good.
Oh yes, less tech-savvy is appropriate! For example, removing the 'pound hashmarks' as a way to disable options was entirely new to me upon seeing it here last week. Watching a WSL tutorial today, I see that this is a common way to do a boolean false within a text environment.

We're all learning but some of you are ahead of some of us :)
 
Back
Top Bottom