• 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
2,660
Likes
6,064
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.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
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
 
OP
Keith_W

Keith_W

Major Contributor
Joined
Jun 26, 2016
Messages
2,660
Likes
6,064
Location
Melbourne, Australia
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?
 

ernestcarl

Major Contributor
Joined
Sep 4, 2019
Messages
3,113
Likes
2,330
Location
Canada
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.
 

ernestcarl

Major Contributor
Joined
Sep 4, 2019
Messages
3,113
Likes
2,330
Location
Canada
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.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
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:

Ron Texas

Master Contributor
Forum Donor
Joined
Jun 10, 2018
Messages
6,243
Likes
9,376
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.
 

StigErik

Active Member
Forum Donor
Joined
Feb 22, 2023
Messages
298
Likes
428
Location
Norway
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.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,371
Location
Detroit, MI
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
 

StigErik

Active Member
Forum Donor
Joined
Feb 22, 2023
Messages
298
Likes
428
Location
Norway
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.
 

kemmler3D

Major Contributor
Forum Donor
Joined
Aug 25, 2022
Messages
3,352
Likes
6,866
Location
San Francisco
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:

StigErik

Active Member
Forum Donor
Joined
Feb 22, 2023
Messages
298
Likes
428
Location
Norway
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.
 

StigErik

Active Member
Forum Donor
Joined
Feb 22, 2023
Messages
298
Likes
428
Location
Norway
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…
 

wgh52

Member
Joined
Feb 25, 2021
Messages
63
Likes
25
Location
Germany
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
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
679
Likes
499
Location
Germany
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: 33
Last edited:

LIΟN

Active Member
Joined
Oct 17, 2023
Messages
159
Likes
172
Location
South Korea
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.
 
Top Bottom