Menu

Graphics Equalizer GUI for EqAPO

Juha
2013-10-09
2015-04-26
  • Juha

    Juha - 2013-10-09

    Hi!

    I prepared few GUIs for your excellent EqAPO utility. A 31-band (stereo) Graphics Equalizer and 31-band 2-channel Graphics Equalizer are already out (both v.0.20) and a 10 band parametric EQ (v.0.10) is about ready (still need to learn how to implement the curve display using VS2010C++ Form tools ...).

    EQ31 / EQ31-2 GUIs looks about this ATM (done using VS2010 C++/Forms tools):

    Not sure if ever gonna bring this onto SF but if yes then maybe redo the GUI using JUCE library.

    NOTES:
    ATM, these EQ software does not use directly EqAPO functions but just writes the config.txt file for EqAPO software. As I'm not that good in english to fully understand the GNU General Public License version 2.0 (GPLv2) document text I ask if releasing these free software (w/o licensing) breaks the GNU General Public License version 2.0 (GPLv2) rules.

    Juha

     

    Last edit: Juha 2013-10-10
  • Jonas Dahlinger

    Jonas Dahlinger - 2013-10-10

    Hello,
    your application looks quite nice, but for me the more interesting part is how you implement the graphic equalizer using E-APO's filters. Do you use regularly spaced peaking (PEQ) filters?

    About your licensing question (this is not legal advice):

    As you do not use E-APO's code but you just write the configuration file, how you license your software is not affected by the GPL, as far as I know. If you started using E-APO's code or link to it as a library and you distribute your software, you would be required to make your source code available. I see no need for you to use E-APO's code however, if you want to use it as a system-wide equalizer, because then E-APO is run inside a service and your application just provides the configuration for it. If the performance is acceptable, I suggest that you just continue writing the configuration file.

     

    Last edit: Jonas Dahlinger 2013-10-10
  • Juha

    Juha - 2013-10-10

    Hi!

    In this implementaion, both, EQ31/EQ31-2 does not use EqAPO code nor linked modules... just writing the config.txt. Today I looked closer the EqAPO sourcecode and it looks like it could be possible with not much coding to use EqAPO methods for sending the EQ data w/o need to use the config.txt (but that would mean need for taking the EqAPO source into my source...). Performance is otherwise enough good but fast chances produces some audible issues.

    These graphics EQ's uses the PK filter type with constant Q = 4.318 (So far is the value of Q (1/3 oct) a quess because of I have not checked if the result is OK :) ). Parameter EQ uses PEQ type. Implementation itself is just transfering the slider values (gain and constant frequencies) + constant Q's + master gain (preamp) into config.txt (which comes read by EqAPO automatically because of "chancenotice").

    Juha

    Exqmple config.txt:

    EQ31-2

    Pre-config.txt

    Ch1

    Channel: 1
    Preamp: 0 dB

    Filter 1: OFF PK Fc 20 Hz Gain 7,6 dB Q 4,318
    Filter 2: OFF PK Fc 25 Hz Gain 2,6 dB Q 4,318
    Filter 3: OFF PK Fc 31,5 Hz Gain 0,0 dB Q 4,318
    Filter 4: OFF PK Fc 40 Hz Gain 0,0 dB Q 4,318
    Filter 5: OFF PK Fc 50 Hz Gain 0,7 dB Q 4,318
    Filter 6: OFF PK Fc 63 Hz Gain 1,6 dB Q 4,318
    Filter 7: OFF PK Fc 80 Hz Gain 2,4 dB Q 4,318
    Filter 8: OFF PK Fc 100 Hz Gain 2,6 dB Q 4,318
    Filter 9: OFF PK Fc 125 Hz Gain 1,2 dB Q 4,318
    Filter 10: OFF PK Fc 160 Hz Gain 0,0 dB Q 4,318
    Filter 11: OFF PK Fc 200 Hz Gain 0,0 dB Q 4,318
    Filter 12: OFF PK Fc 250 Hz Gain 0,0 dB Q 4,318
    Filter 13: OFF PK Fc 315 Hz Gain 0,0 dB Q 4,318
    Filter 14: OFF PK Fc 400 Hz Gain 1,4 dB Q 4,318
    Filter 15: OFF PK Fc 500 Hz Gain 2,8 dB Q 4,318
    Filter 16: OFF PK Fc 630 Hz Gain 3,7 dB Q 4,318
    Filter 17: OFF PK Fc 800 Hz Gain 1,7 dB Q 4,318
    Filter 18: OFF PK Fc 1000 Hz Gain 0,6 dB Q 4,318
    Filter 19: OFF PK Fc 1250 Hz Gain 1,8 dB Q 4,318
    Filter 20: OFF PK Fc 1600 Hz Gain 1,8 dB Q 4,318
    Filter 21: OFF PK Fc 2000 Hz Gain 1,0 dB Q 4,318
    Filter 22: OFF PK Fc 2500 Hz Gain 0,0 dB Q 4,318
    Filter 23: OFF PK Fc 3150 Hz Gain 0,0 dB Q 4,318
    Filter 24: OFF PK Fc 4000 Hz Gain 0,0 dB Q 4,318
    Filter 25: OFF PK Fc 5000 Hz Gain 0,0 dB Q 4,318
    Filter 26: OFF PK Fc 6300 Hz Gain 1,7 dB Q 4,318
    Filter 27: OFF PK Fc 8000 Hz Gain 3,4 dB Q 4,318
    Filter 28: OFF PK Fc 10000 Hz Gain 1,9 dB Q 4,318
    Filter 29: OFF PK Fc 12500 Hz Gain 3,4 dB Q 4,318
    Filter 30: OFF PK Fc 16000 Hz Gain 4,3 dB Q 4,318
    Filter 31: OFF PK Fc 20000 Hz Gain 11,5 dB Q 4,318

    Ch2

    Channel: 2
    Preamp: 0 dB
    Filter 32: OFF PK Fc 20 Hz Gain 7,6 dB Q 4,318
    Filter 33: OFF PK Fc 25 Hz Gain 2,6 dB Q 4,318
    Filter 34: OFF PK Fc 31,5 Hz Gain 0,0 dB Q 4,318
    Filter 35: OFF PK Fc 40 Hz Gain 0,0 dB Q 4,318
    Filter 36: OFF PK Fc 50 Hz Gain 0,7 dB Q 4,318
    Filter 37: OFF PK Fc 63 Hz Gain 1,6 dB Q 4,318
    Filter 38: OFF PK Fc 80 Hz Gain 2,4 dB Q 4,318
    Filter 39: OFF PK Fc 100 Hz Gain 2,6 dB Q 4,318
    Filter 40: OFF PK Fc 125 Hz Gain 1,2 dB Q 4,318
    Filter 41: OFF PK Fc 160 Hz Gain 0,0 dB Q 4,318
    Filter 42: OFF PK Fc 200 Hz Gain 0,0 dB Q 4,318
    Filter 43: OFF PK Fc 250 Hz Gain 0,0 dB Q 4,318
    Filter 44: OFF PK Fc 315 Hz Gain -0,5 dB Q 4,318
    Filter 45: OFF PK Fc 400 Hz Gain -2,3 dB Q 4,318
    Filter 46: OFF PK Fc 500 Hz Gain -1,0 dB Q 4,318
    Filter 47: OFF PK Fc 630 Hz Gain 0,3 dB Q 4,318
    Filter 48: OFF PK Fc 800 Hz Gain 0,8 dB Q 4,318
    Filter 49: OFF PK Fc 1000 Hz Gain 0,6 dB Q 4,318
    Filter 50: OFF PK Fc 1250 Hz Gain 1,8 dB Q 4,318
    Filter 51: OFF PK Fc 1600 Hz Gain 1,8 dB Q 4,318
    Filter 52: OFF PK Fc 2000 Hz Gain 1,0 dB Q 4,318
    Filter 53: OFF PK Fc 2500 Hz Gain 0,0 dB Q 4,318
    Filter 54: OFF PK Fc 3150 Hz Gain 0,0 dB Q 4,318
    Filter 55: OFF PK Fc 4000 Hz Gain 0,0 dB Q 4,318
    Filter 56: OFF PK Fc 5000 Hz Gain 0,0 dB Q 4,318
    Filter 57: OFF PK Fc 6300 Hz Gain 1,7 dB Q 4,318
    Filter 58: OFF PK Fc 8000 Hz Gain 3,4 dB Q 4,318
    Filter 59: OFF PK Fc 10000 Hz Gain 1,9 dB Q 4,318
    Filter 60: OFF PK Fc 12500 Hz Gain 3,4 dB Q 4,318
    Filter 61: OFF PK Fc 16000 Hz Gain 4,3 dB Q 4,318
    Filter 62: OFF PK Fc 20000 Hz Gain 11,5 dB Q 4,318

    Post-config.txt

     

    Last edit: Juha 2013-10-10
  • Juha

    Juha - 2013-10-21

    Project can now be downloaded from my pages at http://jiiteepee.tripod.com/home.html

    Few users have confirmed that the EQ31GUI-2 works on Vista, 7 and 8 (32-bit/64-bit).

    Juha

     

    Last edit: Juha 2013-10-21
  • Jonas Dahlinger

    Jonas Dahlinger - 2013-10-29

    I just tried your program. It's working nicely but unfortunately, the resulting frequency response is not what is expected. It has the defined gain at the points where the PK filters have their center frequency, but in between there is no "interpolation" between the gains of the adjacent filters, instead you see ripples. This seems to be a common problem in graphic equalizers implemented as IIR filters (which is what E-APO uses) as I read in this discussion, so I can't blame you for that. I don't know how you could fix the problem, it seems to be inherent.

     

    Last edit: Jonas Dahlinger 2013-10-29
  • Juha

    Juha - 2013-10-29

    I'm aware that there are issues in FR but, I don't know how much as I have not found software for to analyze the output accurately --> trying to find a way to optimizatie is hard to do. Do you have any analyzing method/software suggestions (maybe Benchmark + ???)?

     
  • Jonas Dahlinger

    Jonas Dahlinger - 2013-10-29

    I'm just using Audacity to look at the output of Benchmark.exe . The sine sweep that is produced by Benchmark.exe is made exactly for that: It's a linear sweep, so the time is proportional to the frequency. For example, 1000 Hz is at 10 seconds while 16000 Hz is at 160 seconds. Of course, it's hard to use for the lower frequencies, but you can set the frequency range and length via command line options.

    Another possibility I used is the measurement function of Room EQ Wizard with a loopback cable from your sound card's output to its input. After you have configured Equalizer APO, you can just make a measurement in REW and you will see how the frequency response is altered. I actually used this to make sure that my implementation of the filter types is equal to REW's filters.

    There's also a tool to convert filter files back to a format that can be imported into REW. I didn't try it however.

     
  • Juha

    Juha - 2014-11-19

    Updated version for Windows 7/8/10. Moved the project to VS2013.3/4. Native 64-bit version available (excl. Vista).

     
  • Juha

    Juha - 2015-04-26

    v. 0.70 coming out soon ...

    eq31-2

    ( full size image - http://oi57.tinypic.com/2hqa1bd.jpg )

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.