Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: System-wide PulseAudio convolver? (Read 3688 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

System-wide PulseAudio convolver?

I'm on Ubuntu now, and it uses PulseAudio (my previous OS - Debian did not use it) for which I know nothing. It seems like well integrated in system, and probably very hard to get rid of (if there is any need to)

I made impulse to correct bass response from my speakers to my liking, and I want to use it system-wide (for any audio/video player)
I have JACK and I can set it to use jack-convolve, but not all players can use jack, and I don't run it always also, so I wanted to make this PulseAudio system, read my impulse and process it system-wide.

I googled a bit before, found something about module-ladspa-sink, but it's not clear (syntax usage) how can I make it convolve my impulse, plus lots of threads about users having trouble with it

Maybe someone here has idea how can I set PulseAudio convolve my impulse?

System-wide PulseAudio convolver?

Reply #1
Syntax was not problem at all. Problem was to to find LADSPA Impulse convolver.
plugin.org.uk offers one: http://plugin.org.uk/ladspa-swh/docs/ladsp...tml#tth_sEc2.58 but it ships with predefined impulses without possibility to use your own.

I downloaded source to see if I can put my impulse in it and then compile, but format of this impulses wrapped in .h header files is unknown to me: http://bazaar.launchpad.net/~ubuntu-branch...head:/impulses/
Could it be one channel normalized WAVE data? Who knows. They are called from http://bazaar.launchpad.net/~ubuntu-branch...ead:/imp_1199.c with probably this function as relevant: 77:impulse2freq() I neither understand C nor have knowledge to reverse what is the format of those included impulses. If someone knows about please let me know.

Another possibility that might probably work is Brutefir. This program, that can run as daemon is spread on multiple levels of operation. Like many Linux programs it's documentation consists of some nerd talk explaining science, without single example of how it's supposed to be used in reality. Googling around I found some "specialized" examples, but without decrypting the meaning of ".brutefir_convolver" configuration file

All in all so much damn trouble to make this work, that it does not seem worth even if you give your patience. Possibility to customize aspects in Linux are vast, but obstacles in understanding so many aspects to just make single step, makes it impossible for common user.

 

System-wide PulseAudio convolver?

Reply #2
I downloaded source to see if I can put my impulse in it and then compile, but format of this impulses wrapped in .h header files is unknown to me

Format of impulse files is single channel normalized pcm data. I transformed my impulse to this format, then replaced one of the provided impulses with it and changed two more files for acceptance of this new impulse under new name.
It installed fine. I tested plugin with Audacity and all was fine.
Problem was to tell PulseAudio to load this plugin, but simpler was to just add it in ~/.asoundrc

Result dropped me down - sound was awful, volume was fluctuating. It turned out that this in non-RT plugin so can't be used for RT processing

It's hard to believe that from all those numerous LADSPA plugin there exist only one for convolution - mono, non RT and with hardwired impulses

Back to Jack