Wednesday, June 3, 2015

Emotiva XMC-1 and Dirac Live

Introduction

All normal rooms have modes that induce standing waves that interfere destructively with sound reproduction.  (See here and here for two introductory articles by Michel Leduc on the topic of Listening Room Acoustics and why it matters.) Loudspeakers interact with the room bouncing sound waves off walls, ceilings, and floors, possibly muddying the sound received at the listening position. It gets pretty complicated fast. Proper speaker and hearer placement (see relevant Floyd O'Toole articles here and here), room treatment, and digital signal processing methods (aka Room Correction) can mitigate many of these undesirable effects and clearly improve sound reproduction.
from http://www.hunecke.de/en/calculators/room-eigenmodes.html
The Emotiva XMC-1 processor has built-in Dirac Live room correction. However, it needs the assistance of a computer (and an internet connection) at calibration time. This means you run Dirac Live on a computer, measure the room at the listening position, and download wirelessly the computed filters to the XMC-1's single Dirac preset. If your music is digital, this is all done in the PCM domain without any extra analog/digital conversion steps. Once dialed in properly, the difference between an uncorrected and corrected room is huge and plainly obvious.

Dirac Live is a DSP technology that corrects for both frequency-domain and time-domain (impulse) response. Dataset's RS20i (see here) also incorporates Dirac Live but is priced 10x higher. Trinnov is another company that has its own frequency and time domain correction algorithms, integrating an Intel PC into the box, but again at a much higher price point. Some competing systems typically found in home theater receivers, e.g. Audyssey, Yamaha's YPAO, Pioneer's MCACC, and Anthem's ARC (I believe), perform frequency domain correction only.

Another option would be to have Dirac Live in its own box separate from the pre-amp/processor, like with MiniDSP's nanoAVR DL (see here). (Unfortunately, the nanoAVR DL requires Windows.) Computer audiophiles with a pre-ripped music library on a server or hard drive can purchase Dirac Live as a generic PC/Mac application that can integrate with various player apps.

The main point of the XMC-1 processor for me is having a DSP stage with Dirac capabilities integrated with D/A  conversion. (The XMC-1 uses fairly high-end Burr-Brown 24/192 DSD1796 DACs that are hopefully excellent.) The Oppo player (see picture below) can function as a pure transport in the sense that it can send digital audio from either physical media (e.g. cd, sacd, dvd-a, blu-ray) or from a USB-connected hard drive to the XMC-1 for decoding and D/A conversion prior to power amplification. (In other words, the Oppo doesn't perform D/A conversion in my system - although it could, using its own  Cirrus Logic CS4382A DAC.)

Dirac Live for the Emotiva XMC-1

Unfortunately for those of us who are OSX-based, the free Dirac LE that comes with the XMC-1 is not yet available. However you can pony up $100 and spring for the full Dirac Live (like I did). In either case, I believe Emotiva supplies an activation code. 
Once activated, there's a page with links to download the Dirac application for Mac or Windows:
This Dirac app is specific to Emotiva's XMC-1 because it contains Emotiva-specific code that communicates with (and controls) the XMC-1.

The Local Area Network (LAN)

Assuming you're able to have the XMC-1 and computer see each on the LAN, the procedure is quite straightforward.  (Unfortunately, DHCP on the XMC-1 doesn't play well with my Netgear router, I ended up having to turn DHCP off and use a static local IP.)
(If all is well, you should be able to ping and login remotely to the XMC-1.) 
Note also that the XMC-1 curiously does not have built-in wifi. However, there's an Ethernet port on the back:
You could plug a wifi adapter into the port. I've verified it works. But since the XMC-1 seems finicky,  for reliability I chose to run an Ethernet cable from the router directly to the XMC-1.

Dirac Sound Quality

Though one should optimize speaker and listening position as far as possible given particular room parameters before running Dirac, there always seems to be room for improvement. (This is where REW is very handy, see my previous blog post on using REW here.) 

Frequency-wise, the benefits of Dirac are very apparent; it cleans up resonances. Not sure if it really attempts to deal with suckouts though (because those can be caused by room interactions).  The soundstage is also massively expanded. However, I find Dirac compromises (pin-point) imaging to the point I prefer to listen to Preset 1 (no Dirac, distances and levels set manually) - unless one is very careful and consistent with the measurements. (I will attempt to document these steps here below.)

The USB Microphone

An EMM-1 mic ships with the XMC-1. Its calibration file is supposedly doctored to produce an Emotiva-approved house curve. 

However, I used an UMIK-1 USB mic, individually calibrated by Cross Spectrum Labs, which I bought for REW use. The mic plugs into your computer (not the XMC-1) and the Dirac application recognizes it. 

Running the Emotiva Dirac app on a laptop is particularly convenient since you can move it close to the XMC-1:

With a desktop, there may be cabling problems. In my case, the supplied USB cable was not long enough and I needed to use an extension. (I also need a HDMI extension cable in order to run REW. I use REW in conjunction with the UMIK-1 as an SPL meter to check levels.)

Running Dirac Live for Emotiva

OK, let's fire up the Dirac application on OS X. It should see the XMC-1 on the LAN. 
If it doesn''t, obviously you need to fix the network issues first, otherwise you can't proceed. Once you press OK, the XMC-1 is under the control of the application and it no longer responds to the remote or front panel buttons (except, I suppose, the big turn on/standby button when things get stuck). The panel will display "connected". 

The application itself is divided into thematic tabs shown on the left, and the user is taken step-by-step through them. The Sound system tab refers to the speaker configuration already set up on the XMC-1 device. (You need to do that before running Dirac.)
My subwoofer still hasn't arrived yet, so I'm using it in 5.0 mode: front left and right speakers, a center channel and left and right surrounds. 

(There might be a bug with respect to levels if you don't use a subwoofer, and level adjustment might be required after Dirac.) 

Next, you need to select your mic.
Notice here I'm using the UMIK-1 with the 90 degree narrow band calibration file supplied by Cross Spectrum Labs. (The XMC-1 ships with a EMM-1 mic that works fine except that it has a pre-programmed calibration file that reflects Emotiva's preferences for a house curve.) 

Next I need to set the input gain. There are two steps. Dial down the input gain slider until the levels are just below -24dB. Then for each output channel in turn, hit Test and adjust the Output volume slider until the level hits the middle of the -12dB green zone.

Because I'm using different amplification to run the center channel, the sensitivity of that channel needs to be dialed down separately using the Channel volume slider to stay within the green zone. 
I had to dial in some trim with the surrounds too. (I'm using different amplification for them too.)
Finally, we are ready to take measurements. Dirac Live takes 9 measurements, the first is at the sweet spot, i.e. the main listening position, and the other 8 are tightly clustered around the sweet spot. 

Having performed measurements multiple times, I find the results really disappointing with respect to proper imaging unless I proceed very carefully and keep the cluster of points fairly compact. (Note: Dirac warns that the points be not too compact, the downside being over-fitted or optimized "lifeless" sound.)

The UMIK-1 (and the EMM-1) mics seem extremely sensitive. I believe one has to be very careful with spot selection. Probably, 6 inches of deviation would be massive. For consistency, I mark off the horizontal points on the back of the sofa with bits of tape. (Here I've spaced them out about 7 inches apart. I dare not go any tighter. More than 12 inches apart, I find the imaging loses its tightness. Obviously, given the angles subtended, it'd depend on how far away you sit. I'm about 10' 7" from each of the front speakers, as measured by laser to the main listening position.)
The Dirac manual states:
"Avoid making measurements in a too small space. Even for the “Chair” listening environment, it is important to spread out the microphone positions in a sphere of at least 1 meter of diameter. A too small space will result in over-
compensation that will sound very dry and dull."
I found I needed to use three different tripods to achieve reasonable vertical consistency between the high and low points, front and rear. (It would be nice if someone came up with an adjustable multi-parallelogram mesh rig with 9 points for easy and accurate mic placement.)
Example: high front
Example: low rear

Example: high rear
Each time I do not go to all this trouble, I find I've wasted time. The Dirac imaging is horribly diffused, skewed and sloppy compared to Preset 1 (where I have manually adjusted levels and distances). 

As mentioned previously, you're prompted for in turn to set up 9 different microphone positions, beginning with the sweet spot.
It'll generate graphs of the frequency response curves for various speaker groups, e.g. front left and right, center, surrounds etc.  And an editable target curve:
Front left and right speakers
Here are the corresponding plots for the center and surround channels:
Center channel
Left and right surrounds
Computing the filters gratuitously requires your computer to have internet access to Dirac's servers, which is an attempt to keep licensing and use firmly under Dirac's control. The resulting filters will be downloaded to the XMC-1 by Dirac Live for Emotiva via the LAN. The filters are also verified after downloading:
Unfortunately, on Mavericks, this is where it often crashes on me. If successful, a confirmatory dialog box will be displayed:
On Mavericks the verification fails to complete about half the time:


So it pays to save the project before download to save re-measuring the room. On Yosemite, I've not had any crashes. After success, the application disconnects from the XMC-1, and the remote works again.

Adjusting Levels

For reasons that I'm still not entirely clear about (possibly related to the differing gain of the various amplifiers I'm using or that I'm calibrating without a subwoofer), post-Dirac I find I always need to go in and equalize the levels of each channel. (The XMC-1 has a built-in test tone generator at 65/75/85dB levels.) I'm really not sure why this is not done for me automatically. 

System architecture-wise, levels are adjusted in the analog domain and follow the DSP stage. 

For example, here are my current post-Dirac levels (properly adjusted):
And just for comparison, I have my Preset 1 levels manually adjusted as follows:
The front left and right speakers are driven by two channels from a stereo tube amplifier. The center channel is driven by a different tube amplifier, which happens to be a monoblock. 

The surrounds are driven by yet another stereo amplifier; this time a solid-state amp. All three amplifiers have different gain, so these differences are not surprising. 

Distances are also manually programmed into Preset 1. (I use a laser distance measurement tool and a piece of white cardboard as the target.)
Unfortunately, it's not possible to see what the computed distances are for the Dirac Preset.

Finally, I leave Preset 2 untouched. It has distances set at 0'0" and no gain is applied on any of the channels.

Conclusions

When I first bought the XMC-1, I thought I'd made a mistake. What's the use of room correction if it messes up the sound in some critical way? I guess I'd expected it to be plug-n-play. It's plainly not that kind of hardware or technology. Although Dirac Live did a great job with the frequency response (and presumably phase coherency between speakers), plus the soundstage is much larger; however, I was unwilling to pay the price of inferior pinpoint stereo imaging. The Speaker Preset button on the remote allows you to turn Dirac on/off with just a short (1 sec) delay. This make A/B comparisons easy and obvious. And the differences are huge. Careful positioning of the microphone is critical; but the reward is room correction with no significant downsides as far as I can tell. A purist might be horrified, but technology marches onwards and upwards...