FP2 audio quality

Sometimes the SOC contains all the hardware, and even the codecs, but they are activated/deactivated during production (by programming the non-volatile memory in the chip) depending on which codecs have been licensed. This memory is not always accessible without specialist equipment. I don’t know whether this is the case here, and I really don’t know whether the audio quality issues are even related to the codec, or whether something else is going on.

Also: I’m in no way saying the issues cannot or should not be fixed with the current hardware, but for those interested there are some audio-related posts elsewhere on the forum:

USB-OTG external sound cards seem to work:

In terms of providing modules / extensions, if USB OTG devices work, the built-in USB port (under the back cover) will see more options after the next software upgrade. Discussion on USB specs is going on here (rather spread out throughout the topic):

So I would guess there is a possibility to integrate a USB DAC in a modified backcover - but I’m not a hardware expert, so reality may be different.

Finally, module suggestions are being collected in the topic below, but again, whether any of them will ever be realised is anyone’s guess.

1 Like

you guys are ruining the surprise.

3 Likes

Ah ! I knew I would love you @dvl (and forget about my grand-father, he is sadly not here anymore to buy an Emergency button modifier back-cover…)

Another evidence about the poor quality of the audio electronics at work is easily experienced using this ultrasonic file : http://people.xiph.org/~xiphmont/demo/30_and_33.wav

From this great article : https://people.xiph.org/~xiphmont/demo/neil-young.html

Playing two ultrasonic frequencies should result in a perfect silence for humans. But played with poor equipement (DAC, amp…), in creates intermodulation noises in human audible range (not pleasant to hear).

I tested this file against the Intel HDA chip of my ux305fa laptop : no noise.
AudioQuestion DragonFly 1.2 DAC : (edit) light noise (with good configuration)
Hifime DIY 9018D DAC : (edit) lighter noise
Nokia E6 player can’t play it…
Fairphone is noisy (edit : both loud speaker and headphones).

So in fact I was happy to hear some noises with the Fairphone, to have at last one bad soundcard detected (to ensure the method works).

2 Likes

To balance my point of view (and waiting to test extarnal DAC via OTG myself), I have to say that the loud speaker is doing pretty well regarding other phones.

Playing the 30_and_33.wav on my FP2 gives no noise via speaker or headphones like on my notebook too. As I wrote in another thread, my impression is that FP2 speaker and headphone output sounds rather muffled (“gedämpft” in German) with high bass and low treble.

Same impression here. Using it as My audiobook speaker for Weeks now and it does a decent Job playing music.

So I may have received a bad sound one, with impossible to miss noise playing the 30_and_33.flac (flac version of it) with VLC. A bit like some people got a non flat screen FP2, or a very-flickering FP2, or an often-rebooting one, or an unusable while chargine one… it looks like a box of chocolate, you’ll never know what you’ll get :slight_smile:

Just tried the audiofile 30_and_33.wav with Vanilla Music app. No unpleasant noises eared with a Parrot Zik 2.0 headset, both bluetooth or cable.

Interesting file, thanks for posting this.
Runs fine (i.e. noiseless) on my PC, but man, what an incredible noise it makes on my FP2 (with VLC) - both, on the built in speakers as well as through my head phones …

edit: Just tried it again with Apollo & the default music player. Didn’t hear noise on the built in speaker, and on headphones only when turning up volume very high. So apparently the noise is somehow connected also to VLC on the FP2 (VLC on PC gives no noise).

I assume the DAC in the Parrot Zik 2.0 (so on the other end of the bluetooth link) is a good 32 bits one, and so Parrot electronics may not produce intermodulation noises. Or bluetooth A2DP cuts off high frequencies.

So you’ll need to use the cable, and a music player not cutting inaudible high tones to able to play music files at 24 bits and 96kHz. For instance, pulseaudio mainstream GNU/Linux audio mixer (used in Ubuntu, Debian…) always downgrade sound quality to 44,1kHz or 48kHz. So you won’t ever hear intermodulation noises using it as 30 kHz and 33 kHz need a sample rate above 60 kHz (resp 66 kHz) to be encoded in a sound file. (so called Nyquist frenquency : you need twice the frequency rate to encode a wave signal).

OK… having said this, I understood a mistake I made the last time, and took my DACs back now that I know I must setup VLC to directly use Alsa drivers (and so avoid PulseAudio mixer) to be able to output 96 kHz sound files :

  • integrated Intel HDA : no noise, the chip must be unable to play more than 48 kHz ;
  • AudioQuest DragonFly 1.2 : light noise, but clear and continuous, at highest volume ;
  • Hifime 9018D : lighter noise, low tone in one mode, hight tone in the other one (USB2.0 or 1.0 can’t the exact match).

So at least, Fairphone 2 via VLC looks like able to play HiRes audio (but with important intermodulation noises). There’s no downgrading quality software conversions. If it have been a good integrated DAC it wouldn’t have been spoiled.

Now, based on intermodulation noise level heard playing 30_and_33.wav / .flac we can appreciate how far the FP2 DAC is under the DAC I like (for instance) regarding music playback quality. It’s a clear difference, but not something extreme neither. Just like when a dish miss salt in it.

And this experiment gives more credibility again to : https://people.xiph.org/~xiphmont/demo/neil-young.html (Ogg, Opus and FLAC format contributor)
Advocating for no more than 44.1 kHz or 48 kHz and 16 bits (accepting 24 knowing it wastes space on harddrive).
In other words : HiRes audio looks like a bad marketing way to sell music with higher price, while your ears can’t make the difference and the hardware will spoil the quality.

Flac @ 16/24 bits and 44,1 kHz is and will always be enough for our ears.

While active noise-cancellation in headsets may require a 32 bit DAC (e.g. in Parrot Zik 2.0) as it struggles against infinite precision noises…

Tried it with my internal laptop soundcard, the Nuforce uDac3 DAC and the Fairphone2 and haven’t heard any noise. I’ve used the WAV and the Orpheus player with DT 770 (maybe the 250ohm impedance is too high?)

Haven’t been listening to music a lot with the FP2 but to me, it sounds okay for a smartphone.

I’ve tried the file with VLC (1.7.5 from Google Play Store), no noise over build-in speakers, headphones or bluetooth speakers.

Note that the VLC versions in F-droid and the Google Playstore are usually at different version numbers, and that users have reported issues that appear to be specific to either the F-droid or the Play store. In other words, VLC results may differ based on where the app was installed from.

Good catch, I’m using a VLC 2015-10-25 (rev. 8bdd42e) from F-Droid.

Another explanation could be (take it as a joke ok ?) that intermodulation noises resulting in playing 30_and_33.flac with the loud speaker in VLC is very hight tone, and may not be heard by everyone, as the ability to hear very hight tones is what our ears are loosing first).

Then 30_and_33.wav also produces hight tone noise on my FP2 (but VLC appears to often skip a random ending part of the file, it is not playing it 'till the end, while .flac one is ok).

Another try : 30_and_33.wav with VLC 1.6.6 rev 8bdd42e from F-Droid, again with Parrot Zik 2.0 and I can ear this high tone sound… And yes, it’s very unpleasant !
Strange behaviour : it’s more audible (and much more unpleasant) in bluetooth mode than in cable mode.

The noise is not emitted anymore using VLC 1.9.0 (updated in F-Droid).
I tried the 2 Audio output of Advanced settings (AudioTrack and OpenSL ES).
So newer versions of VLC must be limited now (as PulseAudio does on the main GNU/Linux distribution) to 16 bits / 44.1 kHz.

  • AudioQuest DragonFly : not working (external audio DAC)
  • HiFime DIY 9018D : working with 32ohm headset (not with 250ohm headset)

AudioQuest is to release soon an Android compatible DAC with low power consumption… I may have to wait.
HiFiMe DIY 9018D is reported as plug-and-play with Android 5.0 Lollipop (Nexus 6), but even with a 32ohm headset, I still have noises or cuts once every ~45s.

As stated here : ✏ FP2 : USB device compatibility

With updated FairphoneOS 1.2.8:

  • HiFime DIY 9018D works perfectly, even with 250ohm headset (Beyerdynamics DT900 pro)

\o/

(still nothing with AudioQuest DragonFly 1.2)