Welcome, Guest
Username: Password: Remember me

NOTE: This is a "Community" forum. Please be mindful that community members are here to help as part of a community effort. We therefore appreciate your effort in keeping this forum a happy place!

If you have a specific issue (e.g. hardware, failure) and want help from our support team, please use our tech support portal (Support menu - > Contact Us).
Thanks a lot of your help in making a better community.
  • Page:
  • 1

TOPIC:

Recommendation for FIR filter generator, etc.? 5 years 4 months ago #25380

  • jasonwang99
  • jasonwang99's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 19
  • Thank you received: 0
Hi all,

I'm considering inserting an OpenDRC between my AVR pre-outs and nCore mono block amplifiers that will power a pair of corner loaded line arrays. (About 25 Vifa TC-9 3.5" drivers per side). Another option that I've considered is using an HTPC to manage them, but for many reasons, the OpenDRC product meets the need better. A couple questions for the group:

1. Would you expect the 6000 taps maximum to be sufficient to optimize the line arrays? I know some PC based systems have gone so far as to use 10x as many taps. I'm unlikely to go that far regardless given potential sync issues with other channels and video. But I have not been able to find any guidance on whether my application is particularly complicated or not and how to relate that to the number of taps for "optimal" performance.
2. Which FIR generator would you recommend? Obviously, I'd prefer free and easy to use... but am open to options that won't break the bank and also provide great results. AcourateDRC seems to be a popular one. But it wasn't clear to me why it was any better than RePhase or other freeware. I'd also prefer a Mac version if possible as I already have a new Macbook Pro (but could borrow a PC.)
3. Which OpenDRC product would you recommend? Analog to analog is the most straight forward option. But I believe I could also get a digital output from my receiver for the front L/R as an input and I also have an Emotiva XDA-2 that could take a digital output before feeding the amplifiers. (The amps take a balanced input and the XDA also has balanced outs if that makes any real difference to you.)

Thanks in advance for your insights!

Please Log in or Create an account to join the conversation.

Last edit: by jasonwang99.

Recommendation for FIR filter generator, etc.? 5 years 4 months ago #25386

  • Richard
  • Richard's Avatar
  • Offline
  • Premium Member
  • Premium Member
  • Posts: 136
  • Thank you received: 72
Q1 answer...
OpenDRC 2x2 models have 6144 taps which gives you 128ms of impulse response to play with at 48kHz sample rate.
If you make a phase linear impulse it usually looks roughly symmetrical with the highest peak in the centre. ie. at position 64ms, so you get 64ms worth of time before central peak and 64ms worth of time after central peak to play with.
So to answer - if the reciprocal transfer function of your speakers is shorter than 128ms total duration, then 6144 taps is enough.
If it is longer than 128ms, then the correction filter will probably need to be smoothed with a windowing function and it will lose some effectiveness at lower bass frequencies.
If yourcorrection filter is mostly IIR type basic EQ corrections, with perhaps some linear phase crossover, the decay skirts will dominate to the right hand side of the main peak, so you might be able to offset the impulse location earlier to the left, away from dead centre position, to get a longer decay skirt length after the main spike thus giving better LF extension. But remember you'll have to take that new offset into consideration also with any tweeter impulses too if it's a multiway speaker and make sure your impulses match each other for time alignment.

Q2 answer...
rePhase without doubt.

Q3 answer...
For stereo OpenDRC-DI is the best choice, if you can accommodate digital in and out then you'll be confident of the DSP process applied.
Avoid the cheap converters and stay digital if you can. OpenDRC-DA is next best option. OpenDRC-AN only if you have to. Many people have complained about hissy noise floor, although their gain staging may not be ideal???

Advice...
Download rePhase and HOLMimpulse now for free and start working on your filters today before you buy anything. If you have a measurement mic (even cheap Behringer ECM8000 or equivalent for around £30) just get some measurements recorded and use HOLM to graph them and export tx files, which can be imported into rePhase and then start trying to correct them. rePhase can show you the blue line of what your theoretical filter target currently is, and the red line of what the actual FIR filter generated will achieve at current settings, which you can then fiddle with and try to improve. Actual results running in OpenDRC-DI hardware are basically whatever you see on the rePhase graph screen. It may not sound like audiophile nirvana unless your measurements were really impeccable and representative, but as far as the underlying FIR process and operation goes, it works. So try it today for free and see what you come can up with... Then you'll know if what you want is realistically achievable - ie. how much dB gain do you need to apply in your FIR to make bass flat down to 20Hz or whatever? Probably quite a lot...! Is that gonna work safely? Do you have enough amplifier headroom? Does it force the overall output level to become very quiet to allow for that huge bass boost? Will it still play loud enough at real world volume levels? Do your measurements look pretty much how you expected? How well are the L and R speakers matched to each other?

You can answer all your own questions by applying theory carefully with common sense and caution.
The following user(s) said Thank You: jasonwang99

Please Log in or Create an account to join the conversation.

Last edit: by Richard.

Recommendation for FIR filter generator, etc.? 5 years 4 months ago #25387

  • jasonwang99
  • jasonwang99's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 19
  • Thank you received: 0
Thanks Richard! That's super helpful. I do have a few follow up questions.

Q1:
I'm not sure I followed everything you said. For example, how do I know if the reciprocal transfer function is shorter than 128ms? My guess is I need to take some measurements and see what the rePhase spits out?

Q2:
rePhase seemed to be good but I'll have to figure out if I can run it on Wine. I've heard good things about DRC designer too but it's not Mac friendly either...

Q3:
I will likely go with the DI version since my receiver will have a digital out and I have a decent DAC already. Is it safe to assume that the digital outputs of receivers send all the audio signals that have already been decoded from Dolby or whatever? And that you can choose via the OpenDRC interface which channels (in this case, the front L/R) are to be "extracted" and output to the DAC?

re: Advice
First, thanks! And is there a reason you prefer HOLMimpulse to REW? I actually already have a calibrated miniDSP mic so that's good. I just need to get my room (and the rest of the house... we're doing a full gut and remodel) and speakers actually built.

Please Log in or Create an account to join the conversation.

Last edit: by jasonwang99.

Recommendation for FIR filter generator, etc.? 5 years 4 months ago #25391

  • john.reekie
  • john.reekie's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Posts: 3775
  • Thank you received: 1588

Is it safe to assume that the digital outputs of receivers send all the audio signals that have already been decoded from Dolby or whatever?


No... check the manual. I believe that if set to output stereo PCM they will usually do a mixdown, which is not what you want.

And that you can choose via the OpenDRC interface which channels (in this case, the front L/R) are to be "extracted" and output to the DAC?


No, OpenDRC units are stereo in/stereo out only. They do not "understand" multichannel.
I am not miniDSP support.

"You must ask the right questions." - Dr. Alfred Lanning's hologram.
-> Have you read the User Manual??
-> Have you drawn and posted a diagram?
-> Have you posted a screenshot?
-> Have you posted your config file?
The following user(s) said Thank You: jasonwang99

Please Log in or Create an account to join the conversation.

Recommendation for FIR filter generator, etc.? 5 years 4 months ago #25399

  • Richard
  • Richard's Avatar
  • Offline
  • Premium Member
  • Premium Member
  • Posts: 136
  • Thank you received: 72
Hi Jason,

Q1 answer...
You won't really know what your speaker's transfer function looks like until you finish building the speakers and measure their acoustic output and see some graphs on your computer screen. Obviously, they're YOUR custom-made speakers in YOUR house, so I couldn't possibly know or tell you how they'll measure or what your room response will look like, or what their transfer function might look like, or whether the reciprocal correction FIR filter is gonna exceed the available filter length of 128ms or not. That's up to you to find out yourself...
However, I can probably explain a little about how FIR filters with certain number of taps behave, and how to calculate their limitations...

This information is widely available from theory textbooks and on the internet anyway...

I have not been able to find any guidance on ... the number of taps for "optimal" performance.

The number of taps defines the accuracy of the filter in dividing the audio bandwidth down into multiple discrete small intervals, with a certain fixed frequency spacing between them.
If there are N coefficients (taps) there will be (N / 2) – 1 intervals between 0Hz and Fs /2.
So for 6144 taps in the OpenDRC running at 48000 Hz sampling rate (Fs) there are 3071 intervals between 0Hz and 24kHz (the Nyquist limit). These are equally spaced, on linear freq axis, so they occur every 7.815 Hz interval.

The max duration length of the 6144 tap FIR filter in this case is 128 milliseconds, due to the sample rate of 48kHz.
This is because each individual sample period is 1/48000th of a second = 0.0000208333 seconds = 20.8333 microseconds
So every input audio sample is sent through a convolution process with the filter's 6144 samples...
...resulting in total 6144 x 0.0208333 milliseconds = 128 millisec total duration of output data for each convolved sample.
Or another way of looking at it is 0.128 seconds x 48000 Hz = 6144 taps
Therefore whatever processing you wish to apply has to fit within that 128ms duration of the correction filter size. That puts a restriction on the elbow-room you have to work especially for big phase shifts at low frequencies, which may exceed 128ms margin.
If you want a longer duration FIR filter you need either more taps, or a lower sampling rate to make the maths work in your favour.
FYI. Currently 128ms or 6144 taps from the OpenDRC is about the largest capacity for sale on the market from any realtime hardware FIR convolution machine, and can only really be outperformed by a software convolver like BruteFIR running on a computer.

So how much you can do with 128 milliseconds???? Depends on how far you need to push and pull your various frequencies.
Consider 20Hz bass frequency has 20 cycles per seconds, so each complete wavelength lasts 1/20th of second = 50 milliseconds.
360 degrees of phase shift at 20Hz would therefore consume 50 ms of time displacement.
At lower frequencies and bigger degrees of phase shift the time required can be calculated. You may not be able to apply enough phase shift to completely phase correct speaker's output down to 10Hz for example...
It all depends how your speakers actually measure and how far exactly you might want to correct.
The shape of the correction filter impulse changes as you displace different frequencies by different amplitude and phase shifts, away from the pure vertical Dirac spike of a bypass linear filter towards the undulating mountain range with peaks and valley ripples either side of it.
You're best seeing these effects by looking at the filters in a DAW waveform editor software screen.

By windowing the correction filter if it does exceed 128ms you can avoid any nasty edge discontinuities and have a smooth correction filter which does as much as it can within it's working region and just becomes progressively less effective than ideal at very lowest frequencies beyond its working range. There are numerous window options you can try out onscreen in rePhase to see which is best for you.

Q2 answer...
I only use Windows, and don't own a Mac so I can't really advise. All of these free programs are definitely Windows compatible.

Q3 answer..
As John Reekie said already, it's just a 2x2 machine expecting basic 2 channel audio. Same with digital or analogue versions.

Q4 answer...
I have rePhase and REW too, but I can get everything done in rePhase and HOLM so I don't bother with REW all that much, but if it works for you then great. I had already downloaded and learned my way round HOLM before I downloaded REW so I just feel more comfortable with HOLM. I record my Earthworks M50 mic measurements using external studio recording hardware anyway, and just import the WAV files into HOLM afterwards.
The following user(s) said Thank You: jasonwang99

Please Log in or Create an account to join the conversation.

Last edit: by Richard.
  • Page:
  • 1
Moderators: devteam