Re: PulseAudio Equalizer Script
Quote:
Originally Posted by Wipster
Hi,
First let me say great work with the equalisation script, its helped me almost get the sound response I wanted from my computer.
How tricky would it be to write a script like this (or adapt this) to work with another LADSPA plugin (fil-plugin's filters) which provides a 4 band parametric equaliser which I think would be highly desired for sound engineers/enthusiasts. I think this one seems to be pretty good, if 4 bands where not enough would it be possible to 'chain' single-band parametric?
The interface already has the capability of using other LADSPA plugins if you feed it a customized preset file, but there are some limitations due to the way that I designed the GUI, and also due to PulseAudio's LADSPA support.
Take a look at one of the preset files, perhaps you might understand better.
Here's the "Laptop" preset (/usr/share/pulseaudio-equalizer/presets/Laptop.preset) with explanations of each line added:
Code:
mbeq_1197 -> this is the plugin label + _ + plugin unique ID (which is the format that PulseAudio needs when specifying the LADSPA plugin)
mbeq -> this is the plugin label (also needed by PulseAudio)
Multiband EQ -> this is the "friendly" plugin name to be used by the interface.
2 -> this is the preamp level (which is currently ignored)
Laptop -> the name of the preset
15 -> the number of bands used by the plugin, which will follow below
-1 -> band 1's value
-1 -> band 2's value
-1 ..
-1 ..
-5 ..
-10 ..
-18 ..
-15 ..
-10 ..
-5 ..
-5 ..
-5 ..
-5 ..
0 -> band 14's value
0 -> band 15's value
50 -> band 1's frequency (only used to display on the interface)
100 -> band 2's frequency (only used to display on the interface)
156 ..
220 ..
311 ..
440 ..
622 ..
880 ..
1250 ..
1750 ..
2500 ..
3500 ..
5000 ..
10000 -> band 14's frequency (only used to display on the interface)
20000 -> band 15's frequency (only used to display on the interface)
I've written the interface to expect a simple layout such as the above - X amount of bands, X amount of frequencies.
The mbeq_1197 LADSPA plugin is quite simple, conforming to the above, containing just 15 bands within its parameters:
Code:
conn@dimension:~$ analyseplugin mbeq_1197
Plugin Name: "Multiband EQ"
Plugin Label: "mbeq"
Plugin Unique ID: 1197
Maker: "Steve Harris <steve@plugin.org.uk>"
Copyright: "GPL"
Must Run Real-Time: No
Has activate() Function: Yes
Has deativate() Function: No
Has run_adding() Function: Yes
Environment: Normal or Hard Real-Time
Ports: "50Hz gain (low shelving)" input, control, -70 to 30, default 0
"100Hz gain" input, control, -70 to 30, default 0
"156Hz gain" input, control, -70 to 30, default 0
"220Hz gain" input, control, -70 to 30, default 0
"311Hz gain" input, control, -70 to 30, default 0
"440Hz gain" input, control, -70 to 30, default 0
"622Hz gain" input, control, -70 to 30, default 0
"880Hz gain" input, control, -70 to 30, default 0
"1250Hz gain" input, control, -70 to 30, default 0
"1750Hz gain" input, control, -70 to 30, default 0
"2500Hz gain" input, control, -70 to 30, default 0
"3500Hz gain" input, control, -70 to 30, default 0
"5000Hz gain" input, control, -70 to 30, default 0
"10000Hz gain" input, control, -70 to 30, default 0
"20000Hz gain" input, control, -70 to 30, default 0
"Input" input, audio
"Output" output, audio
"latency" output, control
The fil-plugins LADSPA plugin is more complicated:
Code:
conn@dimension:~$ analyseplugin filters.so
Plugin Name: "4-band parametric filter"
Plugin Label: "Parametric1"
Plugin Unique ID: 1970
Maker: "Fons Adriaensen <fons@kokkinizita.net>"
Copyright: "GPL"
Must Run Real-Time: Yes
Has activate() Function: Yes
Has deativate() Function: Yes
Has run_adding() Function: No
Environment: Normal or Hard Real-Time
Ports: "Input" input, audio
"Output" output, audio
"Filter" input, control, toggled, default 0
"Gain" input, control, -20 to 20, default 0
"Section 1" input, control, toggled, default 0
"Frequency 1" input, control, 20 to 2000, default 200, logarithmic
"Bandwidth 1" input, control, 0.125 to 8, default 1, logarithmic
"Gain 1" input, control, -20 to 20, default 0
"Section 2" input, control, toggled, default 0
"Frequency 2" input, control, 40 to 4000, default 400, logarithmic
"Bandwidth 2" input, control, 0.125 to 8, default 1, logarithmic
"Gain 2" input, control, -20 to 20, default 0
"Section 3" input, control, toggled, default 0
"Frequency 3" input, control, 100 to 10000, default 1000, logarithmic
"Bandwidth 3" input, control, 0.125 to 8, default 1, logarithmic
"Gain 3" input, control, -20 to 20, default 0
"Section 4" input, control, toggled, default 0
"Frequency 4" input, control, 200 to 20000, default 2000, logarithmic
"Bandwidth 4" input, control, 0.125 to 8, default 1, logarithmic
"Gain 4" input, control, -20 to 20, default 0
The interface could be modified to support the fil-plugins plugin properly, but I'm not sure if it's worthwhile (and I don't think that a regular screen would fit all the details onto the interface without scrolling).
Finally, I don't think you can chain multiple LADSPA plugins together - or at least if it were possible, it would greatly increase CPU usage and latency to make it impractical. The interface would also become far too complicated.
Quote:
Would this be something you would be interested in pursuing for greater sound customisation or could you offer some tips you might have on this subject if I where to give it a go.
Thanks and best regards,
Wip
I'm not sure if it's worthwhile. The next upstream release of PulseAudio will feature built-in equalization that is not related to my interface or LADSPA plugins, and will probably offer better quality/latency etc.
Re: PulseAudio Equalizer Script
Is there a way to specify the frequencies which are modified by the equalizer ?
I would really be interested in removing some very specific frequencies at
233, 466, 932 and 1864 hertz.
Thanks for the script.
Re: PulseAudio Equalizer Script
Hi psyke83 thanks for getting back to me so quickly.
Quote:
Originally Posted by
psyke83
I'm not sure if it's worthwhile. The next upstream release of PulseAudio will feature built-in equalization that is not related to my interface or LADSPA plugins, and will probably offer better quality/latency etc.
Ah I didn't realise this was the case, thats good to hear (heh) I shall keep my eyes open for that one.
I think the interface would be big enough to fit the details needed, for instance this is the interface for that plugin for LV2:
http://nedko.arnaudov.name/soft/lv2f...art/lv2fil.png
If the PulseAudio equaliser doesn't do parametric I think I'l have a tinker with that, strip out the dials and replace with text boxes see if I can get something working, be good experience anyway.
Thanks again.
Re: PulseAudio Equalizer Script
Thanks for this great script, sorted out my audio problems on my Dell Precision M90, Ubuntu Lucid.
Re: PulseAudio Equalizer Script
Thanks for this great script. Compensates for overly bass bias of my otherwise good sound system. Love the way this is out of sight, universal, and easily changed. I just upgraded to Lucid 10.04 on a home built desktop, ran the script with no issues at all. Thanks again!:guitar:
Re: PulseAudio Equalizer Script
Quote:
Originally Posted by
CCC999
Thanks for this great script. Compensates for overly bass bias of my otherwise good sound system. Love the way this is out of sight, universal, and easily changed. I just upgraded to Lucid 10.04 on a home built desktop, ran the script with no issues at all. Thanks again!:guitar:
Note, after using for a few hours I noticed a consistent pause in all applications. Rather than leaving it on, I'll just use it as needed - still just what was needed for Pulse!
Re: PulseAudio Equalizer Script
I just have a few questions.
In order to get a decent volume, I have the preamp set to 1.7. Unfortunately this causes distortion whenever it peaks. Listening to Metallica or any other heavy metal is particularly bad. I can drop the volume and its OK, but its very low. Is there a way to just up the base volume level?
Second, I saw this one earlier in the thread but did not see a fix. When I do a full reboot I have no sound whatsoever. When I try and open any of the pulseaudio apps I get a "connection failed" error. I then have to kill anything trying to play audio, open the equalizer, shut it off, open the pulse manager, turn the equalizer back on and re-apply the settings. Not a huge issue as I only do a full reboot about once a month and there are no issues with suspend.
If there has been fixes around, sorry, just call me an idiot and point me in the right direction. Thanks
Re: PulseAudio Equalizer Script
Quote:
Is there a way to just up the base volume level?
Not without decreasing the midrange and treble a little. That's why it's called an equalizer. If there's distortion, then the sound is not equalized.
Re: PulseAudio Equalizer Script
I've been having some problems trying to remove the plugin :(
I used apt-get --purge remove to uninstall the software, but it doesn't seem to have removed everything, as I have to manually reselect "Internal Audio Analog Surround 5.1" instead of "LADSPA Plugin Multiband EQ on Internal Audio Analog 5.1". I have tried removing the mbeq_1197.so file, but that broke my sound completely (so I have since restored it).
That was probably completely the wrong way to go about removing it completely, so any help would be gladly accepted :)
Thanks
Edit: Never mind, I found the equaliser stuff at the bottom of the config file in ~/.pulse
Re: PulseAudio Equalizer Script
You rock!!!! This just made my Sennheisers so happy!