...Is what I'd like to say. I've attached it in it's current form. It's based of the LADSPA sink though it would seem that following a working state, it will move to a filtering api in someone elses work. Equalization frequencies and coefficients are specified in two arrays and hardcoded in (the coefficients are linear,not in dB). at the moment. But I'm having a bit of a problem. I need a fixed amount of data before I can process a block and pulseaudio doesn't usually like to give me that block without dropouts and other problems as the cost. The trouble routine is module-equalizer-sink.c:270 sink_input_pop_cb. The amount of data requested each processing iteration is chosen indirectly by the window_size parameter (hardcoded in pa__init). The actual amount of data is R, this is calculated right below. This value works for my laptop w/ mplayer and ao=pulse for some reason but not my desktop. I found it completely by accident and have no idea how to find others. Suggestions are very welcomed as I'm out of ideas. And finally, if you have hawk-eyes, I believe I have some type of uninitialized memory read in here somewhere as there is an audible pop from time to time, even with no frequency modification. Seemingly random. As for motivation: Why do an equalizer when there's mbeq from the LADSPA? Well, it turns out that 1)the frequency bands (hz) used/defined there!=frequencies we speak of naturally. They are proportional, however. Also, frequencies beyond 1024 (in mbeq's proportion hz domain) are simply not modified. I also believe there is an error with some of the dsp logic aside from that but it doesn't manifest very well (in particular, the data is windowed twice, pre-fft and post-ifft). 2)Aliasing occurs in processing because the DFT is not sampling at a sufficient rate (should be 32khz or 44.1khz or 48khz for most of you, who has 1024hz audio??) I also don't think it should be such a hassle to change the frequency band coefficients and instead will be opting towards a gui so users can see frequency modification in realtime, the only real way things like this are tunable. --Jason -------------- next part -------------- A non-text attachment was scrubbed... Name: equalizer.patch Type: text/x-patch Size: 31672 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20090716/1120e8c7/attachment.bin>