I tried it just now and it worked. I imported a measurement from .frd in the main window, then just clicked the EQ button on the top row. The measurement I imported was there right away, I didn't need to do anything more.Unfortunately I did not manage to import a .frd file into the equalizer section of REW. What are the steps to do so? Of course overlays can be made in the REW main SPL window, but at the end of the day we need filter coeffs. for the corrective filter, did we not?
Yes, Importing the .frd works fine. But how to import a desired target into the equalizer window? I do not immediately see an import function there.
The only way to import a target curve seems to be by using the "house curve" feature. But that doesn't seem to support phase, just magnitude. So probably not very useful. I also can't get the EQ window to plot the phase at all. So on closer inspection rew isn't very useful for this after all..Yes, Importing the .frd works fine. But how to import a desired target into the equalizer window? I do not immediately see an import function there.
Henrik, you may want to ask John Mulcahy about available options at Official REW (Room EQ Wizard) Support Forum | AV NIRVANA .
Yeah that's probably the way to go. Unless there is a way I haven't found, two changes would be needed to enable this use case.Henrik, you may want to ask John Mulcahy about available options at Official REW (Room EQ Wizard) Support Forum | AV NIRVANA .
- The EQ window should plot phase (the data must already exist behind the scenes, just the curve is missing)
- It should be possible to use any existing curve as the EQ target.
I think a request for new features should come from someone who needs them. That's probably not me since I usually make my filters in Octave (but with a plan to rewrite all of that in Python). I only use REW for taking the measurements and for that it already works fine.
Ha, ha, That "someone" is probably me...
But then again I would like to ask Henrik what his preferred workflow in optimizing filters is. Would you care to reveal that more in detail other than referring to Octave?
This question goes beyond personal interest: loudspeaker software designers seem to design their software according their personal approach and preferred workflow, which may be somewhat different from how others work. In x/o optimization their are several ways to skin the cat.
But then again I would like to ask Henrik what his preferred workflow in optimizing filters is. Would you care to reveal that more in detail other than referring to Octave?
This question goes beyond personal interest: loudspeaker software designers seem to design their software according their personal approach and preferred workflow, which may be somewhat different from how others work. In x/o optimization their are several ways to skin the cat.
I do this so rarely that I haven't thought about any systematic method. The filters I'm using now are the latest from a long slow evolution. I was using EqualizeAPO for room correction already before I started playing with any active crossovers, with fairly mild corrections implemented with IIR Peaking filters, all of it below 100Hz.Ha, ha, That "someone" is probably me...
But then again I would like to ask Henrik what his preferred workflow in optimizing filters is. Would you care to reveal that more in detail other than referring to Octave?
This question goes beyond personal interest: loudspeaker software designers seem to design their software according their personal approach and preferred workflow, which may be somewhat different from how others work. In x/o optimization their are several ways to skin the cat.
So for the crosover, I started out with standard filters in EqualizerAPO. I made measurements of woofers and tweeters, then added notches, peaks, shelves etc until they were both flat a bit past the crossover point. (My drivers are reasonable flat already so nothing drastic was needed.) Then I added the actual crossover, LR4, and fine-tuned the delay. This took a lot of time and it took quite a few iterations until I was happy with it.
I was running it like that for some time and was very happy with it. But then I wanted to try a linear phase crossover. For that I made a simple Matlab script for generating windowed sinc functions. I then saved impulse responses for high- and lowpass as wav (for the convolver of EqualizerAPO) and just swapped the LR4 for the FIR. For simplicity I kept the corrections of the drivers as IIR. This again took a few iterations to find a suitable filter length. I liked what I heard and the temporary solution with IIR corrections and FIR crossover became sortof permanent.
Next step was when I switched to linux and BruteFIR. (Shortly before this we had moved, and the new place is pretty good already without room correction so I didn't set that up again) This meant I couldn't keep the IIR filters, but since I was happy with my filters I decided to make FIR filters that just mimic the IIR+FIR from before. So another bunch of Matlab scripts. First I made functions fo calculate the frequency and impulse responses for the IIR filters in EqualizerAPO. This looks a lot like the Biquad class here: camilladsp/show_config.py at master * HEnquist/camilladsp * GitHub and in fact I copied a lot of code for generating Biquad coefficients from that script into CamillaDSP.
Once I had those scripts ready I just made new impulse responses that contain both the old FIR crossover and IIR corrections. Since then I switched to CamillaDSP but I'm still using the same filters. Since CamillaDSP can do IIR I will set up the same kind of room correction again as soon as I have some time. (This was actually one of the reasons why I wrote CamillDSP.)
So in summary, a slow and complicated method I wouldn't advice anyone to copy. If I were to start over today, I wouldn't go via the IIR corrections. Instead I would make a new Python script to import .frd files, calculate the corrections to make the drivers fit some target curve, and then and then add a windowed sinc crossover. For room correction, I would still use the IIR approach.
I already gave a link (post #15) to site discussing of method called parallel filtering. There are links for ready to use code (Matlab/Octave) where you can give an IR file ((uses .mat format files but you can give the IR directly to this variable in question (do not load .mat then)) as a parameter and let the code calculate filters to match the given IR response. One of demos has an interactive plot (designer) where you can add/remove poles to get better match.
Yes that is probably a good match for Bodens use case. It would probably work for me too, but I prefer to do things in my own way just because.I already gave a link (post #15) to site discussing of method called parallel filtering. There are links for ready to use code (Matlab/Octave) where you can give an IR file ((uses .mat format files but you can give the IR directly to this variable in question (do not load .mat then)) as a parameter and let the code calculate filters to match the given IR response. One of demos has an interactive plot (designer) where you can add/remove poles to get better match.
- Home
- Source & Line
- PC Based
- How to Configure a 7.1 PC Soundcard as an Active Stereo Crossover?