Saturday, 5 September 2026

On Magic Beans "True Target": Dirac Live 2-Pass Procedure.

Sunset on summer 2026...

Ahhh, fall is coming and can be felt in the air here in Vancouver. At this time of the year, I get the compulsion to make sure I finish discussing topics I had examined in the summer and wrap up loose ends.

A couple of weeks back I discussed the Magic Beans Audio "True Target" app, an interesting program that I think can help improve sound quality for many audiophiles who use DSP in their rooms as a technique for "speaker correction" - that is, a system that flattens the direct sound coming from one's speakers above the modal and transition frequencies while respecting sensitive zones in the speaker response.

I mentioned near the end of the article about a "DLBC (2-pass calibration)" procedure. For completeness, I figure I'd give this a try and discuss in this post.

If you're wondering what this procedure is, as far as I am aware, this was only discussed on the Magic Beans Discord forum. In my E-mails with Joe Mariano, he noted that in testing, he had found Dirac Live tended to overcorrect especially if one is not using adequate multi-sample averaging. Instead of creating a de novo target curve for Dirac to hit starting with DSP correction turned off, this (experimental?) technique starts with an actual Dirac Live correction and creates the "True Target" based on a nearfield correction (ie. flattening of the direct sound) of that.

It's probably easier to just described how the procedure is performed:

[All credit to Joe for the procedure - since I have the ability to add illustrations and more details, I've taken the liberty to expand upon what was posted on Discord.]

1. Run Dirac and do measurements as usual at the various microphone locations you normally correct for (if you've already done the room measurements, just load up the file, no need to repeat). Choose Dirac Live (not Bass Management, Bass Control or ART) as the module to use, and load this "Flat.targetcurve" file curve to all channels. Calculate and export the filter to your processor. Make sure to save the project so you don't need to perform Dirac measurements again.

Push the bass curtain down to 20Hz for the full speaker response.

2. Set speakers to large/full range (in your processor/AVR) like you always should when working with Magic Beans so the software is just measuring the individual speaker without subwoofer. 

3. Open up the MB app and take measurements with that Dirac flat target engaged (ie. do the Magic Beans moving mic for NFD and MLP). Once done, let MB export the "unified" filters for whichever Dirac variant you'll ultimately be using:

  Dirac Live: Export "Dirac Live (2-pass calibration)"

  Dirac Live Bass Control:  Export "DLBC (2-pass calibration)"

  Dirac ART:
    Default Speaker Groups - Export "DLBC (2-pass calibration)"
    Speaker in individual Speaker Groups - Export "Dirac Live (2-pass calibration)"
    Custom Speaker Groups - see here for instructions for creating custom targets. 

4. Run Dirac and load again the project with the flat targets that you saved. Since Dirac measurements already done, there's no need to repeat the multi-point capture.

5. Pick the flavor of Dirac you will be using. Then load the MB targets exported above (in Step 3) into the appropriate speaker, set or speaker group.

6. Once all the target curves are configured, calculate and save the project, upload correction filter to your Dirac Live processor/AVR.

7. Go listen to some good music and enjoy with DSP setting applied. ☺️

Basically, here is what this procedure is doing:

As an easy example to use, above are the frequency response curves for my Paradigm Reference C3 v.3 center channel from 500Hz up - recall that below are the bass Modal and Transition Zones which can be unified to smooth out with DSP. Blue is nearfield which represents the EQ that Dirac Live is applying in order to achieve a flat target at the MLP.

Although DL is set to a flat target, it tries its best, and since I'm using multi-point averaging at the sweet spot +/- the seat left and right along with variations front/back and height, what it actually achieves is that red MLP measurement which is not bad - basically +/-1dB variation from 1kHz to 20kHz.

What Magic Beans does then is use an inverted normalized NFD curve to create the 2-pass "True Target" (white). In doing so, instead of aiming for a flat target at MLP, it'll flatten out the direct sound from the speaker and letting the room transfer function (what I previously calculated as "quasi-DI" gap between NFD and the MLP farfield) do its thing. The predicted room curve as heard at the MLP with the 2-pass True Target applied then can be estimated as the dashed grey curve.

In my system, we can see differences between using the "MB Standard" and "MB DL 2-pass" techniques by looking at the target curves created for the 5.1.4 multichannel system:




Obviously, some of the variations would be a result of differences from each time I performed the MMM technique. Notice though that the results are still quite similar and there seems to be a little more detail to the curves constructed with the DL 2-pass technique.

For an actual "proof of concept" of the "speaker correction" with these DSP targets applied, let's now have a look at the center channel nearfield moving microphone measurement. I'll use white noise (flat across all frequencies) and compare the frequency response with DSP off, Dirac Live Bass Control using generic Dolby Atmos Music Target Curve, Magic Beans Standard measurement and the DL 2-Pass technique: 


Obviously with DSP off, we see the poorly controlled dotted red curve. Once we turn on DSP, clearly there's an improvement.

As we discussed in the previous Magic Beans article, the software incorporates identification of directivity errors and will avoid overcorrection especially in the crossover area. We can see this in the 2kHz region where the Dirac Live generic curve adds boost where there are directivity anomalies in my speakers as shown previously.

While the Magic Beans Standard correction curve is quite flat, it does seem to have a little more high frequency negative tilt (no big deal, about -2.5dB between 1kHz and 16kHz) compared to the 2-pass which looks remarkably flat in that nearfield capture all the way to 16kHz!

To be honest, subjectively as I flip between the MB Standard and the DL 2-Pass settings, I'm not sure I have a clear preference. I suppose depending on the music I'm listening to, the slight downward tilt with MB Standard might sound better for example with tonally bright old '80s rock/pop.

I suspect that for the vast majority of users, the MB Standard correction would be great already. But if you have time to re-measure the NFD & MLP, don't mind the extra step with creating the flat Dirac Live filter, then the result above is at least confirmation (in my system) that the DL 2-Pass method indeed worked out well in creating a correction curve that does as intended - even flatter direct sound emanating from the speakers than I achieved previously using Dirac Live Bass Control.

Have fun experimenting, MB users!

Addendum: Tone Control (September 8, 2026)
One last thing guys. I want to remind everyone to make sure to to have fun when running DSP and optimizing! The sound system is yours which means ultimately you have to like the sound you get from it.

While an app like Magic Beans can produce corrections like the flat nearfield response from your speakers, gentle broadband "tilt", as tone controls are not a bad thing especially if your music might be EQ'ed too aggressively. I noted above the idea that sometimes I prefer my MB Standard curve which attenuates the higher frequencies a little bit. These days with the power of AI, it's trivial to recalculate the MB curves with a simple tilt applied.

For example, let's have a gentle -3dB tilt from 750Hz to 20kHz (-0.6dB/octave) applied to my MB DL 2-Pass data like this:


The recalculated (blue) curves can then be saved and imported into Dirac Live to create new variant filters to have a listen within minutes.

Such broad tone-control adjustments should translate without issue in measurements, here's what the -3dB tilt (red) looks like with my center channel captured nearfield using moving mic averaging:


An adjustment like this can be the difference between piercing sibilance (like early-80's CDs with digital glare, or Faye Wong's "Eyes On Me" from Final Fantasy VIII) and annoying but tolerable sound.

Again, have fun with all that can be done with modern DSP! As usual, it's important not to be overly obsessive. At some point, make sure to recognize that there is such a thing as "good enough" - for many of us, we've probably even achieved "more than good enough" already😏. Once there, enjoying the music becomes the main prerogative rather than endless tweaking (this goes for mindless snake oil products as well as incessant EQ/DSP neurosis).

--------------------

Recently I've been reacquainting myself with some "glam metal" ballads from the old days. Here are a couple I had not heard in ages. Cool to find that these tracks are also available in multichannel/Atmos at places like Amazon Music and Apple Music!

White Lion's "When The Children Cry" (1987, from Pride):


Poison's "Every Rose Has Its Thorn" (1988, from Open Up and Say... Ahh!):



Let's have one more faster, fun, oldie. Poison's "Talk Dirty To Me" (1986, from Look What the Cat Dragged In):


Happy Labour Day long weekend, dear audiophiles. Have a great September enjoying the music!

2 comments:

  1. Hi Arch,

    Thank you for your deep dive into the practical verification of the Target Function feature. This looks very promising, especially for loudspeakers that have a larger variation in the Directivity Index.Have a great autumn.

    All the best, Juergen

    ReplyDelete
    Replies
    1. Nice hearing from you Juergen,
      Hope all's well as we head into the fall soon!!!
      Cheers.

      Delete