[LAU] Re: How do I create a FIR-filter with opensource tools?
Michael Jarosch <[email protected]>
| Newsgroups | gmane.linux.audio.users |
|---|---|
| Message-ID | <[email protected]> |
Thanks, Fons! So, no quick and dirty solution but I expected sth like that. Will take some time to get through your advices. Problem: I tried to get through the DRC-manuals some years ago and got lost configuring it. Just couldn't finish. Let's see how far we get this time… Greets! Mitsch Am 28.03.25 um 11:30 schrieb Fons Adriaensen: > On Fri, Mar 28, 2025 at 12:47:06AM +0100, Michael Jarosch wrote: > >> Steps missing? Or am I totally wrong, here? What tools can I use? > So you want both crossover and room correction filters. > The first thing to do is to separate the two problems: > > 1. First implement the crossover processing. > 2. Once you have that in place, measure the speakers and/or > room and implement the correction filters. > > One reason is that (1) will affect (2), the other is that > combining the two from the start is more complicated and > a sure recipe for errors. > > When you have both, it would be possible to combine the > two into a single FIR filtering operation, but there is > nothing gained by doing this and I would advise strongly > against doing this. > > 1. For the crossover you can use zita-lrx wich will > provide 2, 3 or 4 way Linkwitz-Riley filters along with > configurable gain and delay for each band. Zita-lrx is > a command line Jack application. Once you have the correct > configuration file you can run it with a single command > which will also to care of Jack connections. > > > 2. For speaker/room correction the best open-source solution > is DRC (Digital Room Correction) by Denis Sbragion. > <https://drc-fir.sourceforge.net/> > DRC uses some quite sophisticated methods to 'invert' the > measured responses. Doing this correctly is not as simple > as you may imagine. For example you will need frequency- > dependent windowing - at low frequencies you can correct > both the room and the speakers, while for higher frequencies > only the 'direct' sound should be corrected. The DRC manual > goes into a lot of detail to explain all of this and you'll > need some time to absorb and understand all of it. But AFAIK > this is the only tool that gets it right. > > To measure the speaker/room response you can use the tool > provided by DRC, or e.g. Aliki, or zita-jacktools (more > about that later). > > To do the actual filtering you can use jconvolver. > > 3. An alternative approach is to use zita-jacktools for > everything. This is a collection of DSP processsors. > Each of them is a Jack application and also a Python > class (the actual DSP is of course all done in C++). > It has both crossover filters and convolution processors, > and a lot more. > > Using this you could create a simple Python script > that combines all the processing. One advantage is > that since everyhing is controlled by Python, you > can easily add a GUI (using e.g. PyQt) or remote > control. > > You could also use zita-jacktools to automate all > the measurements, so you can repeat them easily. > > Just write if you need more help. > _______________________________________________ Linux-audio-user mailing list -- [email protected] To unsubscribe send an email to [email protected]