yashsingh1/xdaforums huggingface dataset:
[Google Pixel XL Guides, News, & Discussion] chdloc:
Thanks for sharing your measurements!

For the sake of others looking at this, however, I think it is important to point out that the output impedance may be a problem and is by no means guaranteed.

Not all folks using this phone or looking to buying one use such high-demanding IEMs. Remember that my IEMs, the Sennheiser IE800, do not cause any measurable change in the overall frequency response, other than a frequency-independent level drop of 2.3 dB. I'm very satisfied how my IE800 sound with the Pixel.

As your own plots show, your IEMs cause "issues" in all configurations, even with the Astrell&Kern dedicated music player! Note that you are arguing over frequency response swing differences of less than 1 dB. Keep in mind that the amplifier-headphone system is largely linear so you can take the additional small frequency (and likely phase) swings due to the headphone-amp interaction and fold them into the already existing large swings of the headphones themselves (linear system theory).

My point is that those tiny frequency swings, +/- 1 dB, by themselves likely do not cause sufficient changes in the headphone's overall sound signature to be problematic. Unless the artificial bass boost causes the bass to become muddy.

The final word, however, will have to come after carefully conducted double-blind listening tests have been performed. I'm not going to making a lot of friends around here by saying that comparing the audio quality of two phones/devices without carefully matching the levels within a fraction of a dB and performing the tests blindly only result in subjective opinions without much merit.
[Google Pixel XL Guides, News, & Discussion] ChaosMinionX:
My Shure SE535's sure love this phone, sounds a bit better to me than my Nexus 6.
[Google Pixel XL Guides, News, & Discussion] Nitemare3219:
My SE846 with an impedance of 9 ohms sound great, although I do use the built in EQ a bit to create a v-shaped sound signature which I prefer. Maybe I'll do a comparison with my Grace m9XX DAC/amp to see if I notice any major differences with a flat EQ on both.
[Google Pixel XL Guides, News, & Discussion] bjrmd:
The "problem" with low impedance headphones is not necessarily the low impedance as [MENTION=2760454]chdloc[/MENTION] has indicated. It's the variability with frequency (because each driver and crossover has different impedance effects) that can mess with the frequency. The two graphs below are from a Note 4 (1.4 ohm) with a Shure se535 (variable but higher impedance) and the se846 (variable low impedance).

Here is the impedance graph of the se846-note the variability:

As can be seen, the frequency shifts are higher with the se846--but if the headphone impedance was the same throughout, it would look flat.

The se846- more exaggerated:

The se535 (much higher impedance but still variable)-not too bad:

I have measured the same curve with my Dragonfly red (.02 ohm) and it is totally flat

I would guess the exaggeration would be more with the Pixel (5 ohm). This may sound "better" to some, but not to others-as noted above.

My plan (after I get my preorder) is to remeasure the frequency response and just design some biquads to "fix it" the way I like it. But, the average user who is not adjusting this may notice a different sound signature.

It is not a deal breaker, but I was a bit disappointed in Google/HTC for not doing a better job. My Note 2 was close to 1 ohm, S6 1.4 ohm and Iphone noted above.
[Google Pixel XL Guides, News, & Discussion] chdloc:
It is actually a combination of a highly variable and low impedance. Higher impedance headphones with varying impedance will have less of an effect as the amplifier's damping factor -- which is a function of its output impedance -- will be able to "deal" with it.

But still, the number of users that have such high-demanding IEMs, like your SE846 or the AKG K3003, is likely very low. That's why I wanted to counter the general statement of doom and gloom expressed earlier in this thread. Having said that, you guys with demanding IEMs may want/need to resort to either utilizing correction filters, buying a different phone with a lower impedance amp, or investing in an external DAC and/or amp.
[Google Pixel XL Guides, News, & Discussion] kalrykh:
Thanks for the effort you put into this. I've got a couple sets of ciems from Noble Audio that I'm itching to try once my XL comes in.
[Google Pixel XL Guides, News, & Discussion] bjrmd:
GSMarena review up-no real surprises and basically agrees with above. Crosstalk -62 dB, not as good as HTC 10, Iphone but better than the LG V20 (special ESS dac).

All in all, with respect to audio a solid performer but certainly not spectacular.

Life is full of compromises.
[Google Pixel XL Guides, News, & Discussion] mariano3113:
This is from my Google Pixel (non XL)

Removed LO from LOHIFI (To my ears it seems to have reduced the 'Boomy’ bass)

About to test Elemental kernel.

[IMG="mixer-path.xml"]http://www.head-fi.org/content/type/61/id/1744383/[/IMG]

Edit:

another XML edit: "RX HPH Mode" value="CLS_H_LP" compared to HTC 10 & Note 7 (Snapdragon) "RX HPH Mode" value="CLD_H_HIFI"

Before:

[IMG="mixer_path pre edit"]http://www.head-fi.org/content/type/61/id/1744401/[/IMG]

After:

[IMG="mixer_path post edit"]http://www.head-fi.org/content/type/61/id/1744400/[/IMG]
[Google Pixel XL Guides, News, & Discussion] chdloc:
I've made that change, too, but I have a hard time hearing a difference (my headphones don't sound boomy to begin with).

Did you reboot after making the change? Measurements will have to wait until at least Monday.

Did you actually edit your mixer_paths.xml in /system or did you go the system-less route by binding a modified mixer in /su/etc?

BTW, biquad filtering, stereo recording, and a very first shot at dual loudspeaker playback seem to be working (the earpiece is a *lot* quieter than the main speaker, however), all done via mixer_paths.xml changes. I'm still having trouble, though, getting the biquads modification to work reliably when going the system-less route...
[Google Pixel XL Guides, News, & Discussion] Smallsmx3:
This is a great thread. I love getting the best out of my devices and sound has always been important to me. I'm no audiophile but I'll be keeping up with this. Thanks!
[Google Pixel XL Guides, News, & Discussion] mariano3113:
I did both: Edit via system .XML and then taking the edited .XML and pushing it via adb

Command:

su

adb push mixer_paths.xml /system/etc

adb push mixer_paths.x ml /su/etc

bind /su/etc:/system/etc

I also used Elemental kernel to slightly boost analog +3db on both channels. This has raised the volume levels to where I can match AUX input with other car radio levels(Volume balanced). When listening with Campfire Jupiters and Shure SE535 (Brown Knowles dampeners) I am now listening around 20-40 % of Volume bar as higher than 60 feels like hearing damage levels...lol.

Stock the Campfire Jupiters sounded overly 'Boomy' and sounded worse than Shure SE 535s which was a 1st for me.
[Google Pixel XL Guides, News, & Discussion] Reginalb124:
A few things to reply to. Firstly,

That's true, but the A&K (like all of their players) really isn't that great with low impedance IEM's itself. It has a 2‎Ω impedance from its single ended output. From my short time owning an A&K, I confirmed what I suspected. They're not really all that great as DAP's. Nor can they do anything else.

The more appropriate comparison (in my opinion) is the Nexus 6, which does an even better job than the A&K does, probably something like 1.5Ω, though I never bothered to measure it because I prefer my ZX1 with its pretty solid DSP as my day to day DAP.

I have yet to do any double blind tests, and alas, it will be a while. I just moved, and we are awaiting a new bed, so sleeping on a mattress on the floor are my wife and I. I was listening to my Merlins in bed, set them next to it as I went to sleep the other night. My wife proceeded to step on and shatter one of them! I was hoping to actually do one, because I immediately thought there was something off about the output before I even did the measurements. Could have been in my head, but I also disagree with this:

You're looking at +1 dB up until about 200Hz, and around -.5dB at 1000Hz. I am not terribly concerned about the rolloff up higher, as there isn't much content in music up there. But You could definitely get some masking at 1KHz when the bass and mids are 1.5dB higher. It's probably not going to make a huge difference, but given the ease of designing audio circuits these days, I'm not going to give Google a pass on this one.
[Google Pixel XL Guides, News, & Discussion] flar2:
[MENTION=2760454]chdloc[/MENTION]

I've built a kernel with controls for headphone gain if you're interested in experimenting that way. As with other wcd9335 devices, the compander has to be disabled to change analog gain, and is disabled by default in my kernel (it probably can't be turned on and off on the fly). The analog gain range is 0 to -20dB, configurable with EX Kernel Manager or /sys/kernel/sound_control/headphone_pa_gain. The full range of digital gain control is also available.
[Google Pixel XL Guides, News, & Discussion] chdloc:
Thanks! I'm currently trying to get my biQuads mod ported to the Pixel and I'm actually having trouble setting the analog headphone gains from within mixer_paths using the stock kernel (even with the compander disabled). I'll be digging some more, but if I fail, I'll certainly use your kernel going forward. The new hotword detection method also gives me plenty of headaches. The MAD interface use for hotword detection seems to be keeping one set of IIR filters locked up. I will possibly need to modify the kernel to pry free the IIR filter.

BTW, one small correction, the analog gain range should be 0 to -30 dB. Each 'tick' corresponds to 1.5 dB.
[Google Pixel XL Guides, News, & Discussion] chdloc:
Small update. Now that I have rooted my Pixel I've started looking into the effects of mixer_paths.xml modifications:

As suspected, full 1 Vrms output voltage can easily be unlocked by modifying two numbers in mixer_paths.xml (RX1/2 Mix Digital Volume 77 -> 84 in the "headphones" device). That should satisfy those of you who think the Pixel's amplifier is not "powerful" enough.

Simply replacing CLS_H_LOHIFI with CLS_H_HIFI has no measurable effect. I have not studied the kernel driver enough to make further comments.

Disabling the compander and keeping analog gain low does have a beneficial effect on noise floor (also expected). However, I did not expect to see non-harmonic distortion (THD) fluctuating "erratically" with changing digital gain. I will have to go through a suite of measurements by varying frequency and digital gains to pin down the cause.
[Google Pixel XL Guides, News, & Discussion] flar2:
Thanks! I will fix that in my app.
[Google Pixel XL Guides, News, & Discussion] avs333:
Very, very interesting! I believe there should be some sound ground behind this fidelity concept.

As the guys I know would usually listen to music rather than a 1-kHz (static) files, I do fancy,

maybe sending white noise cutoff to a reasonable frequency and calculating an r.m.s error in

Fourier transforms (dynamic) would be more indicative ? The more so with the Android's digital

volume ctls versus what could be achieved with the codec?

That said, I'm very envious about your Sennheiser 800 iems! The Sun is really turning around!
[Google Pixel XL Guides, News, & Discussion] chdloc:
Well, let's get the basic/static/steady-state measurements out of the way before we measure the dynamic behavior of the DAC/amp.

There certainly is a difference between Android's volume control and the digital one that the codec offers. I think Android still relies on fixed-point volume manipulation. So does the codec. However, the precision is different. I have to go and look, but I believe that the codec uses a higher precision. In either case, though, the differences should be inaudible under normal listening situations. Nevertheless, I'd like to make measurements to confirm.
[Google Pixel XL Guides, News, & Discussion] saj2001ind:
Great thread for audio lovers ... Anyone compared the sound quality of pixel xl with lg v20?

And is pixel sound quality comparable with a dedicated player like fiio x1 or x3
[Google Pixel XL Guides, News, & Discussion] mariano3113:
Had to RMA my 1st Pixel (Mic would die intemittngly along with Earpiece and headphone jack)

Maybe someone can tell me how to switch between Pixel Headphone modes? (IE: DRE on/off): Lines 1272 -1305 from Mixer_paths.xml on Pixel (https://android.googlesource.com/device/google/marlin/+/nougat-dr1-release/mixer_paths.xml)

<!-- HS RX path with DRE on -->

<path name="headphones-DRE">

<ctl name="SLIM RX1 MUX" value="AIF_MIX1_PB" />

<ctl name="SLIM RX2 MUX" value="AIF_MIX1_PB" />

<ctl name="SLIM_0_RX Channels" value="Two" />

<ctl name="RX INT1_2 MUX" value="RX1" />

<ctl name="RX INT2_2 MUX" value="RX2" />

<ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />

<ctl name="RX INT2 DEM MUX" value="CLSH_DSM_OUT" />

<ctl name="RX HPH Mode" value="CLS_H_LOHIFI" />

<ctl name="COMP1 Switch" value="1" />

<ctl name="COMP2 Switch" value="1" />

<ctl name="RX1 Mix Digital Volume" value="84" />

<ctl name="RX2 Mix Digital Volume" value="84" />

<ctl name="HPHL Volume" value="20" />

<ctl name="HPHR Volume" value="20" />

</path>

<!-- HS RX path with DRE off -->

<path name="headphones-generic">

<ctl name="SLIM RX1 MUX" value="AIF_MIX1_PB" />

<ctl name="SLIM RX2 MUX" value="AIF_MIX1_PB" />

<ctl name="SLIM_0_RX Channels" value="Two" />

<ctl name="RX INT1_2 MUX" value="RX1" />

<ctl name="RX INT2_2 MUX" value="RX2" />

<ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />

<ctl name="RX INT2 DEM MUX" value="CLSH_DSM_OUT" />

<ctl name="COMP1 Switch" value="0" />

<ctl name="COMP2 Switch" value="0" />

<ctl name="RX1 Mix Digital Volume" value="84" />

<ctl name="RX2 Mix Digital Volume" value="84" />

<ctl name="HPHL Volume" value="20" />

<ctl name="HPHR Volume" value="20" />

</path>
[Google Pixel XL Guides, News, & Discussion] chdloc:
I'm not sure if you can switch between the two modes dynamically, but if you edit the file and reboot, you can.

DRE stands for Dynamic Range Extension. This mode is controlled by the compander (COMP) switches. So you can either turn the two companders off in the "headphones-DRE" device or call the "headphones-generic" one instead of "headphones-DRE" in the "headphones" device.
[Google Pixel XL Guides, News, & Discussion] bjrmd:
Got my Pixel XL yesterday and did some preliminary tests/observations.

Firstly, since the impedance is high (5 ohm) I was concerned what the interaction would be with the very low impedance (and multi driver) Shure se846. As expected (and I was hoping to be wrong) there is a major frequency shift:

Next crosstalk

First no load, not bad near 90 dB:

With the se846, significant drop but not as bad as I thought:

Finally analog/digital gain noise floor. This is very preliminary (compander on, adjusted via elementalx kernel)

Significant improvement with low analog (0) gain. But the harmonic at 2 Khz is worrisome and increased(not shown) as the digital gain went from -8 to 0 dB which was surprising.

More to come as I try to port my gain optimization routine and make better sense of this behavior.

There is no way a conventional equalizer can fix that FR above but Biquads by [MENTION=2760454]chdloc[/MENTION] should come to the rescue.
[Google Pixel XL Guides, News, & Discussion] Nitemare3219:
Personally, I don't think my SE846 sound any worse with the Pixel XL compared to any other phone I've used. I do EQ them for more bass and highs as I dislike a clinical sound (funny considering I also own HD800S) most of the time. What I dislike though, is there is a seriously audible noise floor. I can hear it when I plug the headphones in briefly, and then it cuts out. Open GP Music or YouTube, it cuts back on for a few seconds, and then cuts out again since no content is being played. I can't actually notice it when listening, but it's certainly there.
[Google Pixel XL Guides, News, & Discussion] chdloc:
See whether lowering the analog gain ("HPHL/R Volume" in the mixer_paths' "headphones" device) would help reduce the audibility of the noise floor for you. Note that you would have to turn off the compander ("COMP1/2 Switch") as the compander blocks analog gain control. You could use the ElementalX kernel which offers analog gain control, with the compander disabled.
[Google Pixel XL Guides, News, & Discussion] mariano3113:
Thanks for that.

I'm still confused as to what would normally trigger Dynamic Range Extension in the normal Pixel/XL audio playback.

-Does Google have something planned in the future or was it just coding oversight?

Qualcomm Aqstic specs Codec/DAC/Amp looked promising, but it seems Google failed it implementation.

(https://www.qualcomm.com/products/snapdragon/processors/821)

Audio Technology

Qualcomm Aqstic™ audio technology

Qualcomm Aqstic™ audio codec playback support

192kHz 24-bit lossless audio playback

Qualcomm Aqstic™ Speaker Amplifier output power

Up to 4W output power

Qualcomm Aqstic™ technology

Qualcomm Aqstic™ audio codec

Qualcomm Aqstic™ speaker amplifier with Speaker Protection
[Google Pixel XL Guides, News, & Discussion] chdloc:
The compander servers as the dynamic range extender (DRE). Looking at mixer_paths, all media-related headphones playback uses the DRE, while telephony use cases do not.

It is true that Google did not implement "high-resolution" audio such as 24 bit / 192 kHz, which has been available on Qualcomm DACs back to at least the Nexus 5. In my opinion, high-resolution audio is nothing more than a marketing buzzword, so I personally don't miss that functionality. I'm sure, though, that it could be offered by custom ROMs in the future.

Lastly, while Google did not use Qualcomm's speaker amplifier, it does use one by NXP. I haven't looked at the differences between the two amplifiers to know what exactly the difference is.
[Google Pixel XL Guides, News, & Discussion] Smallsmx3:
You seem to know what your talking about. I was really hyped about having a phone with great audio before I got my Pixel. Now that I have it im not fully disappointed but it's just average I would say. I thought the Qualcomm Astiq was going to be something special. I've always used a Nexus so I've blamed Google for sub par audio in stock Android. Is this the case here with the Pixel? Could the audio get better through an update? I guess I'm wondering if we have the hardware to put out some good sound?
[Google Pixel XL Guides, News, & Discussion] mariano3113:
Thank you ever so kindly. Very insightful.

NXP (Formerly Freescale and soon to be Qualcomm)
[Google Pixel XL Guides, News, & Discussion] sonicdivx:
[MENTION=2760454]chdloc[/MENTION] you briefly mentioned the HTC 10, have you compared the two? I just got my Pixel XL and so I am in the 15 day try period (its already failed the transfer setup feature due to google play services crashing) so trying to evaluate all aspects to decide if i keep or get an HTC 10 (since had to return my Note 7).

Great write up by the way.
[Google Pixel XL Guides, News, & Discussion] saj2001ind:
Yes a simple comparison of sound quality would be nice compared to HTC 10 or lg v20

Sent from my Pixel XL
[Google Pixel XL Guides, News, & Discussion] bjrmd:
It looks like the crosstalk is different according to gsmarena
[Google Pixel XL Guides, News, & Discussion] chdloc:
The Qualcomm codec/amp is definitely capable of producing high-fidelity audio. As I said in the OP, I'd prefer to discuss fidelity rather than quality as the latter is very subjective.

As [MENTION=281070]bjrmd[/MENTION] 's and my measurements show, the audio fidelity is very decent with a couple of question marks around the presence of the first-order harmonic. I'll make more measurements to get to the bottom of this issue later this week.

My overall assessment so far is that the audio fidelity of the Pixel should result in sound that is not audibly different from any other recent smartphone out there. I challenge anybody -- who does not use very hard to drive multiple armature IEMs -- to prove me wrong by presenting the results of carefully calibrated double-blind tests.

I do not own a HTC 10, but they share the same hardware. Measurable differences will come down to board layout and, potentially, software "enhancements" of the HTC 10.
[Google Pixel XL Guides, News, & Discussion] chdloc:
Thanks for the link!

The very significant difference in crosstalk between the Pixel and Pixel XL is very surprising. The fact that gsmarena did not make a mention of this (maybe incorrect?) result makes me wonder whether those guys really know how to interpret the numbers they are measuring/presenting.
[Google Pixel XL Guides, News, & Discussion] bjrmd:
Some more measurements comparing Lo fi, Hi fi and AB DAC modes setting in mixerpaths.

Chain: windows 10 laptop on battery, asus xonar sound card, player was Neutron all quality settings at max.

Maximum output, Android vol 15, digital 0 and analog at 20.

Lofi:

AB:

Hifi:

Verdict:-close, AB may be a bit worse

Average listening output- Android vol 15, digital 0 and analog at 0.

Lofi

AB:

Hifi:

Verdict: all very close

Effect of low Android volume+0 digital gain vs max Android volume -30dB digital gain(same analog gain at max=20, same net output)):

Android vol cut AB:

Android Vol cut Hifi:

Adroid Vol cut Lo fi:

RX digital gain cut:

Android volume cut introduces more distortion than the digital RX cut does. Perhaps Hifi is better than the others?

Final Verdict--

Lofi , AB and Hifi dac settings are all very similar, maybe AB worse at max voltage out. Perhaps Hifi better at low android vol.

To minimize noise floor and distortion, keep android vol at max, analog lowest possible value and to adjust net output use the RX digital gain.

Note--I also measured output impedance in all three modes--it was the same about 5 ohms.
[Google Pixel XL Guides, News, & Discussion] chdloc:
Thanks for sharing your measurements!

One thing I'd like to point out here is that according to the codec's kernel driver sources, the amplifier's class AB mode is only associated with the lineout amplifier and not the headphone amplifier. I'm not sure what triggers the lineout signal path to be activated. Logically, I would assume that a high source impedance (> 1 kOhm) would trigger a switch from headphone path to lineout path. That does not seem to be the case as my measurement equipment has an input impedance of up to 100 kOhm and yet the headphone path is selected.
[Google Pixel XL Guides, News, & Discussion] iamhacked:
I find that the Pixel XL provides much better stereo separation (soundstage?) compared to my Galaxy S6, or even my Fiio E10.
[Google Pixel XL Guides, News, & Discussion] chdloc:
In case you guys are interested, I ported my biQuads mod to the Pixel(s). With this mod you can use the five biquad filters that are offered by the Qualcomm audio codec for headphone response tweaking, which is significantly more efficient than any library can ever be. As this mod does not rely on any libraries that may break with a system update, but only on a single xml file (mixer_paths.xml), this mod is future-proof, and (mostly) ROM and kernel-independent.

Of course, now I'm going down the slippery slope into the "audio quality" rabbit hole.

Refer to this post for details.
[Google Pixel XL Guides, News, & Discussion] niteowl360:
Thank you

Very informative.

Do you have something similar for the LG V20 which you mention very briefly in the opening.

Thanks
[Google Pixel XL Guides, News, & Discussion] chdloc:
I don't have access to an LG V20.
[Google Pixel XL Guides, News, & Discussion] niteowl360:
Thank you for your reply.

I'm in South Africa, so I guess a long way to make my device available to you.

Perhaps LG may assist you with this.

I'm sure your efforts would be favourable to them.
[Google Pixel XL Guides, News, & Discussion] chdloc:
Well, what I meant was that neither I nor anyone I know owns an V20. I'm sure LG would be more than capable of making the measurements and I'm sure they have.