I just got a refurbished Samsung Galaxy Note 4 to replace a dead Note II. When compared with the Note II, it is giving me terrible audio quality for voice recordings done with headset mics — there is a severe high-frequency roll‑off that leaves the recording sounding muffled.
I initially discovered this when using the headset that came with the Note II. I have a homemade windscreen rigged up on it, so I wanted to keep using it rather than trying to transfer that to the headset that came with the Note 4.
So, the exact same microphone and windscreen, using the stock Voice Recorder app on both phones, neither rooted, in high quality mode in both cases (recording MPEG-4 audio), and the difference is night and day when listening to existing recordings done on the Note II vs. tests on the Note 4. The recordings from the Note II certainly donʼt sound like a studio condenser mic (like in the appʼs graphic, lol), but theyʼre of reasonable quality, more than adequate for speech. High frequency detail is there; I can hear leaves rustling very crisply, and sibilants in speech are clear and distinct. The recordings from the Note 4, by contrast, sound muffled. Sibilants are muted and somewhat indistinct. It sounds like it was put through a low‑pass filter. Speech is still basically intelligible, but the gap in quality could well make the difference between making out certain words or not under less ideal conditions.
The overall signal level in the Note 4 recordings is also noticeably lower. I have to turn up those recordings more than the Note II recordings to compare them equally. (
Iʼm wondering if that and the fidelity problem may be related — the MPEG codec might throw out very quiet high-frequency data by design.) I should note that in the Note 4 the “Recording volume” setting is set to “High” (thereʼs only that and “Low”).
Iʼm listening to both files on a PC with VLC media player, through a home hi‑fi system with proper speakers — not some cheezy self-powered made‑for‑computers garbage.
VLC is showing the recordings from both phones to have a content bitrate around 128kb/s, so I donʼt think itʼs a matter of bandwidth loss from more aggressive data compression.
I figured maybe the electrical parameters of the headset had changed between the two models, and so also did a test with the headset that came with the Note 4. It was maybe very slightly better due to the lack of the windscreen, but basically still horribly muffled — low signal level and significant loss of high frequency response.
I should note that this is not a problem with the Note 4ʼs internal mics. When I unplug the headset and record with the internal mic, the recording is much louder and has decent frequency response.
Possible explanations I can think of:
There has been a significant regression in the quality of the preamp or ADC circuitry for the external mic from the Note II to the Note 4.
My particular Note 4 has a problem in the audio connector that is introducing extra resistance. I have tried cleaning it with a cotton swab and isopropanol, and the issue remained.
My particular Note 4 has a damaged mic preamp or ADC circuit.
There is a system setting buried somewhere that I need to change, other than the obvious settings in Voice Recorder, which are already set to their highest levels.
There is a bug in the Note 4ʼs firmware.
There is a bug in the Note 4ʼs Voice Recorder app, but this seems unlikely, as I expect it just encodes whatever audio the OS gives it.
Any ideas which of these might be happening? If this is a problem in the model itself, surely someone else has encountered this long ago.
The exact model is SM-N910W8 running Android 6.0.1, kernel 3.10.40-8000148.
I did testing with a 3rd party app that can record raw PCM into a RIFF (WAV) file, and the same muffled sound was there, so itʼs not the fault of the stock recording app or data compression.
Robertʼs suggestion led me to figure out that the ADC for the headset input is in a Qualcomm WCD9330 chip. I also discovered from schematics I was able to dig up that the internal mics are digital mics (the ADC is built into the mic), so the WCD9330ʼs ADCs are not being used for those. I also checked out the engineering specs for a couple similar chips in the same line (Qualcomm doesnʼt seem to have published specs for that exact device), and nothing there suggested that the frequency response should be anywhere near so poor unless the firmware has drastically misconfigured the chip.
I did find a reference, on XDA Developers here, regarding a totally different device, the Samsung Galaxy Tab S2 8.0 LTE, that uses the same chip and has muffled audio input caused by a firmware issue. In that case, a custom ROM was causing the issue, and the stock ROM worked fine. In my case, itʼs using the stock ROM (AFAIK!), but perhaps in this case the stock ROM is at fault.
I did some testing and found, somewhat surprisingly, that the frequency response is actually full hi‑fi with the exception of a two-octave 10dB notch at around 8kHz. This dip at 8kHz is very consistent with what the recordings are doing to speech. Given that the response is consistent with a notch filter, it now looks like the behaviour is probably half‑ways intentional, which was a bit mystifying. I decided to put up this question on the Electrical Engineering SE, to see if there might be a plausible engineering explanation.
The result of that discussion is that it would be normal, due to sampling rates used in telephony, to knock out frequencies above 4kHz in order to avoid transmitting severe aliasing artefacts to the remote party. That filter should get turned off when an app asks for PCM data at a higher sampling rate, but the electronics allows independent control over the filtering, so itʼs quite plausible that the firmware in this particular model, when disabling the filter for audio recording, forgets to disable it on the external mic input.
So far I have not found a confirmation of this as a known issue of this model, but it seems like the most likely explanation.
On a firmware/software level, Android devices are basically a black box to me, so I have no idea where in the software stack this issue would be most likely to be, whether this might be fixed by a custom ROM, or by some utility that runs rooted, or what.
Another dimension to the problem is the very low input volume level. I had originally thought that was related, though it now seems more likely it may be a separate issue. I did find the following suspicious lines in
<path name="rec-headset-mic"> <path name="ear-mic"/> <ctl value="14" name="ADC2 Volume"/> <ctl value="72" name="DEC5 Volume"/> </path>
There are a number of other places there and in
mixer_paths_i2s.xml (I2S is Inter‑IC Sound, a hardware bus used by the WCD93xx) that also set a similarly low number for the volume for
I say this is suspicious because from what I understand, the integer setting here is in 1dB increments with 84 being 0dB. This would suggest that
ADC2 is being set to -70dB — a remarkably low level! However,
ADC2 is a hardware port whereas
DEC5 is I think some kind of software mixing channel, so without much more intimate knowledge of Androidʼs audio hardware abstraction scheme, I canʼt be sure that the numbers for
ADC2 are interpreted in the same way.
To make matters more confusing, there are two identical copies of this file, one in
/etc and one in
/system/etc. Also, the
mixer_paths_wcd9330.xml file, mentioned for the Galaxy Tab S2, does not occur in either of these locations. And there doesnʼt even seem to be a
/system/vendor/etc directory on this phone.
I canʼt edit this file to play around with it without rooting the phone, but Iʼm a little reluctant to do that, partly from having zero experience rooting phones, and also because if I do discover a hardware issue, I donʼt want the store to be able to blame it on that. So Iʼd need to first be confident itʼs going to fix the problem.