diyAudio

diyAudio (https://www.diyaudio.com/forums/index.php)
-   PC Based (https://www.diyaudio.com/forums/pc-based/)
-   -   CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc. (https://www.diyaudio.com/forums/pc-based/349818-camilladsp-cross-platform-iir-fir-engine-crossovers-correction-etc.html)

phofman 28th February 2020 09:48 AM

Some daemons use SIGHUP for reload-configuration request.

Does the requesting process need to know the change has been accepted and performed, or is the asynchronous handling sufficient? Perhaps it may need it for GUI etc.

Tfive 28th February 2020 09:51 AM

I'd be happy with just firing SIGHUP and assume that charges are respected.

HenrikEnquist 28th February 2020 10:04 AM

Quote:

Originally Posted by Tfive (https://www.diyaudio.com/forums/pc-based/349818-camilladsp-cross-platform-iir-fir-engine-crossovers-correction-etc-post6101407.html#post6101407)
One thing I definitely don't want to loose is instant parameter changing without any interruption of the sound. I have sliders on the filter configuration dialogs which of course can spit out lots of updates per second. Currently I have a memory-mapped-file interface in my LADSPA plugins to achieve seamless, uninterrupted updates of parameters.

Please don't feel bothered by me, just stating my needs here. If it can't be done easily in your design then I won't (and can't) beat you to it ;)


PS: it's just a curious coincidence that I thought about moving the DSP processing to a monolythic process instead of LADSPA plugins since a few weeks. It just offers so much greater flexiblity. So then I stumbled upon your project and it immediately seemed like a good candidate to just plug in there. And FIR filters are on my todo list also, so your software would tick that box "for free" :)

Ok I see, then a tcp socket or something like that is really needed. I'm not opposed to adding that, but it will take some time. I'll investigate a bit to get a better idea.
How would you enter (or change) FIR parameters in the gui? Do you just pick a file, or actually enter or modify all the coefficients in an editor?


SIGHUP for reloading would also work, but config reloading might not help with very fast changes from a slider.

Tfive 28th February 2020 10:11 AM

Actually at the moment I don't at all because FIR filters are not implemented as of now. I was planning to let the user choose a file with fuller coefficients, do some sanity checks on it and then hand it to the filter plugin/engine...

CharlieLaub 28th February 2020 12:05 PM

Quote:

Originally Posted by Tfive (https://www.diyaudio.com/forums/pc-based/349818-camilladsp-cross-platform-iir-fir-engine-crossovers-correction-etc-post6101407.html#post6101407)
One thing I definitely don't want to loose is instant parameter changing without any interruption of the sound. I have sliders on the filter configuration dialogs which of course can spit out lots of updates per second. Currently I have a memory-mapped-file interface in my LADSPA plugins to achieve seamless, uninterrupted updates of parameters.

A shameless plug here... I am currently developing (AKA hacking together) a LADSPA based FIR plugin. I recently mentioned it over here. Read that post for some implementation details.

Tfive: I use a FIFO to communicate parameters between the LADSPA plugin and the (separate) process that I call the "FIR engine" that does the actual convolution. I was not anticipating updating the FIR filter after the filter processing had been launched because this would involve moving thousands of coefficients over the FIFO, but it could certainly be done within the framework I have created. I just do not see a need for it, and most LADSPA hosts do not easily support real time changes to parameters. Instead the user can kill and restart with the new ones, if a change is desired. That is perfectly adequate for my intended application: loudspeaker crossovers.

Tfive 28th February 2020 02:14 PM

Quote:

Originally Posted by CharlieLaub (https://www.diyaudio.com/forums/pc-based/349818-camilladsp-cross-platform-iir-fir-engine-crossovers-correction-etc-post6101538.html#post6101538)
A shameless plug here... I am currently developing (AKA hacking together) a LADSPA based FIR plugin. I recently mentioned it over here. Read that post for some implementation details.

Tfive: I use a FIFO to communicate parameters between the LADSPA plugin and the (separate) process that I call the "FIR engine" that does the actual convolution. I was not anticipating updating the FIR filter after the filter processing had been launched because this would involve moving thousands of coefficients over the FIFO, but it could certainly be done within the framework I have created. I just do not see a need for it, and most LADSPA hosts do not easily support real time changes to parameters. Instead the user can kill and restart with the new ones, if a change is desired. That is perfectly adequate for my intended application: loudspeaker crossovers.


I already read your posts, if i go the LADSPA route I will probably contact you about these, but as I mentionend in the pulseaudio world LADSPA plugins have some serious drawback which I'd like to mitigate.

HenrikEnquist 28th February 2020 06:02 PM

Quote:

Originally Posted by CharlieLaub (https://www.diyaudio.com/forums/pc-based/349818-camilladsp-cross-platform-iir-fir-engine-crossovers-correction-etc-post6101538.html#post6101538)
A shameless plug here... I am currently developing (AKA hacking together) a LADSPA based FIR plugin. I recently mentioned it over here. Read that post for some implementation details.

It would be fun to take a look at your project. Do you have the code published somewhere?

Tfive 28th February 2020 06:27 PM

Yep, looki looki: Pulseaudio Crossover Rack :: T5! DIY Audio Software & Hardware :)

HenrikEnquist 28th February 2020 07:02 PM

Quote:

Originally Posted by Tfive (https://www.diyaudio.com/forums/pc-based/349818-camilladsp-cross-platform-iir-fir-engine-crossovers-correction-etc-post6101967.html#post6101967)

Ah I meant CharlieLaub's FIR plugin. Your repos are easy to find :)

HenrikEnquist 28th February 2020 09:08 PM

It turned out to be quite easy to reload on SIGHUP. I'm playing around with that in a (very) preliminary version. This is working better than expected.
If I reload a config with only BiQuads it's completely inaudible. If there are a FIR filters in the config there is a slight click since the overlap buffers of the FIR filters get cleared.

It needs some cleaning up and more testing before I upload, but that shouldn't take long.


All times are GMT. The time now is 09:55 AM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 17.65%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Copyright ©1999-2021 diyAudio

Wiki