IPB

Welcome Guest ( Log In | Register )

7 Pages V   1 2 3 > »   
Reply to this topicStart new topic
foo_dsp_xgeq, Graphic Equalizer
xnor
post May 7 2011, 23:15
Post #1





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



Heya,

here's another creation of mine, a graphic equalizer.

As of the current version it features:
  • 31 bands (1/3rd octave width)
  • boost/cut range of +-12 dB in .1 dB steps
  • master gain (can be set manually or automatically => prevents clipping for the most part)
  • minimum phase (=> no pre-echo)
  • approximates a smooth frequency response (=> no 'steps' between the bands)
  • import/export presets
  • mono and stereo mode


Since this is my first fb2k plugin that's a bit more complex this plugin should be considered experimental, use it at your own risk.
Please let me know if you encounter any bugs, thanks.

There's still room for optimizations and new features.. cool.gif

Download

Usage
1) Install the downloaded zip file using the Components preferences page.
2) Add "Graphic Equalizer" to the list of active DSPs (Playback - DSP Manager preferences page).
3) Configure it.

Screenshot:
Attached Image


Example frequency response in green (compared to built-in EQ in red):
Attached Image


Note that the boost in the lowest octaves isn't possible with the built-in EQ.

This post has been edited by xnor: Jan 24 2012, 15:56
Go to the top of the page
+Quote Post
mudlord
post May 8 2011, 06:08
Post #2





Group: Developer (Donating)
Posts: 806
Joined: 1-December 07
Member No.: 49165



Does this use the Shibatch EQ?
Go to the top of the page
+Quote Post
romor
post May 8 2011, 08:53
Post #3





Group: Members
Posts: 670
Joined: 16-January 09
Member No.: 65630



Thanks,
so many users lamented over this missing component biggrin.gif



QUOTE (xnor @ May 8 2011, 00:15) *
There's still room for optimizations and new features.. cool.gif

option to 'draw on' sliders with mouse click could be fine smile.gif


--------------------
scripts: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
xnor
post May 8 2011, 11:04
Post #4





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



QUOTE (mudlord @ May 8 2011, 07:08) *
Does this use the Shibatch EQ?

Nope, it doesn't use any EQ libraries. I coded this from scratch.


QUOTE (romor @ May 8 2011, 09:53) *
option to 'draw on' sliders with mouse click could be fine smile.gif

Noted on my todo list.

This post has been edited by xnor: May 8 2011, 11:05
Go to the top of the page
+Quote Post
romor
post May 8 2011, 17:56
Post #5





Group: Members
Posts: 670
Joined: 16-January 09
Member No.: 65630



QUOTE (xnor @ May 8 2011, 00:15) *
Resulting frequency response in green (compared to built-in EQ in red)

Ah, you posted new screenshot. I'll zoom mine, just in case



Would it be possible improvement in edge slopes?
I noticed same in mudlord's low/hi pass filters


--------------------
scripts: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
xnor
post May 8 2011, 18:41
Post #6





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



QUOTE (romor @ May 8 2011, 18:56) *
Would it be possible improvement in edge slopes?


I guess you mean those valleys, yes I'm still working on improving those as well as some other filter shape characteristics.

edit: I just compared the screenshot configuration from post #1 with Audition's (formerly cool edit) EQ and here my current algorithm results in a smoother frequency response!
But as you've noticed the trade-off are those valleys that result from a band configuration with larger steps. As of now you can add +0.5 dB boost before and after those +6 db bands to reduce the valleys.

Nevertheless it should work fine as it is or did you notice any stability problems or bugs?

This post has been edited by xnor: May 8 2011, 19:32
Go to the top of the page
+Quote Post
romor
post May 8 2011, 20:56
Post #7





Group: Members
Posts: 670
Joined: 16-January 09
Member No.: 65630



None, it's just too perfect smile.gif
Same as you, I noticed that some slider configuration produces smoother overall curve then CEP/Au

It uses CPU almost like built-in eq, and same as built-in it still uses CPU even with zeroed sliders (that's I guess from foobar DSP design)


--------------------
scripts: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
lvqcl
post May 8 2011, 21:08
Post #8





Group: Developer
Posts: 3362
Joined: 2-December 07
Member No.: 49183



"Save/load preset" buttons (as in built-in EQ) would be nice...
Go to the top of the page
+Quote Post
Yegor
post May 9 2011, 05:39
Post #9





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



QUOTE
option to 'draw on' sliders with mouse click could be fine
What could really be fine then is a parametric EQ with an interactive frequency response display. Is there any good reason for graphic EQs to exist as a software? So my suggestion is to apply your knowledge of DSP to make even better EQ which won't be limited to a bunch of fixed sliders.
Go to the top of the page
+Quote Post
xnor
post May 9 2011, 12:13
Post #10





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



Sure Yegor, I could start today what do you pay me? dry.gif And you might want to read an equalizer FAQ or something like that.
But let's stick to discussing the Graphic EQ plugin here, thanks.

This post has been edited by xnor: May 9 2011, 12:14
Go to the top of the page
+Quote Post
Yegor
post May 9 2011, 16:00
Post #11





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



Yes, sure. What about making the window resizable? Also, try to make automatic gain a little bit more sophisticated, i.e. take some tracks, calculate average increase for each band and use the results to make the feature more effective. I mean, it's very unlikely for mid and high frequency bands to increase the overall level by their gain values. Say, I can boost the 16k band by 7 db, but there is almost no chance that this will affect the overall level by the same value.

This post has been edited by Yegor: May 9 2011, 16:16
Go to the top of the page
+Quote Post
xnor
post May 9 2011, 18:22
Post #12





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



QUOTE (Yegor @ May 9 2011, 17:00) *
Yes, sure. What about making the window resizable? Also, try to make automatic gain a little bit more sophisticated, i.e. take some tracks, calculate average increase for each band and use the results to make the feature more effective. I mean, it's very unlikely for mid and high frequency bands to increase the overall level by their gain values. Say, I can boost the 16k band by 7 db, but there is almost no chance that this will affect the overall level by the same value.

I wish this were true but even if a certain band is down 10 dB in a spectrum analyzer doesn't mean that the wave form won't clip even if you boost that band by just 1 dB.
But you're right that the chance of clipping and overall attenuation that is needed to prevent it is decreasing.

If you want to prevent clipping at any cost then you can use the auto gain feature. If you know what you're doing just disable auto and set it manually. You could process some heavily compressed tracks from your music collection with the converter to 32 bit WAVs (with the EQ in the DSP chain and gain = 0), analyze the resulting files with ReplayGain to get the peak values and then adjust your Equalizer settings according to the formula gain = -20*log10(peak).

I can also recommend to take a look at the peak meter visualization that comes with fb2k. While it's not the most accurate tool it still can show you when something is going wrong with the levels. (Of course you have to disable the advanced limiter to see the clipping.)


Btw, new version released. Grab it from the download post.

This post has been edited by xnor: May 9 2011, 18:55
Go to the top of the page
+Quote Post
romor
post May 10 2011, 00:30
Post #13





Group: Members
Posts: 670
Joined: 16-January 09
Member No.: 65630



Thanks for the update xnor smile.gif

Impulse looks great, clicking on sliders (instead dragging the slider) now is tight - behaves as expected


--------------------
scripts: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
Bob Brines
post May 10 2011, 01:46
Post #14





Group: Members
Posts: 65
Joined: 11-May 07
Member No.: 43395



This plug-in looks like it has real promise. It needs one feature to be usable to me -- stored presets. Every time I change speakers, I need to change the EQ. I need loudness EQ's. Different genre need different EQ's. You get the picture. As this plug-in stands, it is extremely tedious to change the EQ.

Thanks for your efforts. Press on!

Bob
Go to the top of the page
+Quote Post
ustas
post May 10 2011, 06:16
Post #15





Group: Members
Posts: 17
Joined: 27-January 11
Member No.: 87718



xnor, thank you for the good job!
I have an idea to make profiles of the equalizer depend on the genre (%genre%) of music or prescribed by a special tag in the files. By analogy with the jukeboxes settings: pop, rock, classical.

It would be good to do preprocessing for different speakers (headphones). Some thing like: setting up sound of the speakers, then add the effects of pop, rock, etc. from tags.


--------------------
PEACE, Me.
Go to the top of the page
+Quote Post
xnor
post May 10 2011, 22:32
Post #16





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



QUOTE (Bob Brines @ May 10 2011, 02:46) *
This plug-in looks like it has real promise. It needs one feature to be usable to me -- stored presets.

You're right, it's tedious to change from one setup to another manually, but it's possible to use the DSP chain preset save/load feature to make things easier. Your thoughts on this?

Anyway it's on my growing to-do list. Thanks for the feedback everyone.

This post has been edited by xnor: May 10 2011, 22:34
Go to the top of the page
+Quote Post
Bob Brines
post May 11 2011, 03:08
Post #17





Group: Members
Posts: 65
Joined: 11-May 07
Member No.: 43395



QUOTE (xnor @ May 10 2011, 16:32) *
Anyway it's on my growing to-do list. Thanks for the feedback everyone.


I'll keep checking back.When presets are installed, I'll run with this.

Bob

This post has been edited by Bob Brines: May 11 2011, 03:09
Go to the top of the page
+Quote Post
tribaljet
post May 14 2011, 05:14
Post #18





Group: Members
Posts: 73
Joined: 14-January 11
Member No.: 87321



Congrats on your work, xnor. I'm glad that alternatives to the default EQ are being done, and working as a proper EQ wink.gif

There are more and more tools to be embedded natively in foobar, so your EQ could be quite good. Have you been posting updated on HF?
Go to the top of the page
+Quote Post
Chipicui
post May 15 2011, 01:39
Post #19





Group: Members
Posts: 88
Joined: 3-September 07
Member No.: 46732



Thanks for your wonderful EQ! :-)
In my humble opinion the holy grail of usability would be some sort of custom tag that would store per song values of EQ settings.
I don't understand why it is not an already common feature of high end media players as foobar...
It would help to counter-act deficiencies of old/badly mastered/live/weird eq'd music, and would provide a better, more uniform listening experience.
Go to the top of the page
+Quote Post
xnor
post May 15 2011, 18:52
Post #20





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



QUOTE (Chipicui @ May 15 2011, 02:39) *
I don't understand why it is not an already common feature of high end media players as foobar...


Afaik, the DSP interface is separated from other interfaces. To put it simple: the DSP interface basically just allows you to read audio samples (which is just a bunch of numbers), manipulate them and send them back to fb2k.

It may be possible to combine a DSP plugin with some other APIs that allow you to read tags of the currently playing song for example, but I haven't looked into the SDK thorough enough to be able to tell.
If I weren't so d*mn busy at the moment I'd look into it.
Go to the top of the page
+Quote Post
ustas
post May 15 2011, 19:30
Post #21





Group: Members
Posts: 17
Joined: 27-January 11
Member No.: 87718



QUOTE (xnor @ May 15 2011, 19:52) *
QUOTE (Chipicui @ May 15 2011, 02:39) *
I don't understand why it is not an already common feature of high end media players as foobar...


Afaik, the DSP interface is separated from other interfaces. To put it simple: the DSP interface basically just allows you to read audio samples (which is just a bunch of numbers), manipulate them and send them back to fb2k.

It may be possible to combine a DSP plugin with some other APIs that allow you to read tags of the currently playing song for example, but I haven't looked into the SDK thorough enough to be able to tell.
If I weren't so d*mn busy at the moment I'd look into it.

It will be very very good!


--------------------
PEACE, Me.
Go to the top of the page
+Quote Post
lvqcl
post May 15 2011, 19:48
Post #22





Group: Developer
Posts: 3362
Joined: 2-December 07
Member No.: 49183



It is possible to do something like this with foo_dsp_yac.
Go to the top of the page
+Quote Post
SASN
post May 19 2011, 13:51
Post #23





Group: Members
Posts: 21
Joined: 13-May 11
Member No.: 90594



I tried installing the dll for this thing via Foobar's component section, but I cannot get this equalizer to show up. I am using Foobar 1.1.6 and Windows 7, non-admin account.

Should this equalizer work with Foobar version 1.1.6?
Go to the top of the page
+Quote Post
xnor
post May 20 2011, 16:05
Post #24





Group: Developer
Posts: 592
Joined: 29-April 11
From: Austria
Member No.: 90198



QUOTE (SASN @ May 19 2011, 14:51) *
Should this equalizer work with Foobar version 1.1.6?


I just upgraded to 1.1.6 and it works fine here.
Please check that:
a) foo_dsp_xgeq is in the (installed) components list
b) Playback - DSP Manager - Graphic Equalizer is added to the active DSPs

Currently there's no other way to configure it than in the active DSPs list.
(will add this info to the first post)

This post has been edited by xnor: May 20 2011, 16:06
Go to the top of the page
+Quote Post
SASN
post May 20 2011, 19:17
Post #25





Group: Members
Posts: 21
Joined: 13-May 11
Member No.: 90594



Thanks! The equalizer now appear to work. smile.gif

From the "components" section, I installed the EQ from some folder where the dll was located. I though maybe I had to apply some admin right for this to work but apparantly that was not necessary.

I did not know about the DSP part, no wonder I could not make it work. Since I intend to rarely change the EQ it is not a bother to have to go into the preferences.

Edit: Ah, I now see that the master gain thing work automatically, by correcting for adjustment values above 0db. Nice! I guess that is to prevent adding any extra gain that might perhaps damage the speakers.

This post has been edited by SASN: May 20 2011, 19:21
Go to the top of the page
+Quote Post

7 Pages V   1 2 3 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 30th August 2014 - 16:09