• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Limitations of MiniDSP

Keith_W

Major Contributor
Joined
Jun 26, 2016
Messages
3,206
Likes
7,416
Location
Melbourne, Australia
... or any other DSP with only 1024 taps per channel.

Over the weekend, I went to a friend's place to help generate some filters for his system. His system consists of 2 subwoofers and 2 mains, with a MiniDSP SHD, which accepts a 2 channel input, convolves filters, and has 4 analog outputs. It has built-in Dirac, which I am unfamiliar with (and he is not confident that he has used Dirac properly), so my plan was to use Acourate to perform all the measurements and corrections, and figure out how to export it to his MiniDSP. I brought along my RME Fireface UC interface, which has 8 channels analog out.

After I did all the measurements, I made the corrections, and generated a crossover filter for his subwoofers. It looks like this:

1704938555369.png



Red/Green lines: Left and Right channel generated by Acourate. It looked pretty good, and we had a quick listen using my interface and it sounded great.

However, Acourate has 65536 taps per channel, and to get it to work with MiniDSP I had to cut it down to 1024 taps. Using Acourate's "CutNWindow" function, I reduced the taps down to 1024. This was the result (I have only displayed one channel for clarity):

1704938936382.png


Note where I placed the marker, this was at about 43Hz. I did a quick calculation - 44100Hz sampling rate / 1024 = bin size 43Hz. In other words, you only have two bins to correct < 100Hz.

You can also see:

- the fine corrections for subwoofer amplitude are gone
- the crossover slope has changed

I have no doubt that this difference would be audible. It is better than no correction at all, but there to me there should be no doubt that with a side-by-side comparison with a more powerful DSP engine, the differences should be heard.

And then there was the issue of exporting these FIR filters to the MiniDSP. My plan was to export the filters from Acourate in .WAV format, then use REW to convert the .WAV to MiniDSP compatible biquad .TXT format. I kept on failing (examination of the .TXT file shows zero values for all the corrections), so I asked a more experienced friend for help since I have never done this before, and this procedure is new to me. That's when I learnt that this particular MiniDSP model does not support FIR filters.

I suppose I knew the difference between 65536 taps and 1024 taps already, but I thought that ASR might be interested to visually see the difference between 65536 taps and 1024.

So, if 1024 taps is not enough, how many taps would be enough? I performed the "CutNWindow" operation again, selecting different tap outputs:

1704940961707.png


(Apologies for the typo, it should be 8192 not 8182). You can see bass resolution increasing as sample rate goes up. By 32768 taps it is starting to look like a reasonable approximation of the original curve, by 65536 it looks perfectly smooth. I would say at least 8192 taps should be the minimum, but the more you have the better.

At this point you might be wondering whether you can really hear the effect of higher resolution correction. To be honest, I am not so sure myself. I know that there should be a measurable difference which should probably disappear by 32768 taps, but whether this is audible or not is another story.
 
That's when I learnt that this particular MiniDSP model does not support FIR filters.

This makes your whole post kind of pointless, doesn't it? Also why limit to 1024 taps?

Not to mention that Dirac uses a combination of IIR / FIR. It would be very easy to make minimum phase IIR corrections with PEQ and then use FIR to linearize the phase response of the crossover.

Michael
 
This makes your whole post kind of pointless, doesn't it? Also why limit to 1024 taps?

My understanding is that this MiniDSP model has 4096 taps over 4 channels, so 1024 taps each. I had to reduce the number of taps before attempting to load it into his MiniDSP. If you have a better way of doing it, I am all ears. I would love to help my friend save some money and use his existing solution. How many taps should I decimate to, for a MiniDSP SHD?
 
Yeah… just split the workload. IIR is what those PEQ/biquads for anyway. Although, I am rather not thrilled that the HT does not have PEQ in the input stage — it really sucks. You are forced almost need to have to use/purchase Dirac.
 
My understanding is that this MiniDSP model has 4096 taps over 4 channels, so 1024 taps each. I had to reduce the number of taps before attempting to load it into his MiniDSP. If you have a better way of doing it, I am all ears. I would love to help my friend save some money and use his existing solution. How many taps should I decimate to, for a MiniDSP SHD?

Max is 2048 for a single channel. But the sampling rate makes it effectively 1024 anyway. I’m actually using FIR on the miniDSP 2x4HD for both sub out and one main channel speaker.
 
My understanding is that this MiniDSP model has 4096 taps over 4 channels, so 1024 taps each. I had to reduce the number of taps before attempting to load it into his MiniDSP. If you have a better way of doing it, I am all ears. I would love to help my friend save some money and use his existing solution. How many taps should I decimate to, for a MiniDSP SHD?

The SHD cannot apply user defined FIR filters so why are you worrying about FIR taps? A more interesting comparison would be to run Dirac and see what correction it generates and compare it to what you would have done manually. Magnitude correction is trivial with IIR, phase correction is where the benefit of FIR is seen. To be clear, I am not convinced Dirac does a whole lot of phase correction at low frequencies.

Yeah… just split the workload. IIR is what those PEQ/biquads for anyway. Although, I am rather not thrilled that the HT does not have PEQ in the input stage — it really sucks. You are forced almost need to have to use/purchase Dirac.

x2. Input FIR would allow for much more efficient allocation of taps for linearizing crossovers.

As the SHD is only a two channel Dirac device, it is my understanding that Dirac correction is applied on the input which would be the most efficient allocation of taps.

Michael
 
Last edited:
Fewer taps results in a less accurate EQ, but usually it's not off by enough to matter and it isn't hard to touch it up and get a great result.
 
Using linear phase FIR filters to EQ a frequency response is the wrong way of doing it. You should use IIR, or the PEQs as it’s called. But … the number of PEQs is limited to 10 per channel. That is a real limitation of the MiniDSP. Using both input and output PEQs will effectively double that though.
 
Using linear phase FIR filters to EQ a frequency response is the wrong way of doing it. You should use IIR, or the PEQs as it’s called. But … the number of PEQs is limited to 10 per channel. That is a real limitation of the MiniDSP. Using both input and output PEQs will effectively double that though.

You can also implement biquads in the crossover section (up to 8 max) which gives you a little bit more flexibility.

Michael
 
I use FIR on my MiniDSP flex boxes to create linear phase crossovers only. All EQ is done with PEQs dialed in manually.
I use different number of taps on each FIR filter to save the most taps for low frequency crossover points. A crossover at 5 kHz can be done with as little as 100 taps. Using different length FIRs will of course create different filter delays, which must be compensated for.
 
Great example of why FIR IIR is probably better for low frequency corrections unless you have a great need for extra control over phase. Frequency resolution is really important when a whole octave is only 20-30hz. :)
 
Last edited:
I also has some experience with the Flex Eight. It can run FIR at the input only. That’s mostly useful for phase correction… and not much else I think.
 
Great example of why FIR is probably better for low frequency corrections unless you have a great need for extra control over phase. Frequency resolution is really important when a whole octave is only 20-30hz. :)
Not with 2048 taps at 96 kHz sample rate…
 
Hi folks!

My (maybe wrong) impression is that the available miniDSP portofolio is not entirely considered: I'm using the "ages old" openDRC for my Project. This unit provides 6144 Filtertaps at 48kS/s (that's my accepted compromise to get FIR filtering ;)). No, minDSP does not support Dirac on this device (anymore), but Filters can be generated with Accourate, Rephase and so on. Another advantage of the openDRC (in my view anyway) is that you can use a DAC of your preference...

Another point on FIR filter usage in general: Having used DEQX PDC for many years with FIR cross overs and linearization, my experience is that not having/using FIR <300Hz did not hurt sound significantly and had the advantage of a reasonably low latency which greatly supports TV, music video and movies watching with the stereo set.

Greetings,
Winfried
 
I wrote a small HTML script a while ago to convert REW .wav files to MiniDSP .bin format (attached). Perhaps, this is a good place to share it.

1706583045297.png


It will convert a REW exported wave file (i.e with the export settings below for 2x4 HD) to MiniDSP compatible 32-bit float IEEE-754.bin format from any web browser (it's platform free):

1706581392354.png
1706581450348.png


to a .bin file identical to one created in rePhase i.e with these settings:

1706581583020.png


It is quite useless since you cannot do much with 1024/2048 taps in the bass region as OP has demonstrated. Perhaps this is why John didn't ever add it to REW but I guess it could be of some limited use for OpenDRC owners with 6144 taps. Inversion filters come to mind but since inversion requires a lot of zero padding for the FFT, I guess that is also not going to be too useful.

Your best bet with a MiniDSP 2x4HD is to export IIR filters as biquads to MiniDSP in REW and maybe simultaneously add a crossover phase linearization in rePhase for your speakers like the one above (that's for the Focal Kanta 2 - without the box/port phase correction!) the MiniDSP FIR. Since these tend to be over 100Hz and have mild slopes, 1024 taps are more than sufficient for that kind of job.
 

Attachments

  • ConvertWav2Bin.zip
    985 bytes · Views: 60
Last edited:
There is a big difference in the sample rate. The 96k sample rate is followed when the user enters the biquad directly, but I understand that the filter is created at 48k sample rate within the device when using DiracLive or DLBC... (If you don't try to linearize the Excess Phase below 100 Hz, then the limitation of the biquad might not be meaningful, as the frequency response is controlled by PEQ.)
And there are only 10 PEQ tabs per channel, but there are separate PEQ 10 bands in inputs (all channels apply). FIR is also applicable.
 
Back
Top Bottom