Wednesday, June 27, 2018

My Setup for Headphone Listening, Part 1

I listen to music on headphones a lot. This is my retreat from distracting noise that often surrounds me at work and at home. I don't normally use portable audio players or a mobile phone, instead I have what is called a "desktop" system: a computer, a desktop DAC, a desktop headphone amp, and closed over-ear headphones. At home, I also use a couple of pairs of open over-ears when it's quiet around.

When listening on headphones, I can notice more issues with the reproduction chain and in the recording, compared to listening on speakers. That's why I pay a lot more attention to details for the headphone setup. My goal here is to be able to relax and enjoy the music on headphones the same way I can enjoy it on speakers.


The hardware part of the chain consists of three components: USB DAC, headphone amplifier, and headphones. The criteria for choosing them is easy to formulate—be as transparent as possible. That means, adding as little distortions and colorations as possible, having precise inter-channel balance and low crosstalk levels. I tend to avoid doing any sound processing in the analog domain, relying on DSP plugins running on the computer instead.


As far as electronic components are concerned, it's quite easy to fulfill the transparency requirements. Any modern DAC with the price starting from $200 does the job. Here are some not very expensive DACs that I'm familiar with.

Cambridge Audio DacMagic series. The entry level models: DacMagic 100 and DacMagic Plus used to be expensive back in time of their introduction, but now have become cheaper because they don't handle DSD and MQA. So for people not interested in those formats these DACs now represent a good deal. Especially DacMagic Plus with its internal operating sampling rate of 384 kHz and selectable output filters. Ken Rockwell had published a very thorough review of this unit. Note that due to high impedance of the headphone output (50 Ohm), DacMagic Plus should not be used as a headphone amplifier, but rather only considered as a DAC.

E-MU 0404. This legendary external sound card of the past is now a bargain because it's not USB Audio Class compatible, and E-MU / Creative Labs have abandoned updating drivers for it, so it's not usable on modern OS versions. However, it has an SPDIF input, so it can be used as an SPDIF DAC driven by a USB Audio Class compliant pro audio card, or the optical output of the computer. For example, I connect it to my MOTU Microbook IIc which has a coaxial SPDIF output. 0404 only supports sampling rates up to 96 kHz over SPDIF. The other caveat is that an instance of an old OS (e.g. WinXP running in a virtual machine) is still needed in order to set up the sampling rate of this card.

JDS Labs EL DAC. Haven't tried it personally, but the price fits the budget. JDS Labs generally follow the principle of designing transparent equipment with good objective characteristics. The measurements are published here.

TEAC UD-301. A cheaper option than UD-5xx series. The UD-501 model was measured by Archimago and looks really solid. UD-301 used the same DAC chip, but doesn't have the option for selecting the type of the output filter.

Headphone Amplifier

Decent transparent headphone amplifiers are not hard to find either, as we can see from my previous post on measurements of AMB M3 and SPL Phonitor Mini. I also use the desktop version of Objective2 headphone amplifier.


Headphones are more tricky as there is no clear objective criteria on how headphones should sound like. I'm aware of Harman target equalization curve, but first, it's still under development, and second, not every headphone manufacturer follows it. Anyways, the frequency balance of the headphones can be corrected in the software chain, so the main requirement is about low distortion levels. Personally, I stuck myself with Shure SRH1540. I was also enjoying Beyerdynamic T5p until they broke. Both of those are closed over-ear headphones.

I've got some open over-ears as well: Beyerdynamic T90, Massdrop Sennheiser HD6xx, and AKG K240. These are all different sounding, with K240 being the most uncolored but also adding the most distortions, T90 sounding the most "airy", and adding extra high frequencies, with HD6xx being somewhere in the middle.

To summarize, I strive to have the reproduction chain as transparent as possible. I do not use tube amplifiers, for example. I know they can sound nice, but the distortions they add can't be taken out if needed. On the other hand, if the chain is transparent, it's easy to add any tweaks and "euphonic" distortions at the prior stage—on the computer.



The software chain starts with the music player. I'm not very picky about them. My primary sources are Google Play Music for streamed content, and Foobar2000 or VLC for grabbed CDs and high resolution (24/96) files.

The only thing I need to tweak in the player is to set its output level so it has headroom for intersample peaks. As it had been demonstrated in that post, a digital sound file can contain encoded sound waves that while being converted into analog would exceed the normal level of 0 dBFS. And thus, having slightly more than 3 dBFS of headroom is recommended. For the Play Music player this means setting the volume control two steps below the maximum output volume:

This provides attenuation by -6 dBFS (one step attenuates by -3 dBFS), which is more than enough.

For VLC I settled up with 82% of output volume (about -4 dBFS attenuation), and for Foobar2000, setting the volume control to -3.5 dBFS provides the necessary headroom. This is a very important step, as any further sound processing step could result in clipping, and distortions caused by clipping can't be removed afterwards.

Plugin Host and Audio Capture

The most important component of the processing chain is the plugin host. I use hosts that allow intercepting system audio or audio from a specific application. On Mac I use Audio Hijack. This is an easy to use and stable application that includes a kernel module for capturing sound output. I think it can only host AudioUnit plugins, but generally it's not a problem since all the plugin makers provide their modules in different formats.

On Windows things are more complicated. There is a free open-source app called Equalizer APO which installs itself as a filter for the selected audio interface. It can host VST plugins. However, I've got a couple of issues with it. First, it doesn't allow VST plugins to show their meters. Second, it crashed when I was attempting to add Redline Monitormy current favorite crossfeed plugin. Since Equalizer APO is open source it should be possible to fix both of these annoyances, but I haven't got to this yet.

Instead, I found another plugin host app called "Virtual Audio Stream". It allows using 4 independent effect racks. In order to capture applications or system sound output, VAS provides virtual audio devices, but they are limited to 44.1 kHz. However, any other "virtual cable" device can be used instead. I use "Virtual Audio Cable", where the "Hi-Fi" version supports sampling rates up to 384 kHz.

The next big topic is the list of plugins that I use with these hosts, and their settings. This will be covered in the next post.

Thursday, June 14, 2018

Measuring AMB M3 vs. SPL Phonitor Mini

I've built AMB's M3 headphone amplifier more than a year ago and I enjoyed it all this time. Judging purely from listening experience, I was quite sure that my build doesn't have any major flaws. Also, I was confident in the M3 measurements that Bob Katz has done for his unit. However, I decided to perform some on my own. As my measurement rig is not super precise, I decided to measure M3 side by side with a commercial headphone amp to have a better grip with reality. I've chosen SPL Phonitor Mini because I think it's in the same "weight category" as M3.

AMB M3 is a two stage amplifier, with the first stage based on opamps, and the second stage on MOSFET transistors (with big heat sinks!) Although formally the amp has Class AB topology, its enormous power allows it to stay in Class A for most of the use cases. Another distinguishing feature of M3 is "active ground"—that is, the ground channel also goes through the same amplification stages as left and right channels. Personally, I'm on the same side with NwAvGuy who said that it's not a good idea. But it's interesting to see what practical consequences this design choice actually has.

SPL Phonitor Mini is one of my favorite headphone amplifiers for a long time. Initially this was due to its awesome crossfeed implementation. Now that I've found some comparable DSP implementations, this is of a less importance. But I still enjoy Phonitor for its power, reliability, and the fact that it has both unbalanced and balanced inputs. Besides crossfeed, Phonitor has another feature—high-voltage rail (120 VDC), which helps to achieve low noise floor.

Notes on Measurements

In my previous experiments I found that I can trust my measurements of frequency response, THD, channel balance, and output impedance. I put less faith into my IMD measurements, but for comparison between two amplifiers this should be OK. So this is the set I decided to stick with.

I learned that when measuring an amp with a driven ground like in M3 (or a fully balanced amp), the ground channel of the probe must be left floating. I'm not entirely sure about whether this only applies to mains-powered measuring equipment (mine isn't) or not. But just in case, I decided to stick to this method. And for consistency I decided to measure both amplifiers the same way. Also for consistency, I was using unbalanced inputs on Phonitor (that's the only input on my M3).

I let both amps to heat up for an hour before measuring them. For most of measurements, I set the volume level on both amplifiers to output 400 mV into a 33 Ohm resistive load using a 1 kHz sine wave. The line output of MOTU Microbook IIc was attenuated to -3 dBFS.



Here I was pleasantly surprised by superiority of M3. Below is graph of THD for 1 kHz sine, M3 is on the front, in orange, Phonitor is on the back, in cyan:

It can be seen that M3 almost doesn't have harmonic distortions from the test signal, and it's 60 Hz hum spike is at noise level. Here is the same graph with M3 alone:

That's very impressive. Even considering that Phonitor's harmonics are below audible threshold, on M3 they are practically absent. It's interesting that on Bob Katz's graphs (here and here) the 60 Hz spike is more prominent. Perhaps that depends on the power supply?

The results for a 20 Hz sine are also very good, this is M3:

And this is Phonitor Mini:

Apparently, 400 mV output level is a piece of cake for both amplifiers. I decided to crank them both up to produce 3 V RMS into a 33 Ohm load. Distortion levels are now noticeably higher in both amps, but still below audibility (again, M3 is orange, Phonitor is cyan):

It's interesting to note that the level of THD of M3 at 3 V output: 0.0061% is still lower than Phonitor's level of THD into 440 mV: 0.0074%. That demonstrates how much power M3 has. And just a reminder, please don't rely on THD+N numbers on these graphs—they are quite high due to relatively high noise floor of my measurement rig.


Here M3 also demonstrated better performance. Here is SMTPE IMD for M3:

And for Phonitor Mini:

As we can see, there are a lot more sidebands on the 7 kHz signal caused by 60 Hz signal played along with it.

And here is CCIF IMD for M3:

And for Phonitor Mini:

The 1 kHz signal—the result of interaction between 19 kHz and 20 kHz signals is more visible, although it's level is at -100 dBFS, which is inaudible.

Frequency Response

I would not expect anything but a ruler flat response from both of these amplifiers, and indeed this was the case:

The channel balance is also exemplary. It's 0.078 dB for Phonitor, and 0.061 dB for M3. And remember that I've built M3 by hand!

Stereo Separation (Crosstalk)

It's the only measurement where M3 has shown worse results than Phonitor. Here is Phonitor:

The crosstalk level stays at -74 dBFS until 1 kHz, and then climbs up to -64 dBFS. It's definitely better than Behringer UCA202 was showing. Now let's look at M3:

Here variation is less—within 4 dB, but the overall level is higher—at -60.5 dBFS. Why is that? Bob Katz obtained similarly high figure: -42 dBFS into 20 Ohm load. But the crosstalk was improving (becoming lower) as the load impedance was growing higher. Bob explains this with the fact that the driven (active) ground of M3 has output impedance.

Considering the worse absolute value, Bob says that anything better than -30 dBFS is insignificant. Thus, -60 dBFS isn't a big deal.

Output Impedance

Another victory of Phonitor: 0.06 Ohm of output impedance versus 0.11 Ohm on M3. Although, I'm not sure this measurement has the same meaning considering the driven ground of M3.


M3 is a transparent amplifier. The absence of distortions is due to its enormous power capacity. I actually doubt that the driven ground has much influence on its performance. It would be interesting to build a version of M3 with classical passive ground channel. Like LXmini speakers, it's a great design that can be reliably built and provide consistence level of performance.

Thursday, June 7, 2018

Linkwitz LXmini—First Impressions

Initially I was planning to do the next post about my measurements of FiiO E5 headphone amplifier—another attempt to "calibrate" my measurement rig against NwAvGuy's Prism dScope, but I've got sidetracked by another project.

It was long time ago when I've learned about loudspeakers designed by Siegfried Linkwitz. His promise is to deliver a great sound in conditions of untreated domestic rooms. Sounds challenging, and his speaker designs depart greatly from traditional "boxes." One particular model—LXmini looked very unusual—made from plastic drain pipes, with drivers positioned orthogonal to each other. I've got a chance to attend a demo at Burning Amp festival, and they indeed sounded quite nice to me.

I bought build plans for LXmini, but was endlessly procrastinating actually building them. Finally, I've made an effort—ordered the kit from Madisound and bought the rest of parts at Home Depot. Building took several days mainly because I had to paint the parts, wait until they dry out, then glue them together, then wait again. I've made the speakers in black. Here they are:

Compared to powered monitors on stands they look less bulky, giving back to the room the sense of space.

Choosing the Amplifier

All of Linkwitz designs use active crossovers based traditionally on miniDSP boards (there are of course variations due to DIY nature of this project). With this approach, each speaker driver requires its own amplifier, so for the pair of speakers I had to provide 4 channels of amplification.

I decided to look for an amplifier in a half-rack width body so I can fit it into my gear rack. The woofer driver of LXmini is rated for 8 Ohm impedance and "long term power handling" for 80 Watts. The second—full range driver is 4 Ohm and requires less power. So I decided to look for a 4 channel amplifier rated for 100 Watts into 8 Ohms to have some headroom.

The choice of half-rack width amplifiers has turned out to be not very wide. I've found some models from pro audio equipment makers: Atlas, Crestron, Parasound, QSC, and Stewart Audio. All of them were class D—not surprising because heat sinks that are required for delivering this amount of power via class AB would never fit into the half-rack format. But I wasn't afraid of class D amp, as my JBL LSR305 monitors use them, and I can't see any difference from class AB amplifiers in KRK Rokit G5.

I've chosen SPA4-100 from QSC. It was matching my requirements exactly, and the specs state very flat frequency response. It isn't cheap though—costing above $800, but QSC is a well known brand of pro amplifiers, so my hopes were for good quality and long term reliability.

This is how it looks in my rack:

Initial Setup and Check

I decided to put LXmini at the front, replacing my KRKs. I also decided to try to get rid of my center channel because the speaker (E3c) had a non-uniform frequency response that was quite hard to correct, and I could always distinguish it by ear from other speakers. This left me with a bit unusual 4.1 configuration. However, it's not the infamous "quadro" setup, but rather the traditional 5.1 layout, just without the center.

Since LXmini require an additional DSP which has a non-negligible delay, I used REW to make sure the speakers are time aligned with each other. This process is based upon frequency response measurement, and when I looked at the measured FR I was pleasantly surprised how well the speakers are matched:

The graphs use "psychoacoustic" smoothing. Obviously, the irregularities at low frequencies are due to room modes. Judging by the right channel (red), the natural roll off of the speakers starts at 50 Hz. BTW, I've configured my audio chain that I can drive LXminis either on their own in stereo configuration, or as part of surround setup with subwoofer. These graphs are for the stereo configuration.

The interesting thing about LXmini is that unlike traditional designs, they have quite low crossover point—around 700 Hz, and the full frequency range above is covered by the top speaker. Thus, the top speaker in LXminis is properly called "full range", not "tweeter."

Then I ran LEDR test. In short, it's a synthesized signal that exploits HRTF in order to achieve 3D positioning of the test sound in order to help evaluating "imaging." In a room-speaker system with tamed early reflections and reasonably flat FR playing this test signal produces a remarkable effect of a sound moving in an arc in different planes, including vertical one.

Previously I tried this test with my JBL and KRK speakers set as fronts. The KRKs were producing a more realistic picture, although the perception of vertical movement was quite weak. With JBL, everything was smeared. In fact, even a simple test of playing pink noise through both stereo channels wasn't producing any sensible phantom center image with JBLs. That's why some time ago I put them to rear channels position where they do their job better.

Directionality and Energy Time Curve

The key to understanding why all those speakers have different ability to resolve the sound stage in my room lies in the character of their interaction with it. From my previous comparison of my JBLs with KRKs I know that JBLs have wider dispersion, due to the construction of their high frequency horn. And LXmini has the narrowest radiation pattern—dipole (figure 8).

My listening area is not symmetric, with a wall and a large book shelf on the left side. I do have space behind the speakers, and on the right side. Due to the reflective surfaces being close on the left, I always have to compensate for additional sound energy there by slightly reducing the volume level of the left speakers (yes, the for the rear one, too). Another issue with the room is that the ceiling is quite low—2.4 meters (8'). Though, there is a large sofa with cloth cover and the floor is carpeted, creating some natural sound absorption.

Apparently, there are lots of reflections in my room. The question is, how harmful are they for the sound localization cues. A good hint for answering this question is provided by the Energy Time Curve graph. Here is a very good introduction from Gik Acoustics on how to interpret it. Bob Katz's book "Mastering Audio" also contains useful information about the ETC.

Let's look at the ETC graphs for LXminis in my room (listening position, the first 30 milliseconds):

I would say, they look really good. The initial impulse decays to almost -20 dB during the first millisecond. And all the reflections arriving within the first 30 ms are below -15 dB. That's an exemplary performance for an untreated room. For comparison, this is how ETC graph looks for my KRKs:

I left the LXmini graphs as shadowed plots for comparison. Here we see much stronger reflections arriving within the first 5 ms. They must be caused by wider radiation pattern. Some of the sound radiated to the sides immediately reflects from a closely positioned surface and reaches the listening position almost together with the main impulse. For the JBLs the situation is even worse:

Here we see series of strong reflections arriving within the first 5 ms, and also that later reflections are stronger. I'm pretty much sure this is due to much wider radiation pattern of JBLs.

But don't get me wrong, I'm not saying that JBL LSR305 is a bad speaker—no, it's in fact a good one, especially considering its price. It has a flat frequency response and very good directionality. It's just not for a room where reflective surfaces are located close to it. I'm sure, in a more spacious room, or in an acoustically treated room where strong early reflections are eliminated, it will sound great and will not have any problems with imaging.

In fact, even in my room these JBLs work great as rear speakers, due to their proximity to the listening area. In this case, their direct sound dominates over any reflections and they sound very true to life.


LXmini is a fantastic speaker for a small untreated room due to its narrow radiation pattern. The phantom center image created by a stereo pair of LXminis is so strong that I've got rid of my center speaker in surround configuration.