Here we go again, this time measuring a more expensive USB-C headphone adapter dongle. This is my second review, and I will follow a similar protocol to the previous one, with a few small changes.
The star of this show is the Moshi USB-C Digital Audio Adapter with Charging. This is an accessory that Google recommends, to the point of selling it themselves in their own store. It's also quite expensive compared to alternatives, even those that also allow charging. Moshi claims "pristine, high-resolution audio" with "regular 3.5 mm headphones", a "High-resolution Class G amplifier (24-bit/96 kHz)" and "ideal for audiophile libraries". Is it up to the hype? Let's find out!
Equipment under test (EUT): Google Pixel 3 running Android 9; analog output "Moshi USB-C Digital Audio Adapter with Charging" (bought in November 2018); test signals played using the Google Play Music player; device volume at maximum unless otherwise noted; running on battery unless otherwise noted
Test equipment: QuantAsylum QA401 Audio Analyzer (using L-/R- inputs; L+/R+ properly terminated; attenuator disabled; baseline results); ASIO401 1.1; REW V5.20 Beta 5
You'll notice the change from the AIMP player to the Google Play Music player, which is the standard-issue player app on the Pixel 3. AIMP disappointed me in the previous review because it only supported a 48 kHz sample rate. Feed it anything else (even 44.1 kHz) and it will resample it, poorly. So this time I decided to use an app that hopefully will not suffer from such issues. (As we'll see later in this review, it indeed doesn't.)
All the raw data and measurements, including REW mdat files, can be downloaded here.
Before we begin: if you're wondering whether we're going to see this weird "load impedance sensing" behaviour from the previous review again, the answer is no. As far as I can tell, this device behaves the same way no matter what is plugged into it.
PRELIMINARY MEASUREMENTS: SAMPLE RATE
Same thing as last time: let's play a few test signals, playing with the Nyquist frequency until we get a good sense of what we're dealing with.
I was able to measure the expected tone up to and including 24 kHz, indicating that the EUT does support a >48 kHz sample rate. I was unable, however, to measure anything with a 44.1 kHz tone, which either indicates the maximum sample rate is somewhere between 48 and 96 kHz (which would be weird), or, more plausibly, that the device frequency response simply does not reach that far. More on that later.
PRELIMINARY MEASUREMENTS: INTERSAMPLE PEAKS
Doing this test across many sample rates was useful the last time, so let's do that:
Here's how the waveform looks like, as seen through a high-speed oscilloscope, at the highest peak level:
While the EUT is of course distorting badly, this doesn't look nearly as bad as in the previous review where we could see some kind of "rail slamming" phenomenon - here the waveform is deformed, but is still recognizable.
However, we see this phenomenon again where, at 44.1 kHz, the distortion doesn't seem to follow the same periodic pattern, suggesting that the EUT might not be running at 44.1 kHz end-to-end - resampling might be happening somewhere.
Another interesting observation is that, at 96 kHz, the EUT seems to be holding itself pretty well, showing surprisingly low distortion levels considering the circumstances (though keep in mind my ability to measure distortion well above 20 kHz is limited).
Back to the QA401, a distortion spectrum measurement basically agrees with the above:
PRELIMINARY MEASUREMENTS: BIT DEPTH
Same thing as last time. I picked 48 kHz as the sample rate because the above makes me suspect the EUT cannot operate natively at 44.1 kHz, and DACs typically have a higher noise floor when running at 96 kHz.
We see normal results at 16-bit:
When nothing is playing the DAC seems to shut down and leave outputs "floating", resulting in EMI noise such as mains hum showing up. This is typical and not really concerning, but I'll mention that the previous dongle behaved better in that regard IMHO, as it would simply short its output in that case, preventing EMI from getting in.
The difference in level between the -1 dB 997 Hz signal and -140 dB signal (drowned in the 16-bit dither, as expected) is 92 dB, which confirms we have access to the full 16-bit dynamic range.
The 16-bit and 24-bit "silence" measurements are identical, which suggests the EUT is not applying additional dithering on top of the source file.
Just like last time however, the low-level 24-bit measurements are a shit show:
That tone is supposed to be at -120 dBFS, but shows up at -91.4 dBFS instead, a completely insane 28.6 dB linearity error.
And, just like last time, distortion starts creeping into the 16-bit dither noise floor as soon as one reduces the volume, once again suggesting that the volume control is digital, not analog:
So once again we have an EUT that is incapable of behaving properly at low signal levels.
UNLOADED MEASUREMENTS: MAXIMUM OUTPUT VOLTAGE
The 997-1-48000-48 test signal registers at 0.0 dBV spot on, which means the maximum output level, unloaded, is +1 dBV, or 1.1 Vrms, or 1.6 Vp, or 3.2 Vpp. This is better than the previous review, and is somewhat average for that kind of hardware.
UNLOADED MEASUREMENTS: NOISE FLOOR AND DYNAMIC RANGE
The silence-24 test signal (see above) registers 98 dB below 997-1-48000-24, leading us to believe we have access to 98 dB of dynamic range, or a bit more than 16 bits, and a noise floor of -98 dBV.
But of course that would be too generous, because our bit depth measurements show that the EUT is not actually capable of delivering that noise floor with any kind of real signal other than pure silence. In practice, if we use the 997-140-48000-24 measurement which is more indicative of actual performance, we get 92.4 dB of dynamic range, which is closer to 15 bits than 16, and a noise floor of -92.4 dBV. That's mediocre.
I was curious to see how the noise floor looks like when the "charging" functionality of the dongle is being used - how well does it isolate from USB power supply noise? The answer is: very well - the noise floor measurements when charging (even fast charging) look pretty much identical to the others. This is true when using the official bundled charger, and also when using the shittiest, cheapest USB charger I had laying around.
UNLOADED MEASUREMENTS: THD AND THD+N/SINAD (997 Hz)
Unloaded, 997-1-48000-24 shows a THD of -78.9 dB (0.011%) and a SINAD of 77.6 dB (0.013% THD+N). This is well above the limits of the test equipment, so the results are valid.
This is even worse than the previous one, which was already pretty bad. So much for "pristine, high-resolution audio". Interestingly, the THD at -30 dBFS is vastly better (-94.4 dB), which indicates the EUT might be clipping a bit when driven at full scale. SINAD is worse at -30 dBFS, though.
UNLOADED MEASUREMENTS: FREQUENCY RESPONSE
Same protocol as last time; let's look at the results:
Lots of interesting stuff going on here.
First, the 48 kHz response looks good, with only +/-0.01 dB from 30 Hz to 7 kHz. From there it rises around 0.9 dB higher in the treble, but which is a bit concerning but arguably nitpicky. Then it's down only 3 dB at 23 kHz, which is excellent. It looks a bit too good, in fact, since it's down barely 6 dB at Nyquist - more on that below.
The 44.1 kHz response looks identical to the 48 kHz one. Google Play Music seems to be doing its job well by not resampling 44.1 kHz to 48 kHz. Or if it does, it seems to be doing it correctly, contrary to the AIMP app I was using in my previous review.
As for the 96 kHz response… well, isn't that laughable. Picture me saying "96 kHz" with massive air quotes. We do technically get a signal through above 24 kHz, but just barely - while the DAC seems to indeed be running at 96 kHz the cutoff frequency is the same as the other sample rate, which defeats the point of running at 96 kHz in the first place. This basically means this EUT only "supports" 96 kHz on paper, not in practice.
Now, the strange behaviour around 24 kHz and the whole "too good to be true" high-frequency roll-off made me suspicious. So I looked at the measured sweeps themselves and looked closely at the area near 24 kHz using spectrograms. I was not disappointed:
These, ladies and gentlemen, are textbook imaging artefacts. Now, granted, all of this snafu is happening above 20 kHz, but it could still be audible due to the intermodulation distortion that these spurious tones could cause in whatever device is plugged into the EUT.
The behaviour at 96 kHz is even more hilarious, because there we have egregious aliasing artefacts as well:
Now, one could argue this could yet again be some crappy resampler in the player app used (Google Play Music), just like AIMP had its own crappy resampler in the previous review. But the only way that would make sense with the above measurements is if the app was upsampling 44.1 kHz and 48 kHz to 96 kHz (otherwise it would be impossible for it to create artefacts above Nyquist), which seems unlikely. Also, I confirmed that the bundled dongle from my previous review does not do this, even with the Google Play Music app. This looks more like sloppy design in the Moshi DAC itself, specifically the reconstruction filter.
Addendum: these poor results are Android's fault, not the dongle's. See below for native results measured from Windows, which look much better.
MEASUREMENTS INTO 16 Ω: MAXIMUM OUTPUT VOLTAGE AND POWER
Note that all loaded measurements are done with both channels loaded and playing the same test signal, but only the left channel is measured.
The 997-1-48000-24 test signal registers at -17.2 dBV, which means the maximum output level, into 16.5 Ω, is -16.2 dBV, or 0.15 Vrms, or 0.22 Vp, or 0.44 Vpp. This translates to an output power of 1.4 mW into 16.5 Ω.
The difference with the maximum unloaded output voltage is completely explained by the output impedance, as we'll see below.
MEASUREMENTS INTO 16 Ω: THD AND THD+N/SINAD (997 Hz)
Here's how things look like at -1 dBFS into 16.5 Ω:
Into 16.5 Ω, 997-1-48000-24 shows a THD of -77.9 dB (0.013%) and a SINAD of 77.2 dB (0.014% THD+N). This is pretty much the same as the unloaded measurement, but do keep in mind the aforementioned reduction in output level.
MEASUREMENTS INTO 16 Ω: OUTPUT IMPEDANCE AND FREQUENCY RESPONSE
Same protocol as last time; let's look at the results:
From these measurements we can see that connecting a 16.5 Ω load makes the output level drop by 17.2 dB compared to no load. From there we can directly deduce that the output impedance is a constant 103.0 Ω.
Wait, what?
This result is so bad I had to do a double take and repeated the measurement with a 100 Ω load, just in case. I obtained the exact same result. Wow. This is hilariously bad, and much, much worse than the bundled Pixel 3 dongle.
Note that, because the output impedance is higher than the load impedance I tested with, the output power of the EUT actually increases with load impedance, peaking at 3.1 mW into 100 Ω, and then decreasing afterwards.
CONCLUSION
Of course the elephant in the room here is the absolutely atrocious output impedance of the Moshi. At 103.0 Ω this is extremely unsuitable for driving most headphones; it would be better suited as a simple line output. Aside from that, the distortion figures of the EUT are mediocre; the behavior of the DAC reconstruction filter is appalling for a device sold in 2019; and its 96 kHz "support" is laughable. The only thing good about this EUT is its excellent frequency response at 44.1 kHz and 48 kHz, but considering the above, what's the point? AVOID, especially at this price.
Additional note: I used this device during a trip, where there was only 2G phone coverage at times. I was shocked to realize I could hear the infamous GSM interference tone from the Pixel 3 itself in the noise floor! In other words, the Moshi, a phone accessory, does not have proper shielding against EMI coming from the phone it is connected to. WTF. This device really is a cruel joke. Even the bundled Pixel 3 dongle did not have that problem.
The star of this show is the Moshi USB-C Digital Audio Adapter with Charging. This is an accessory that Google recommends, to the point of selling it themselves in their own store. It's also quite expensive compared to alternatives, even those that also allow charging. Moshi claims "pristine, high-resolution audio" with "regular 3.5 mm headphones", a "High-resolution Class G amplifier (24-bit/96 kHz)" and "ideal for audiophile libraries". Is it up to the hype? Let's find out!
Equipment under test (EUT): Google Pixel 3 running Android 9; analog output "Moshi USB-C Digital Audio Adapter with Charging" (bought in November 2018); test signals played using the Google Play Music player; device volume at maximum unless otherwise noted; running on battery unless otherwise noted
Test equipment: QuantAsylum QA401 Audio Analyzer (using L-/R- inputs; L+/R+ properly terminated; attenuator disabled; baseline results); ASIO401 1.1; REW V5.20 Beta 5
You'll notice the change from the AIMP player to the Google Play Music player, which is the standard-issue player app on the Pixel 3. AIMP disappointed me in the previous review because it only supported a 48 kHz sample rate. Feed it anything else (even 44.1 kHz) and it will resample it, poorly. So this time I decided to use an app that hopefully will not suffer from such issues. (As we'll see later in this review, it indeed doesn't.)
All the raw data and measurements, including REW mdat files, can be downloaded here.
Before we begin: if you're wondering whether we're going to see this weird "load impedance sensing" behaviour from the previous review again, the answer is no. As far as I can tell, this device behaves the same way no matter what is plugged into it.
PRELIMINARY MEASUREMENTS: SAMPLE RATE
Same thing as last time: let's play a few test signals, playing with the Nyquist frequency until we get a good sense of what we're dealing with.
Code:
sox --channels 2 --bits 16 --rate 192000 --null 20000-192000.wav synth 30 sine 20000 gain -3
sox --channels 2 --bits 16 --rate 192000 --null 22050-192000.wav synth 30 sine 22050 gain -3
sox --channels 2 --bits 16 --rate 192000 --null 24000-192000.wav synth 30 sine 24000 gain -3
sox --channels 2 --bits 16 --rate 192000 --null 44100-192000.wav synth 30 sine 44100 gain -3
sox --channels 2 --bits 16 --rate 192000 --null 48000-192000.wav synth 30 sine 48000 gain -3
sox --channels 2 --bits 16 --rate 192000 --null 65000-192000.wav synth 30 sine 65000 gain -3
I was able to measure the expected tone up to and including 24 kHz, indicating that the EUT does support a >48 kHz sample rate. I was unable, however, to measure anything with a 44.1 kHz tone, which either indicates the maximum sample rate is somewhere between 48 and 96 kHz (which would be weird), or, more plausibly, that the device frequency response simply does not reach that far. More on that later.
PRELIMINARY MEASUREMENTS: INTERSAMPLE PEAKS
Doing this test across many sample rates was useful the last time, so let's do that:
Code:
sox --channels 2 --bits 16 --rate 44100 --null intersample-peaks-44100-16-0.wav synth 30 sine 12000 0 12.5 gain -1
sox --channels 2 --bits 16 --rate 44100 --null intersample-peaks-44100-16-1.wav synth 30 sine 11025 0 12.5 gain 0
sox --channels 2 --bits 16 --rate 44100 --null intersample-peaks-44100-16-2.wav synth 30 sine 11025 0 12.5 gain 1
sox --channels 2 --bits 16 --rate 44100 --null intersample-peaks-44100-16-3.wav synth 30 sine 11025 0 12.5 gain 2
sox --channels 2 --bits 16 --rate 44100 --null intersample-peaks-44100-16-4.wav synth 30 sine 11025 0 12.5 gain 3
sox --channels 2 --bits 16 --rate 48000 --null intersample-peaks-48000-16-0.wav synth 30 sine 12000 0 12.5 gain -1
sox --channels 2 --bits 16 --rate 48000 --null intersample-peaks-48000-16-1.wav synth 30 sine 12000 0 12.5 gain 0
sox --channels 2 --bits 16 --rate 48000 --null intersample-peaks-48000-16-2.wav synth 30 sine 12000 0 12.5 gain 1
sox --channels 2 --bits 16 --rate 48000 --null intersample-peaks-48000-16-3.wav synth 30 sine 12000 0 12.5 gain 2
sox --channels 2 --bits 16 --rate 48000 --null intersample-peaks-48000-16-4.wav synth 30 sine 12000 0 12.5 gain 3
sox --channels 2 --bits 16 --rate 96000 --null intersample-peaks-96000-16-0.wav synth 30 sine 24000 0 12.5 gain -1
sox --channels 2 --bits 16 --rate 96000 --null intersample-peaks-96000-16-1.wav synth 30 sine 24000 0 12.5 gain 0
sox --channels 2 --bits 16 --rate 96000 --null intersample-peaks-96000-16-2.wav synth 30 sine 24000 0 12.5 gain 1
sox --channels 2 --bits 16 --rate 96000 --null intersample-peaks-96000-16-3.wav synth 30 sine 24000 0 12.5 gain 2
sox --channels 2 --bits 16 --rate 96000 --null intersample-peaks-96000-16-4.wav synth 30 sine 24000 0 12.5 gain 3
Here's how the waveform looks like, as seen through a high-speed oscilloscope, at the highest peak level:
While the EUT is of course distorting badly, this doesn't look nearly as bad as in the previous review where we could see some kind of "rail slamming" phenomenon - here the waveform is deformed, but is still recognizable.
However, we see this phenomenon again where, at 44.1 kHz, the distortion doesn't seem to follow the same periodic pattern, suggesting that the EUT might not be running at 44.1 kHz end-to-end - resampling might be happening somewhere.
Another interesting observation is that, at 96 kHz, the EUT seems to be holding itself pretty well, showing surprisingly low distortion levels considering the circumstances (though keep in mind my ability to measure distortion well above 20 kHz is limited).
Back to the QA401, a distortion spectrum measurement basically agrees with the above:
PRELIMINARY MEASUREMENTS: BIT DEPTH
Same thing as last time. I picked 48 kHz as the sample rate because the above makes me suspect the EUT cannot operate natively at 44.1 kHz, and DACs typically have a higher noise floor when running at 96 kHz.
Code:
sox --channels 2 --bits 16 --rate 48000 --null --no-dither 997-1-48000-16.wav synth 30 sine 997 gain -1 dither -p 16
sox --channels 2 --bits 24 --rate 48000 --null --no-dither 997-1-48000-24.wav synth 30 sine 997 gain -1 dither -p 24
sox --channels 2 --bits 16 --rate 48000 --null --no-dither 997-30-48000-16.wav synth 30 sine 997 gain -30 dither -p 16
sox --channels 2 --bits 24 --rate 48000 --null --no-dither 997-30-48000-24.wav synth 30 sine 997 gain -30 dither -p 24
sox --channels 2 --bits 16 --rate 48000 --null --no-dither 997-60-48000-16.wav synth 30 sine 997 gain -60 dither -p 16
sox --channels 2 --bits 24 --rate 48000 --null --no-dither 997-60-48000-24.wav synth 30 sine 997 gain -60 dither -p 24
sox --channels 2 --bits 16 --rate 48000 --null --no-dither 997-90-48000-16.wav synth 30 sine 997 gain -90 dither -p 16
sox --channels 2 --bits 24 --rate 48000 --null --no-dither 997-90-48000-24.wav synth 30 sine 997 gain -90 dither -p 24
sox --channels 2 --bits 16 --rate 48000 --null --no-dither 997-120-48000-16.wav synth 30 sine 997 gain -120 dither -p 16
sox --channels 2 --bits 24 --rate 48000 --null --no-dither 997-120-48000-24.wav synth 30 sine 997 gain -120 dither -p 24
sox --channels 2 --bits 16 --rate 48000 --null --no-dither 997-140-48000-16.wav synth 30 sine 997 gain -140 dither -p 16
sox --channels 2 --bits 24 --rate 48000 --null --no-dither 997-140-48000-24.wav synth 30 sine 997 gain -140 dither -p 24
sox --channels 2 --bits 16 --rate 48000 --null --no-dither silence-48000-16.wav trim 0 30
sox --channels 2 --bits 24 --rate 48000 --null --no-dither silence-48000-24.wav trim 0 30
We see normal results at 16-bit:
When nothing is playing the DAC seems to shut down and leave outputs "floating", resulting in EMI noise such as mains hum showing up. This is typical and not really concerning, but I'll mention that the previous dongle behaved better in that regard IMHO, as it would simply short its output in that case, preventing EMI from getting in.
The difference in level between the -1 dB 997 Hz signal and -140 dB signal (drowned in the 16-bit dither, as expected) is 92 dB, which confirms we have access to the full 16-bit dynamic range.
The 16-bit and 24-bit "silence" measurements are identical, which suggests the EUT is not applying additional dithering on top of the source file.
Just like last time however, the low-level 24-bit measurements are a shit show:
That tone is supposed to be at -120 dBFS, but shows up at -91.4 dBFS instead, a completely insane 28.6 dB linearity error.
And, just like last time, distortion starts creeping into the 16-bit dither noise floor as soon as one reduces the volume, once again suggesting that the volume control is digital, not analog:
So once again we have an EUT that is incapable of behaving properly at low signal levels.
UNLOADED MEASUREMENTS: MAXIMUM OUTPUT VOLTAGE
The 997-1-48000-48 test signal registers at 0.0 dBV spot on, which means the maximum output level, unloaded, is +1 dBV, or 1.1 Vrms, or 1.6 Vp, or 3.2 Vpp. This is better than the previous review, and is somewhat average for that kind of hardware.
UNLOADED MEASUREMENTS: NOISE FLOOR AND DYNAMIC RANGE
The silence-24 test signal (see above) registers 98 dB below 997-1-48000-24, leading us to believe we have access to 98 dB of dynamic range, or a bit more than 16 bits, and a noise floor of -98 dBV.
But of course that would be too generous, because our bit depth measurements show that the EUT is not actually capable of delivering that noise floor with any kind of real signal other than pure silence. In practice, if we use the 997-140-48000-24 measurement which is more indicative of actual performance, we get 92.4 dB of dynamic range, which is closer to 15 bits than 16, and a noise floor of -92.4 dBV. That's mediocre.
I was curious to see how the noise floor looks like when the "charging" functionality of the dongle is being used - how well does it isolate from USB power supply noise? The answer is: very well - the noise floor measurements when charging (even fast charging) look pretty much identical to the others. This is true when using the official bundled charger, and also when using the shittiest, cheapest USB charger I had laying around.
UNLOADED MEASUREMENTS: THD AND THD+N/SINAD (997 Hz)
Unloaded, 997-1-48000-24 shows a THD of -78.9 dB (0.011%) and a SINAD of 77.6 dB (0.013% THD+N). This is well above the limits of the test equipment, so the results are valid.
This is even worse than the previous one, which was already pretty bad. So much for "pristine, high-resolution audio". Interestingly, the THD at -30 dBFS is vastly better (-94.4 dB), which indicates the EUT might be clipping a bit when driven at full scale. SINAD is worse at -30 dBFS, though.
UNLOADED MEASUREMENTS: FREQUENCY RESPONSE
Same protocol as last time; let's look at the results:
Lots of interesting stuff going on here.
First, the 48 kHz response looks good, with only +/-0.01 dB from 30 Hz to 7 kHz. From there it rises around 0.9 dB higher in the treble, but which is a bit concerning but arguably nitpicky. Then it's down only 3 dB at 23 kHz, which is excellent. It looks a bit too good, in fact, since it's down barely 6 dB at Nyquist - more on that below.
The 44.1 kHz response looks identical to the 48 kHz one. Google Play Music seems to be doing its job well by not resampling 44.1 kHz to 48 kHz. Or if it does, it seems to be doing it correctly, contrary to the AIMP app I was using in my previous review.
As for the 96 kHz response… well, isn't that laughable. Picture me saying "96 kHz" with massive air quotes. We do technically get a signal through above 24 kHz, but just barely - while the DAC seems to indeed be running at 96 kHz the cutoff frequency is the same as the other sample rate, which defeats the point of running at 96 kHz in the first place. This basically means this EUT only "supports" 96 kHz on paper, not in practice.
Now, the strange behaviour around 24 kHz and the whole "too good to be true" high-frequency roll-off made me suspicious. So I looked at the measured sweeps themselves and looked closely at the area near 24 kHz using spectrograms. I was not disappointed:
These, ladies and gentlemen, are textbook imaging artefacts. Now, granted, all of this snafu is happening above 20 kHz, but it could still be audible due to the intermodulation distortion that these spurious tones could cause in whatever device is plugged into the EUT.
The behaviour at 96 kHz is even more hilarious, because there we have egregious aliasing artefacts as well:
Now, one could argue this could yet again be some crappy resampler in the player app used (Google Play Music), just like AIMP had its own crappy resampler in the previous review. But the only way that would make sense with the above measurements is if the app was upsampling 44.1 kHz and 48 kHz to 96 kHz (otherwise it would be impossible for it to create artefacts above Nyquist), which seems unlikely. Also, I confirmed that the bundled dongle from my previous review does not do this, even with the Google Play Music app. This looks more like sloppy design in the Moshi DAC itself, specifically the reconstruction filter.
Addendum: these poor results are Android's fault, not the dongle's. See below for native results measured from Windows, which look much better.
MEASUREMENTS INTO 16 Ω: MAXIMUM OUTPUT VOLTAGE AND POWER
Note that all loaded measurements are done with both channels loaded and playing the same test signal, but only the left channel is measured.
The 997-1-48000-24 test signal registers at -17.2 dBV, which means the maximum output level, into 16.5 Ω, is -16.2 dBV, or 0.15 Vrms, or 0.22 Vp, or 0.44 Vpp. This translates to an output power of 1.4 mW into 16.5 Ω.
The difference with the maximum unloaded output voltage is completely explained by the output impedance, as we'll see below.
MEASUREMENTS INTO 16 Ω: THD AND THD+N/SINAD (997 Hz)
Here's how things look like at -1 dBFS into 16.5 Ω:
Into 16.5 Ω, 997-1-48000-24 shows a THD of -77.9 dB (0.013%) and a SINAD of 77.2 dB (0.014% THD+N). This is pretty much the same as the unloaded measurement, but do keep in mind the aforementioned reduction in output level.
MEASUREMENTS INTO 16 Ω: OUTPUT IMPEDANCE AND FREQUENCY RESPONSE
Same protocol as last time; let's look at the results:
From these measurements we can see that connecting a 16.5 Ω load makes the output level drop by 17.2 dB compared to no load. From there we can directly deduce that the output impedance is a constant 103.0 Ω.
Wait, what?
This result is so bad I had to do a double take and repeated the measurement with a 100 Ω load, just in case. I obtained the exact same result. Wow. This is hilariously bad, and much, much worse than the bundled Pixel 3 dongle.
Note that, because the output impedance is higher than the load impedance I tested with, the output power of the EUT actually increases with load impedance, peaking at 3.1 mW into 100 Ω, and then decreasing afterwards.
CONCLUSION
Of course the elephant in the room here is the absolutely atrocious output impedance of the Moshi. At 103.0 Ω this is extremely unsuitable for driving most headphones; it would be better suited as a simple line output. Aside from that, the distortion figures of the EUT are mediocre; the behavior of the DAC reconstruction filter is appalling for a device sold in 2019; and its 96 kHz "support" is laughable. The only thing good about this EUT is its excellent frequency response at 44.1 kHz and 48 kHz, but considering the above, what's the point? AVOID, especially at this price.
Additional note: I used this device during a trip, where there was only 2G phone coverage at times. I was shocked to realize I could hear the infamous GSM interference tone from the Pixel 3 itself in the noise floor! In other words, the Moshi, a phone accessory, does not have proper shielding against EMI coming from the phone it is connected to. WTF. This device really is a cruel joke. Even the bundled Pixel 3 dongle did not have that problem.
Last edited: