Home Theater Forum and Systems banner

Software equalizer for use with REW on Windows

126K views 232 replies 54 participants last post by  ja00 
#1 ·
Hi,
this post is about Equalizer APO, an open source equalizer for Windows. (as it is free, this should not be regarded as advertising)

I have been using Room EQ Wizard for some time together with a BFD and with the kX driver but could not find a system-wide equalization solution in software that just works on all sound cards. When I adopted Windows 7 as my primary operating system I noticed its integrated home theater effects, which are available with many sound card drivers but which do not include a parametric equalizer. As I found out, it is possible to develop custom audio effects since Windows Vista and so I began working on this missing feature. I call the result "Equalizer APO".

Equalizer APO is a system-wide parametric equalizer for Windows. It is implemented as an Audio Processing Object (APO) for the system effect infrastructure introduced with Windows Vista. The reason I post this in the REW forum is that Equalizer APO can use the filter settings from REW with minimal effort by just exporting the filter settings as a text file, which becomes a configuration file for Equalizer APO. In contrast to most hardware equalizers there are virtually no limits on filter count and channel count.

You can find more information at http://sourceforge.net/projects/equalizerapo and, of course, download the installer. I would really appreciate some feedback. If you have any questions or objections, please reply to this post.
 
See less See more
#2 · (Edited)
Dude - this is amazing. Thank you for all of your work - would it be possible to add the capability of applying impulse responses via the 'APO method'? Thank you for your work on this: I have been looking for this functionality for quite some time now. I have found many 'workarounds' for most of my systems, however this significantly simplifies laptop audio processing for things other than foobar2k :) wow. Thank you!

I haven't used it yet however I will definitely check it out and give more feedback - first thing I say is impulse response convolution though :)

EDIT/addition: I am a bit curious, when I get into the "Sound" properties in windows, and for example, I click on "Speakers (Realtek High Definition Audio), is the "Enhancements" tab related to the APO stuff at all, will something new show up in the list? On some computers (a laptop of mine) there is no Enhancements tab, however under the "Advanced" tab there is a section called "Signal Enhancements" where you can check "Enable audio enhancements"... Obviously I have yet to install and mess around: a side note: whatever the answers to my questions about the Enhancements or Signal Enhancements options are, I am pretty sure that installing the generic "Microsoft HD Audio" (this is probably the wrong name) drivers the Enhancements section will show up/be enabled; which may be useful to someone.
 
#3 ·
Hello Chester, first of all thank you for your interest.
would it be possible to add the capability of applying impulse responses via the 'APO method'?
Basically, there are no limitations to the way an APO processes the audio data. As I'm also a user of foobar2000's Convolver plugin, I thought about the possibility to create a convolver APO as this would be far more flexible than just a parametric equalizer. But there are two reasons why I decided to go the peq way:
1. As an APO does system-wide audio processing it has to work for all applications. This means that it may only induce minimal latency. This is in contrast to a convolver in an audio player like foobar2k, where latency is not really relevant or it can even be completely avoided because the player knows the audio data it will play back in advance. Achieving low latency using a convolver without knowing about the future audio data, e.g. in interactive applications, makes the convolution quite computationally intensive because you have to use partitioned convolution (you can see this in the Convolver DirectShow filter).
2. Actually, there are algorithms for performing non-uniform partitioned convolution, which is more efficient when trying to achieve low latency, but these are patented, unfortunately. Although these patents are invalid in Europe, as far as I know, I prefer to completely avoid legal trouble.

So, by just implementing a parametric equalizer, I avoid any problems with latency or high cpu usage and the algorithms for this are easily available in the public domain. I can see that it's more work to realize room correction using parametric filters instead of using automatic tools like DRC, but for me it was more important to have a solution that works for all applications.

when I get into the "Sound" properties in windows, and for example, I click on "Speakers (Realtek High Definition Audio), is the "Enhancements" tab related to the APO stuff at all, will something new show up in the list?
Actually, the Enhancements tab is directly related to the APO stuff as it shows the APOs that are supplied by your audio driver. But, Equalizer APO will not be added to that list after it is installed, because unfortunately it's not possible to just add further entries to the list. Instead, I would have to completely reimplement the whole property page. The one thing that affects Equalizer APO is the "Disable all enhancements" check box, as it also disables Equalizer APO.
On some computers (a laptop of mine) there is no Enhancements tab, however under the "Advanced" tab there is a section called "Signal Enhancements" where you can check "Enable audio enhancements"
Exactly, for devices without the "Enhancements" tab, the "Enable audio enhancements" check box is just the inverse of the "Disable all enhancements" check box. Thus, it has to be enabled for Equalizer APO to work.

As you see, there's no graphical configuration interface for Equalizer APO. Configuration is just done by editing configuration files. For more information, you can read the "Configuration tutorial" in the documentation wiki on the SourceForge page of Equalizer APO. Please report if you have any problems getting Equalizer APO running.
 
#4 ·
New version 0.6

Hello again,
did you try to get Equalizer APO running? I'm afraid if you tried it on Windows 7 x64 you will most likely not have been successful. I was finally able to test the 64 bit version and immediately discovered a showstopper bug that prevents a correct installation.

But now I have released a new version (0.6) that fixes this bug and also contains some improvements. May I ask you to try again? You can just install over the previous installation folder if you didn't uninstall it. Please report if you have any issues.
 
#151 ·
Re: New version 0.6

Hello again,
did you try to get Equalizer APO running? I'm afraid if you tried it on Windows 7 x64 you will most likely not have been successful. I was finally able to test the 64 bit version and immediately discovered a showstopper bug that prevents a correct installation.

But now I have released a new version (0.6) that fixes this bug and also contains some improvements. May I ask you to try again? You can just install over the previous installation folder if you didn't uninstall it. Please report if you have any issues.
Hi Matrix86 I thought you might want to know that your "showstopper bug" is still very much in evidence in the latest version available from Sourceforge (EqualizerAPO64-0.8.1). I installed it on my machine running Windows 7 Professional 64 bit and it brought everything to a screeching halt. It corrupted the registry so badly I couldn't boot into safe mode, boot to last known good configuration, or even effect a repair running the recovery console from disc. The only thing I could do was reformat and begin anew. I have spent the past two days getting things back to some semblance of normal. That will teach me not to keep current backups--a practice I intend to maintain religiously from now on! :T

Anyway I just thought I would pass that on to you.
 
#7 ·
I want to give a try to this usefull tool. I'm wondering if this tools work on all channel at the same time or if we can define specific correction for each individual channel.

I want to use it for my Home Theatre with 7.1 configuration. How should i proceed?

I have tried REW years ago and it looks like things are getting much easier, by generating a correction file.

I was looking for a software to auto-calibrate the sound (i use my HTPS as a pre-amp conencted to a aplifier in analogue) but it doesn't existe. It loooks like REW+APO Eq is doing almost the work.

Arnaud.
 
#8 ·
I'm wondering if this tools work on all channel at the same time or if we can define specific correction for each individual channel.
Currently Equalizer APO will apply the same set of filters to all channels. This has technical reasons but it is definitely possible to change the implementation to allow setting individual filters. I take this as a feature request.

I want to use it for my Home Theatre with 7.1 configuration. How should i proceed?
You can begin with subwoofer equalization, which is the task that Equalizer APO is suited best for in its current state.

I was looking for a software to auto-calibrate the sound (i use my HTPS as a pre-amp conencted to a aplifier in analogue) but it doesn't existe.
Did you have a look at DRC (http://drc-fir.sourceforge.net/)? I never used it myself, but if you don't need low latency and system-wide equalization, using a convolver together with a DRC-generated impulse response might be a solution for you.
 
#12 ·
I tried your software and installed on a win7 32.

I have a Asus xonar hdav and it looks like the apo is not working. I opened the config file and whatever value i change to preamp the sound stay the same. In the sound property there is no enhancement whatsover nor a disvale enhancments box. Is that possible the Asus simply disable the APO. Is there a way to gforce the APO charging even if the sound card is not recognized for such enhancement?

I really need to do something for my subwoofer. REW measurement looks just terrible.
 
#13 ·
Equalizer APO currently supports only sound card drivers that are already using APOs. If your sound card driver doesn't use any APOs by itself, it might still be possible to add APO support by adding the needed registry entries. I don't have any sound card to test this, unfortunately, so I can't add this functionality without your help.

May I ask you to execute this command on the command line? (Press Windows key+R and copy&paste the line)
Code:
regedit /e c:\export.reg HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio
It will export the registry path where APOs are associated to sound devices to C:\export.reg. Please send me the resulting file export.reg via PM.
 
#19 ·
As I read from the .reg file you actually installed Equalizer APO for some outputs of the Realtek sound card and the HDMI output but it is not installed for the loudspeaker output of the Xonar HDAV audio device. Please run the Configurator utility of Equalizer APO and make sure that you install it for the Xonar sound card. It should be possible, I tried it on my PC by partially importing your registry file and running Configurator.
 
#20 ·
It is working. In fact i updated drivers with an alternate driver for xonar: uni xonar. It activated apo, but i forgot to run configurator after updating driver.

Is there a way to apply apo only tu subwoofer? It sounds like in your post i may install apo specifically for this channel.

Thanks anyway for your support and your tool.
 
#23 ·
I just tried it out on the Windows 8 x64 evaluation. Fortunately, it works as flawlessly as on Windows 7. I didn't need to make any changes as the APO system seems to be completely unchanged, which is good. Therefore you should not have any problems using Equalizer APO after upgrading.
 
#26 ·
Thank you for a great software!

I had a test drive with it and it seems to be working nicely. I was able to make my stereo speaker setup sound noticeably better with just a little effort.

Are you going to implement possibility to adjust each channel separately? That would be great, especially with surround speaker sets. What kind of latency this software causes? I still haven't made enough tests to see if it causes lip sync problem for video sources.

I couldn't find any real reviews or even not too many user comments about Equalizer APO - that's weird because this kind of software can be very useful for many of us! It would be nice to see how this software can compete, quality wise, against "hardware" solutions, like Genelec DSP, Audyssey or external EQs / signal processors.

Ps. You could definitely make some extra money if you develop Equalizer APO more user friendly (=graphical UI) - this kind of almost unique program doesn't have to be free :)
 
#29 ·
Hello, thank you all for your feedback. As I don't have the time to answer all your questions at once, I will answer in multiple posts.

Are you going to implement possibility to adjust each channel separately? That would be great, especially with surround speaker sets.
Yes, this is the next thing I will implement, it will likely be the main feature of version 0.8.
What kind of latency this software causes? I still haven't made enough tests to see if it causes lip sync problem for video sources.
I made some measurements now using a loop-back connection. Unfortunately, the latency that is caused by the APO system itself seems to be around 10 milliseconds. This is not the fault of Equalizer APO however, as it also happens when enabling other APO effects (like Microsoft Home Theater Effects). The parametric equalizer implemented in Equalizer APO does not create additional latency, because it uses IIR filters, which don't require prebuffering (in contrast to FIR filters).

I think the latency of 10 milliseconds should not be noticable as lip sync issues, as it's not that high. As I read, the Windows mixer causes about 30 milliseconds of latency anyway, so for applications that can tolerate the mixer latency, the APO latency should also be bearable. If your sound card already uses an APO for signal processing (my Creative card uses an APO for CMSS upmixing for example) then Equalizer APO should not increase the latency.

I couldn't find any real reviews or even not too many user comments about Equalizer APO - that's weird because this kind of software can be very useful for many of us! It would be nice to see how this software can compete, quality wise, against "hardware" solutions, like Genelec DSP, Audyssey or external EQs / signal processors.
Although the download numbers are very encouraging now, I think Equalizer APO is still mostly unknown and therefore not reviewed. Maybe someone who owns such hardware could compare the quality of the signal output.
 
#27 ·
I've installed the Equalizer on 2 Win7SP1-64 systems and it works perfectly on both. One system has the built-in realtek and a M-audio Fasttrack and they also both work. The m-audio has no APO settings but the Equalizer installed and worked.

After using it for a few days I have one question/wish: On low sound levels I miss the possibility to add a loudness correction to the sound, these enhancements are no longer selectable in the realtek options. Would it be possible to add a loudness option or another form of Dynamic EQ to the Equalizer?

And thanks for making this very nice piece of software.

Richard

P.S: one small installer issue: the cancel button says "Abbrechen" instead of cancel, no problem for a dutch guy like me living 3KM from the german border but it might be confusing for some .
 
#32 ·
After using it for a few days I have one question/wish: On low sound levels I miss the possibility to add a loudness correction to the sound, these enhancements are no longer selectable in the realtek options. Would it be possible to add a loudness option or another form of Dynamic EQ to the Equalizer?
Mmh, dynamically changing EQ settings based on sound level is not something that I planned to add, neither is it that easy to implement, but I might consider it in the future.

P.S: one small installer issue: the cancel button says "Abbrechen" instead of cancel, no problem for a dutch guy like me living 3KM from the german border but it might be confusing for some .
Thank you for reporting that issue. Don't know how I could overlook that for so long when testing.
 
#28 ·
Hi - thanks for making Equalizer APO available. I'm looking forward to being able to use it for system-wide sound on PCs, but I'm struggling to get good results. I've opened audio in Goldwave (a piece of sound editing software) and used its parametric equalizer to find settings which are suitable for boosting vocal frequencies and
decreasing the volume of background noise. The frequencies I chose are these:

Band 1: cf 60 Hz, width 60, gain -70
Band 2: cf 250 Hz, width 250, gain -20
Band 3: cf 1000 Hz, width 1000, gain 21
Band 4: cf 3500 Hz, width 3500, gain 10
Band 5: cf 11000 Hz, width 11000, gain -10

But when I transfer these across to Equalizer APO, the effect is very different from that of Goldwave. Am I missing something? I'm running Windows 7.

Thanks for your help.
 
#33 ·
I've opened audio in Goldwave (a piece of sound editing software) and used its parametric equalizer to find settings which are suitable for boosting vocal frequencies and
decreasing the volume of background noise. The frequencies I chose are these:

Band 1: cf 60 Hz, width 60, gain -70
Band 2: cf 250 Hz, width 250, gain -20
Band 3: cf 1000 Hz, width 1000, gain 21
Band 4: cf 3500 Hz, width 3500, gain 10
Band 5: cf 11000 Hz, width 11000, gain -10

But when I transfer these across to Equalizer APO, the effect is very different from that of Goldwave. Am I missing something?
I tried to reproduce your problems. I used the output of the benchmark tool that comes with EqualizerAPO (which outputs a linear sweep, so that you can read the frequency response from the amplitude). First I used GoldWave to apply your PEQ settings to the wav file, then I set the corresponding settings in RoomEQWizard and created an Equalizer APO configuration. Executing the benchmark tool then gave me a result quite similar to GoldWave's result. I attached a pdf file (to work around the forum's resolution limit) which shows the wave files from GoldWave and Equalizer APO in Audacity, together with the frequency response that RoomEQWizard predicts. If you look closely, you can see a difference. Actually, Equalizer APO is closer to RoomEQWizard than GoldWave.

This is the EqualizerAPO configuration that I used (mostly generated by RoomEQWizard):
Code:
Preamp: -20 dB
Filter  1: ON  PK       Fc    60,0 Hz  Gain -70,0 dB  Q  1,00
Filter  2: ON  PK       Fc     250 Hz  Gain -20,0 dB  Q  1,00
Filter  3: ON  PK       Fc   1.000 Hz  Gain  21,0 dB  Q  1,00
Filter  4: ON  PK       Fc   3.500 Hz  Gain  10,0 dB  Q  1,00
Filter  5: ON  PK       Fc  11.000 Hz  Gain -10,0 dB  Q  1,00
 

Attachments

#31 · (Edited)
Signed up to say thanks for your work, I've been desperately searching for a professional audio interface with an onboard EQ but they all cost a fortune, I just wanted to cut the bass to my monitors at night and now I can :)

I hope you keep working on the software, if you added a basic tray GUI with the ability to save different EQ profiles you could fill a strangely overlooked niche, maybe accept paypal donations or something.

*edit*

I do have one question, I've uninstalled one of my soundcards and removed all the drivers but I can still see the "EMU E-DSP" listed in the configuration tool, any idea why?
 
#40 ·
I hope you keep working on the software, if you added a basic tray GUI with the ability to save different EQ profiles you could fill a strangely overlooked niche
I might add something like this in the future, but I'm not sure yet how it will be.
I do have one question, I've uninstalled one of my soundcards and removed all the drivers but I can still see the "EMU E-DSP" listed in the configuration tool, any idea why?
Somehow a registry key must have been left there. Did you uninstall Equalizer APO before removing the drivers?
I've noticed a small issue, windows voice synthesis for Ease of Access is distorted, it might be because support for my sound card (Focusrite Scarlett 2i4) is experimental but when I disable EQ the Microsoft synth voice works properly again.
I tried it myself and can't reproduce the problem. The voice synthesis is undistorted with Equalizer APO active for me. That the installation for your sound card was labeled as "experimental" just means that your sound card driver didn't install an APO by itself, which is a case I could not really test, but I don't think the distortion is related to that. Does the distortion also happen when you remove all of your filters and just have Equalizer APO running without actually doing EQ? Maybe experiment with preamp and see if the distortion persists.
 
#34 ·
I have a problem with Equalizer APO. If i use this tool and a filter textfile form Room EQ Wizard i get a limitation in my sound. For example:

If i play a bass intensive song the loudness reduces if there is a lot of bass (bass-drum). If the bass is over the loudness gets back to normal. How can i put this off? I use V0.7
 
#41 ·
If i play a bass intensive song the loudness reduces if there is a lot of bass (bass-drum). If the bass is over the loudness gets back to normal. How can i put this off? I use V0.7
Equalizer APO itself doesn't do any limiting on its output nor does it apply any dynamic loudness correction. This must be caused by a setting in your sound card driver or your audio hardware. You could look into the enhancements tab of your sound device in the control panel and make sure that there are no enhancements selected or have a look into the configuration tool of your sound card if there is one. Also make sure that you apply a negative preamp if your filter configuration results in an amplification above 0 dB.
 
#35 ·
Amazing work! This just saved me a lot of money - and D/A conversions in the signal chain - instead of buying specific hardware to do this. When the multi channel version comes I will buy a new soundcard with decent analogue outputs instead of using my current on board soundcard and scrapping the old SPDIF for good.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top