Hi, I've noticed that when recording voice notes on instant messaging apps such as WhatsApp or Telegram, the microphone being used for that is the one on the top (near the selfie cameras) instead of the one on the bottom (next to the USB port) and it records in such a bad quality. This issue extends to all apps, including Google voice search and Google assistant.
I've used this app (https://play.google.com/store/apps/details?id=org.greh.mictest) to test the microphone and it only works with the bottom microphone only if you set it to MIC and Stereo, every other setting just uses the top microphone. Also, recording video with the stock camera (using audio zoom or not) records audio with just the top mic too.
If anyone could test their device (either on stock or custom ROM, it doesn't matter as they both use the same mixer path and audio platform info) and answer the poll either with a yes or a no I would be very grateful.
I've factory reset the phone, checked apps that may be conflicting, etc and it's driving me nuts. Motorola support is just suggesting me to replace the phone, but I'm pretty sure this is a software issue.
I'm on the latest stock update if that matters.
EDIT: After more testing on camcorder, stereo recording works fine, but when choosing mono recording, it records sound with the top mic. This done with OpenCamera. Choosing different input options from open camera shows that when you select "Default input" in mono mode, it defaults to the top mic instead of the bottom one.
I am on lineage os 18.1 currently and honestly had no answer for the poor audio quality of my VNs in IM apps... I even developed a practice of asking about my voice clarity during phone calls. Now I understand...
I am going to upgrade to 19.1. If I find a fix or workaround, I will report back here.
I was just doing a little research. Maybe someone can compile an apk or a flashable zip to iron out this bug if Motorola doesn't step on it...
It appears that the "android.permission.RECORD_AUDIO" for IM apps is linked to "MediaRecorder.AudioSource.CAMCORDER" when it should be linked to "MediaRecorder.AudioSource.MIC" or vice-versa.
KnightTheWayne said:
I was just doing a little research. Maybe someone can compile an apk or a flashable zip to iron out this bug if Motorola doesn't step on it...
It appears that the "android.permission.RECORD_AUDIO" for IM apps is linked to "MediaRecorder.AudioSource.CAMCORDER" when it should be linked to "MediaRecorder.AudioSource.MIC" or vice-versa.
Click to expand...
Click to collapse
Nice find, I was taking a look at the stock mixer_paths.xml and the build.prop file under system_ext and found two things, for mono recordings, the mixer_paths.xml redirects all voice recording requests to the "speaker mic" which is set to record from microphone 2 (the top microphone from my testing) and the build.prop file has noise cancelling disabled for speaker and voice recording, if noise cancelling was active, the phone would use the main mic and use the top one for noise cancelling.
I will report this again to Motorola (the first time they just told me to get the phone RMA'd lmao, now I have mor people to back up my claims).
KnightTheWayne said:
I was just doing a little research. Maybe someone can compile an apk or a flashable zip to iron out this bug if Motorola doesn't step on it...
It appears that the "android.permission.RECORD_AUDIO" for IM apps is linked to "MediaRecorder.AudioSource.CAMCORDER" when it should be linked to "MediaRecorder.AudioSource.MIC" or vice-versa.
Click to expand...
Click to collapse
Hey, here are the things I think should be changed for the issue to be resolved (either try one or the other, not the two at the same time so we can see which one of these fixes the issue, if they do at all):
1) In the file '/system_ext/etc/build.prop':
In lines 37 and 38 we can see that noise cancelling is disabled for voice recording and speaker mode, which means that instead of using the bottom mic and the top mic as the noise mic, it's just using one mic, and it's using the wrong one (the top one), this values should be set to true.
2) In the file '/vendor/etc/mixer_paths.xml':
At lines 2177 through 2187 we can see each mic, 'mic1', 'mic2' and 'mic3' being set to 'amic1', 'amic3' and 'amic4' respectively. 'mic1' is the bottom mic, 'mic2' is the top mic and 'mic3' is the audio zoom mic.
Then, at line 2234 we can see that 'speaker-mic' is being set to 'amic3' ('mic2' according to the previous setting) which makes no sense as 'amic3' is the top mic, this should be set to 'amic3'.
I can't try this because my phone is still locked, but if you're rooted you could try this and see if they do work.
blckbear said:
Hey, here are the things I think should be changed for the issue to be resolved (either try one or the other, not the two at the same time so we can see which one of these fixes the issue, if they do at all):
1) In the file '/system_ext/etc/build.prop':
In lines 37 and 38 we can see that noise cancelling is disabled for voice recording and speaker mode, which means that instead of using the bottom mic and the top mic as the noise mic, it's just using one mic, and it's using the wrong one (the top one), this values should be set to true.
2) In the file '/vendor/etc/mixer_paths.xml':
At lines 2177 through 2187 we can see each mic, 'mic1', 'mic2' and 'mic3' being set to 'amic1', 'amic3' and 'amic4' respectively. 'mic1' is the bottom mic, 'mic2' is the top mic and 'mic3' is the audio zoom mic.
Then, at line 2234 we can see that 'speaker-mic' is being set to 'amic3' ('mic2' according to the previous setting) which makes no sense as 'amic3' is the top mic, this should be set to 'amic3'.
I can't try this because my phone is still locked, but if you're rooted you could try this and see if they do work.
Click to expand...
Click to collapse
On any custom ROM I have noise cancelling issues: my caller always hears their own voice when I'm in speaker mode.
So I tried to apply the changes you mentioned on LineageOS 19.1:
1) Cannot be done because lines 37-38 are missing
2) I did it by setting amic1 and then amic4, with a restart each time. But it looks like I broke my phone by doing this, as now calling apps just crash or stop working properly. Do I have to do anything else besides just modifying and restarting the phone? Even after setting it back to amic3, calling apps still crashed.
Edit: I had to update LineageOS to finally fix the problems.
In any case, can you share your stock build.prop and mixer_paths?
Demax55 said:
On any custom ROM I have noise cancelling issues: my caller always hears their own voice when I'm in speaker mode.
So I tried to apply the changes you mentioned on LineageOS 19.1:
1) Cannot be done because lines 37-38 are missing
2) I did it by setting amic1 and then amic4, with a restart each time. But it looks like I broke my phone by doing this, as now calling apps just crash or stop working properly. Do I have to do anything else besides just modifying and restarting the phone? Even after setting it back to amic3, calling apps still crashed.
Edit: I had to update LineageOS to finally fix the problems.
In any case, can you share your stock build.prop and mixer_paths?
Click to expand...
Click to collapse
the mixer paths file is the same on stock and custom roms, the build prop is auto generated so they're different, it wouldn't be a good idea to use the stock build prop in lineage. It's a pitty that the changes made stuff worse. the only thing that comes to mind is to check under /vendor/etc and system/etc for the other build prop files and see which ones have the settings for noise cancelling. I'll extract them from lineage and see if there's anything I can suggest. Thanks for testing tho
Demax55 said:
On any custom ROM I have noise cancelling issues: my caller always hears their own voice when I'm in speaker mode.
So I tried to apply the changes you mentioned on LineageOS 19.1:
1) Cannot be done because lines 37-38 are missing
2) I did it by setting amic1 and then amic4, with a restart each time. But it looks like I broke my phone by doing this, as now calling apps just crash or stop working properly. Do I have to do anything else besides just modifying and restarting the phone? Even after setting it back to amic3, calling apps still crashed.
Edit: I had to update LineageOS to finally fix the problems.
In any case, can you share your stock build.prop and mixer_paths?
Click to expand...
Click to collapse
For the issue you say, you may be able to fix it by changing some stuff inside /vendor/build.prop
In line 134 change "persist.vendor.audio.voicecall.speaker.stereo" from true to false. If this doesn't fix your issue when calling using speaker mode then I'm out of ideas sadly.
blckbear said:
Hey, here are the things I think should be changed for the issue to be resolved (either try one or the other, not the two at the same time so we can see which one of these fixes the issue, if they do at all):
1) In the file '/system_ext/etc/build.prop':
In lines 37 and 38 we can see that noise cancelling is disabled for voice recording and speaker mode, which means that instead of using the bottom mic and the top mic as the noise mic, it's just using one mic, and it's using the wrong one (the top one), this values should be set to true.
2) In the file '/vendor/etc/mixer_paths.xml':
At lines 2177 through 2187 we can see each mic, 'mic1', 'mic2' and 'mic3' being set to 'amic1', 'amic3' and 'amic4' respectively. 'mic1' is the bottom mic, 'mic2' is the top mic and 'mic3' is the audio zoom mic.
Then, at line 2234 we can see that 'speaker-mic' is being set to 'amic3' ('mic2' according to the previous setting) which makes no sense as 'amic3' is the top mic, this should be set to 'amic3'.
I can't try this because my phone is still locked, but if you're rooted you could try this and see if they do work.
Click to expand...
Click to collapse
Hi @blckbear ;
Could you share the exact lines (the content) in /vendor/etc/mixer_paths.xml and /system_ext/etc/build.prop which should be tested? I am on LOS20 and could do the check for you by pulling/pushing the files and changing the lines you are talking about, though on LOS20 it is definitely not /system_ext/etc/build.prop ;-)
blckbear said:
For the issue you say, you may be able to fix it by changing some stuff inside /vendor/build.prop
In line 134 change "persist.vendor.audio.voicecall.speaker.stereo" from true to false. If this doesn't fix your issue when calling using speaker mode then I'm out of ideas sadly.
Click to expand...
Click to collapse
Thanks for the help, but unluckily changing line 134 from true to false did not fix the issue...
blckbear said:
Hey, here are the things I think should be changed for the issue to be resolved (either try one or the other, not the two at the same time so we can see which one of these fixes the issue, if they do at all):
1) In the file '/system_ext/etc/build.prop':
In lines 37 and 38 we can see that noise cancelling is disabled for voice recording and speaker mode, which means that instead of using the bottom mic and the top mic as the noise mic, it's just using one mic, and it's using the wrong one (the top one), this values should be set to true.
2) In the file '/vendor/etc/mixer_paths.xml':
At lines 2177 through 2187 we can see each mic, 'mic1', 'mic2' and 'mic3' being set to 'amic1', 'amic3' and 'amic4' respectively. 'mic1' is the bottom mic, 'mic2' is the top mic and 'mic3' is the audio zoom mic.
Then, at line 2234 we can see that 'speaker-mic' is being set to 'amic3' ('mic2' according to the previous setting) which makes no sense as 'amic3' is the top mic, this should be set to 'amic3'.
I can't try this because my phone is still locked, but if you're rooted you could try this and see if they do work.
Click to expand...
Click to collapse
Using LOS20 build and changed the lines as you mentioned:
In /system/build.prop:
Code:
persist.vendor.audio.voicecall.speaker.stereo=false
In /system/vendor/etc/mxer_paths.xml line 3018:
Code:
<path name="amic1" />
The complete part:
Code:
<path name="speaker-mic">
<path name="amic1" />
</path>
Testing the coming days, will let you know the results.
Moto-J said:
Using LOS20 build and changed the lines as you mentioned:
In /system/build.prop:
Code:
persist.vendor.audio.voicecall.speaker.stereo=false
In /system/vendor/etc/mxer_paths.xml line 3018:
Code:
<path name="amic1" />
The complete part:
Code:
<path name="speaker-mic">
<path name="amic1" />
</path>
Testing the coming days, will let you know the results.
Click to expand...
Click to collapse
Unfortunately people on the phone are complaining about echo every time when on loudspeaker.
So, back to default settings.. ;-)
Related
Hey guys,
So this is my first post after visiting XDA for quite some time, so you'll have to forgive my lack of finesse in my formatting. Anyway, I've had the common issue with the microphone in my Nexus 5 where the noise canceling was going overboard or the microphone wasn't picking up my voice well enough even being like 2 cm away. I found previous solutions that end up disabling EndFire in the build.prop. This has worked as a workaround, and a very noisy one as it picks up a ton of environment sound and I would get my own echo with absolute annoying clarity (which is what I'd rather the person on the other end hear). I've had this issue across a great number of roms so I know that those who experience this issue with their microphones won't get a solution by just changing and it goes to show how the software is in fact screwing up somewhere.
So I've done some experimenting from what I can pick up from the great community here and actually sorta stumbled on a two-part solution to this issue. This solution has me so stoked because I had a clean sound for the first time in a long while. So without further ado here's what you do.
First Step:
If you haven't already got a build.prop editor download one (there's tons of free one's out there.) Then find the setting for persist.audio.dualmic.config and set the value to broadside. This is a term I picked out of the mixer_paths.xml file which actually is included in part two of this solution (false will not work, I tried). I don't know what broadside is admittedly but my guess is that it's a dual-mic config as well but isn't used, or maybe it is. Anyway, please also check other audio settings to make sure they match what's in the screenshot as I do know the disabling endfire solution messes with those sometimes. Once you've finished that you can choose to reboot or not you will have to at the end either way.
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Second Step:
Alrighty you are doing great thus far. The last step in this can look overwhelming as we are going into the xml file known at mixer_paths.xml. This will look rather daunting for those who are new and maybe never seen a xml file. I know I hadn't until working on this. So to view and edit you can use the file explorer/editor of your choice. I recommend ES explorer as most people do. So you'll navigate to /system/etc/mixer_paths.xml .
Note: Be sure you have root explorer enables if you are using ES Explorer, otherwise you'll get an error when trying to save. That can be found in Menu(Sidebar-thingy)-->Tools-->Root Explorer on the most recent version.
Once you have it opened you may need to scroll all the way down to the bottom of the file as for some reason the file doesn't entirely load the text unless you do. Once the text is loaded go ahead and hit edit.
Now find the line that is called path name="handset-mic">. It will be in about the center of the page if you loaded the whole thing. The whole section looks like this. Pictures are below to see the changes as well.
<path name="handset-mic">
<path name="adc1" />
<ctl name="ADC1 Volume" value="16" />
<ctl name="DEC6 Volume" value="86" />
</path>
You'll be making three changes so it looks like this
<path name="handset-mic">
<path name="adc3" />
<ctl name="ADC3 Volume" value="16" />
<ctl name="DEC4 Volume" value="86" />
</path>
Hit the back button up top and tell it to save.
Then just reboot your phone.
Click to expand...
Click to collapse
Before
After
Admittedly I don't know what changing those things does other than the fact that my microphone woes only happened on calls. I do know whenever I'd send a voice clip through fb and whatnot generally it went through just fine. So my hypothesis is that this forces the phone to uses those "channels" persay as I did pull those three changes from a different part in this xml. I also found the broadside term in this file just below endfire. Maybe it's an unused config, I dunno but it works, so best of luck to you who still need a clean voice calling solution.
Please help this solution get out there as I've yet to see anyone working on the mixer_paths.xml in this fashion (If I'm wrong about that my apologies). I've seen a large number of people trying to adjust the number values but to little success. I hope that this gets out there and proves to be a big solution for the community. Share if this helped!
Be awesome out there,
daScholar
Loud echo
Thank you so much for this! It works, people can hear me now. Trouble is, there's a loud echo on the other end. Meaning that the other person hears their voice really loud making it quite annoying for them.
Any thoughts on this??
Thank you!
chicocardo said:
Thank you so much for this! It works, people can hear me now. Trouble is, there's a loud echo on the other end. Meaning that the other person hears their voice really loud making it quite annoying for them.
Any thoughts on this??
Thank you!
Click to expand...
Click to collapse
I'll look into this for sure. Thanks for the response. I tested this with myself on skype so not exactly the best experiment I'll definitely see if I can replicate this and tweak it so that doesn't happen. I've not heard of the receiving phone getting an echo from itself because of the senders phone settings, but I'm definitely no expert. Thanks for the feedback, will get back to ya soon.
If it helps, the same echo is achieved by making these build.prop edits which I use to combat my ultra-low mic volume on lollipop
persist.audio.fluence.voicecall=false
persist.audio.fluence.voicecomm=false
persist.audio.fluence.voicerec=false
Thanks, but echo continues. Echo is on other end, not my end.
chicocardo said:
Thanks, but echo continues. Echo is on other end, not my end.
Click to expand...
Click to collapse
You've not been given a solution so why wouldn't echo continue?
I'm confused
rootSU said:
You've not been given a solution so why wouldn't echo continue?
I'm confused
Click to expand...
Click to collapse
I thought you posted solution for the echo. I managed to sort out muffled mic with the solution on the initial thread, but with that came the echo from the other end. I thought you posted the solution for it.
Thanks
chicocardo said:
I thought you posted solution for the echo. I managed to sort out muffled mic with the solution on the initial thread, but with that came the echo from the other end. I thought you posted the solution for it.
Thanks
Click to expand...
Click to collapse
No. I was telling the OP that the build.prop edits that I use to combat low mic volume produce the same echo as his solution.
chicocardo said:
I thought you posted solution for the echo. I managed to sort out muffled mic with the solution on the initial thread, but with that came the echo from the other end. I thought you posted the solution for it.
Thanks
Click to expand...
Click to collapse
K So I've been trying to replicate it on my phone and can't seem too. Everyone I called said that things were just normal. Have you tried resolving the mic issue before by boosting the mic or speaker volume? Because maybe that's a factor and needs to be reset/disabled. I'm using a fresh rom install so nothing else audio wise has been touched. One thing I'd try is if you have MultiRom then just install another rom so you have a fresh install to try this fix on.
Another option is to go back to that mixer_paths.xml file and lower the values of either the "handset-mic" or one of the speaker values. I found the solution above with a lot of trial and error seeing what's happening. If nothing changes undo what you did and try another spot. (Make Sure to reset your phone everytime)
Is it everyone you are calling says that?
Just a quick note to the OP: the microphone device "broadside" has been deprecated in the audio HAL as of Android 5.0
I have spent way more time with audio on the Nexus 5 than I probably should have, but believe me, there is no real solution to this problem that can come from this community. At the telephony level, audio is adjusted via proprietary vendor blobs. Also, telephony audio never reaches user space.
Having said that, I did manage to find a workaround that disables array processing while retaining echo and noise control. It involves a custom kernel, Tasker, shell scripts, and a whole lot of TLC. Certainly not recommended for the casual user...
chdloc said:
Just a quick note to the OP: the microphone device "broadside" has been deprecated in the audio HAL as of Android 5.0
I have spent way more time with audio on the Nexus 5 than I probably should have, but believe me, there is no real solution to this problem that can come from this community. At the telephony level, audio is adjusted via proprietary vendor blobs. Also, telephony audio never reaches user space.
Having said that, I did manage to find a workaround that disables array processing while retaining echo and noise control. It involves a custom kernel, Tasker, shell scripts, and a whole lot of TLC. Certainly not recommended for the casual user...
Click to expand...
Click to collapse
I'd be interested... I'm familiar with all those things. Please let me know
rootSU said:
I'd be interested... I'm familiar with all those things. Please let me know
Click to expand...
Click to collapse
Please send me a PM as I do not intend to release my workaround publicly.
It would cause a major support headache...
Thanks for the info I am still on kitkat so that's a good thing to note for sure.
Sent from my Nexus 5 using XDA Free mobile app
chdloc said:
Please send me a PM as I do not intend to release my workaround publicly.
It would cause a major support headache...
Click to expand...
Click to collapse
I can only send pms to people on my friends list. I'll send a request shortly, please accept it.
daScholar said:
<path name="handset-mic">
<path name="adc1" />
<ctl name="ADC1 Volume" value="16" />
<ctl name="DEC6 Volume" value="86" />
</path>
You'll be making three changes so it looks like this
<path name="handset-mic">
<path name="adc3" />
<ctl name="ADC3 Volume" value="16" />
<ctl name="DEC4 Volume" value="86" />
</path>
Click to expand...
Click to collapse
Be careful. What you have done here is change the microphone from the main one (close to the USB port)
to the auxiliary one (close to the headphone port) for the "handset-mic" device. Echo is almost inevitable due
to the close proximity between the microphone and earpiece. As you can see in the mixer file, speakerphone
mode deliberately switches from the main microphone to the auxiliary one for (likely) this very reason.
Also, I suspect that the "handset-mic" device is not even used during cellular telephony when beamforming (any dmic device) is enabled.
I cannot currently verify this suspicion as I have disabled beamforming altogether in my setup. But you can easily check by looking at the output of
Code:
logcat | grep audio_hw_primary
while making a cellular call.
Edit: Just checked, and no, by default the "handset-mic" device is not used while making cellular calls.
Note that dual-microphone processing is enabled only when making cellular calls. Skype, Hangouts, Viber, other VoIP apps, and other random voice recording apps (including Google Now) *will* use the "handset-mic" device and possibly choke when presented with your mixer_paths.xml edit.
Edit: Come to think of it, you guys having issues with low TX levels, try to lower your earpiece (loudspeaker playback) level as much as practical. Depending on what the dual-microphone algorithm (endfire) actually does, it is possible that TX levels are reduced due to the occurrence of double-talk in the presence of very high coupling between the earpiece loudspeaker and the auxiliary microphone. If my theory is correct, then your TX level may be modulated as a function of how loud the far-end is (regardless of whether it's speech or some other background signal).
chdloc said:
Be careful. What you have done here is change the microphone from the main one (close to the USB port)
to the auxiliary one (close to the headphone port) for the "handset-mic" device. Echo is almost inevitable due
to the close proximity between the microphone and earpiece. As you can see in the mixer file, speakerphone
mode deliberately switches from the main microphone to the auxiliary one for (likely) this very reason.
Also, I suspect that the "handset-mic" device is not even used during cellular telephony when beamforming (any dmic device) is enabled.
I cannot currently verify this suspicion as I have disabled beamforming altogether in my setup. But you can easily check by looking at the output of
Code:
logcat | grep audio_hw_primary
while making a cellular call.
Edit: Just checked, and no, by default the "handset-mic" device is not used while making cellular calls.
Note that dual-microphone processing is enabled only when making cellular calls. Skype, Hangouts, Viber, other VoIP apps, and other random voice recording apps (including Google Now) *will* use the "handset-mic" device and possibly choke when presented with your mixer_paths.xml edit.
Edit: Come to think of it, you guys having issues with low TX levels, try to lower your earpiece (loudspeaker playback) level as much as practical. Depending on what the dual-microphone algorithm (endfire) actually does, it is possible that TX levels are reduced due to the occurrence of double-talk in the presence of very high coupling between the earpiece loudspeaker and the auxiliary microphone. If my theory is correct, then your TX level may be modulated as a function of how loud the far-end is (regardless of whether it's speech or some other background signal).
Click to expand...
Click to collapse
Thanks for that info. The strange thing is now I've reverted the mixer file back to the original and I'm not getting all the background noise that I was before... Not quite sure why it's working now. I've still got broadside in my build.prop in place of endfire. Strange thing was is that the first time I had only made that change to the build.prop I still got tons of environment noise. I've only used this on Kitkat and looks like this won't work on lollipop. You we right about the other apps being choked out as I hadn't even thought to look into that, rarely using them. Thanks so much for all the input, being somewhat of a noob to this, all of the info you guys are giving is a treasure trove for me. Thanks.
Edit: Forgot to mention something specifically about that handset-mic device put back to default is causing an echo where I hear myself did you have any suggestions pertaining to that?
Edit: so I changed the ADC3 parts back to ACD1 and left the DEC4 change as is I'm now getting both VoIP and Calls clearly dunno how that's related to the echo though as you said there wasn't anything in the log pertaining to the handset-mic
daScholar said:
K So I've been trying to replicate it on my phone and can't seem too. Everyone I called said that things were just normal. Have you tried resolving the mic issue before by boosting the mic or speaker volume? Because maybe that's a factor and needs to be reset/disabled. I'm using a fresh rom install so nothing else audio wise has been touched. One thing I'd try is if you have MultiRom then just install another rom so you have a fresh install to try this fix on.
Another option is to go back to that mixer_paths.xml file and lower the values of either the "handset-mic" or one of the speaker values. I found the solution above with a lot of trial and error seeing what's happening. If nothing changes undo what you did and try another spot. (Make Sure to reset your phone everytime)
Is it everyone you are calling says that?
Click to expand...
Click to collapse
Thanks for giving it a try. Yeah, everyone is complaining about that issue. I find it wierd that you don´t have that, other users are complaining about the same echo,
Which ROM do you have? I have Cataclyst.
Thanks
daScholar said:
Not quite sure why it's working now. I've still got broadside in my build.prop in place of endfire. Strange thing was is that the first time I had only made that change to the build.prop I still got tons of environment noise.
Click to expand...
Click to collapse
What you are seeing may be related to what I have observed in my own testing several months ago. Broadside seems to be working, but I noticed it being a lot more finicky than endfire in that it would attenuate the TX much more frequently than endfire would. Plus, the first call after a reboot was always bad (echo and noise). Toggling speakerphone fixed that for the remainder of the system uptime. Not sure what is up with that, but I think it is related to calibration. As I said before, the broadside setup has been removed from the audio HAL as of Android 5.0
Edit: Forgot to mention something specifically about that handset-mic device put back to default is causing an echo where I hear myself did you have any suggestions pertaining to that?
Click to expand...
Click to collapse
Do you hear yourself with a delay or does it sound pretty instantaneous?
If it is instantaneous, then what you are hearing is called sidetone. Every handset feeds a low-level copy of the microphone signal back to the loudspeaker in order to make up for the sound blocked by the device being pressed to your ear. The idea is to make a telephone conversation sound more like a natural face-to-face conversation where you can hear yourself clearly without any obstructions that cover your ear. Pretty clever if you ask me.
In your case the sidetone may be too loud.
If you hear yourself with a delay, then the sound is being reflected by either the far-end (acoustic echo) or by the network itself (network echo).
Do you hear yourself when you revert to stock settings throughout your system?
Edit: so I changed the ADC3 parts back to ACD1 and left the DEC4 change as is I'm now getting both VoIP and Calls clearly dunno how that's related to the echo though as you said there wasn't anything in the log pertaining to the handset-mic
Click to expand...
Click to collapse
So how does your mixer_paths.xml file look like? From what you are writing it is not quite clear what you did.
So I've installed the stock 4.4.2 and changed just the build.prop to broadside and it seems to be working thanks for the advice. No changes now to the mixer file.
Sent from my Nexus 5 using XDA Free mobile app
Fixed my phone
I followed both steps, and made tests after each of them.
Step 1 - Fixes the microphone problem, but there are still fade-outs in the voice and possible echoes in noisy conditions.
Step 2 - Resolved the echoes and provides crystal clear clarity.
I need some help with diagnosing this. Something is wrong with the microphone(s) on my device and I can't figure out what to try. I have searched and I have tried the trick with applying pressure on the flex-cable. It does not work.
This is what I see:
Regular phone call = the person on the other side hears nothing. Just silence.
Speakerphone = Everything is OK!
Headphones = Everything is OK!
This points me to a defective microphone at the bottom.
BUT:
Voice recording app (Easy Voice Recorder) = Just garbled noise / hissing. If I speak or snap my fingers, nothing is picked up.
Video recording through default camera app = The same as above, just noise/hissing. Nothing is picked up.
So, what microphone is used for what? What can I try to isolate the error?
Anyone?
I have exactly the identical problem. When I dial out I can hear the other person but they hear nothing. Like you the voice recorder works. And if speaker is on they can hear me. Like you, I researched the problem and applied the pressure trick but it did nothing. This is really weird. I didn't drop the phone or anything.
Sounds like a software problem to me.
I hope one of the experts helps us.
maybeme2 said:
I have exactly the identical problem. When I dial out I can hear the other person but they hear nothing. Like you the voice recorder works. And if speaker is on they can hear me. Like you, I researched the problem and applied the pressure trick but it did nothing. This is really weird. I didn't drop the phone or anything.
Sounds like a software problem to me.
I hope one of the experts helps us.
Click to expand...
Click to collapse
I have ordered a new mic/charger-flex and am going to replace it. I don't think that is the reason for this though...
That sucks. I found a thread which describes the same issue and in this case, the issue was hardware - a connector on the motherboard. Here's the thread link, hope it helps: http://forum.xda-developers.com/google-nexus-5/help/nexus-5-microphone-speakerphone-t3043151
jadajada said:
I have ordered a new mic/charger-flex and am going to replace it. I don't think that is the reason for this though...
Click to expand...
Click to collapse
What is a mic/charger-flex and where did you order it from? Is it the mike cable?
Please report back when you replace it so I know whether I need to do the same.
Thanks.
android_8 said:
That sucks. I found a thread which describes the same issue and in this case, the issue was hardware - a connector on the motherboard. Here's the thread link, hope it helps: http://forum.xda-developers.com/google-nexus-5/help/nexus-5-microphone-speakerphone-t3043151
Click to expand...
Click to collapse
I know about that problem, and I have tried that. It does not help on my phone.
maybeme2 said:
What is a mic/charger-flex and where did you order it from? Is it the mike cable?
Please report back when you replace it so I know whether I need to do the same.
Thanks.
Click to expand...
Click to collapse
It's this part.
It contains a new microphone, but since the phone behaves as it does, I don't really think it's a faulty microphone. But I'll update this post when the part arrives.
Thank you.
I don't think it is a hardware issue. Otherwise why would the *same* Mike work when we turn the speaker on or plug in earphones?
I think it is either software or some installed app conflicting in some way. But, what do I know?
Same issue
I do the same. it is not possible that so many instruments have the same problem and no solution to it. I tried everything possible. pressure on the flex cable connector does not help in this case. Various changes to the file buildprop not respond. I do not understand what the problem may be. u call this error manifests itself sporadically, but still persists. until this thing is super device ...
jadajada said:
I need some help with diagnosing this. Something is wrong with the microphone(s) on my device and I can't figure out what to try. I have searched and I have tried the trick with applying pressure on the flex-cable. It does not work.
This is what I see:
Regular phone call = the person on the other side hears nothing. Just silence.
Speakerphone = Everything is OK!
Headphones = Everything is OK!
This points me to a defective microphone at the bottom.
BUT:
Voice recording app (Easy Voice Recorder) = Just garbled noise / hissing. If I speak or snap my fingers, nothing is picked up.
Video recording through default camera app = The same as above, just noise/hissing. Nothing is picked up.
So, what microphone is used for what? What can I try to isolate the error?
Click to expand...
Click to collapse
Unless you or some root app you have installed messed with the audio mixer (file: /system/etc/mixer_paths.xml) or audio HAL (/system/lib/hw/audio.primary.msm8974.so) this is most likely a hardware problem. Which microphone is used depends on the application that requests it. There are two microphones on the Nexus 5, the main microphone is the one on the bottom and there is a second one near the headphone jack on the top.
In the handset telephony use-case, actually both microphones are being used. However, the main microphone picks up your voice while the other microphone is being used to cancel background noise only. When you switch to speakerphone, the "pickup" microphone switches to the one on top (for a good reason). The same happens when you plug in a pair of headphones without an inline microphone.
Most if not all other use-cases (apps) use the bottom microphone for audio recording.
A software problem can be ruled out by re-installing one of Google's stock builds.
Software test.
I did a partial software test. My phone is rooted so I made a nandroid backup of the present and then restored an earlier nandroid from 2 months ago before all these troubles started. After the restore, the problem was unchanged. Nobody can hear me when I call but they can hear me fine when I put the speaker mode on.
So, sadly, you are correct. Now we have to find out what needs to be replaced because the "phone" is useless this way. Other users have said replacing the microphone and cable did not help (hopefully jadajada's experience will be different).
Looking for mechanical causes, my bottom mike grill is quite dirty and may be blocked. Is there a safe way to clean it? Compressed air? Thin staple?
maybeme2 said:
Software test.
I did a partial software test. My phone is rooted so I made a nandroid backup of the present and then restored an earlier nandroid from 2 months ago before all these troubles started. After the restore, the problem was unchanged. Nobody can hear me when I call but they can hear me fine when I put the speaker mode on.
So, sadly, you are correct. Now we have to find out what needs to be replaced because the "phone" is useless this way. Other users have said replacing the microphone and cable did not help (hopefully jadajada's experience will be different).
Looking for mechanical causes, my bottom mike grill is quite dirty and may be blocked. Is there a safe way to clean it? Compressed air? Thin staple?
Click to expand...
Click to collapse
I also think that the problem is in the hardware, but I fear that somewhere on the main board, and it does not pay to fix it. Unfortunately. Almost I wonder if Google wants this old devices, so we had to buy a new series of Nexus. Joke . Otherwise, the phone I had disassembled and microphone has good coverage, therefore, was beautifully clean and free of dust and dirt.
In that case, what to replace the phone with? Another nexus 5 or a different phone? What are you going to do?
situsacek said:
I also think that the problem is in the hardware, but I fear that somewhere on the main board, and it does not pay to fix it.
Click to expand...
Click to collapse
Situsacek, you seem to know about these things. May I ask why you think the problem is on the main board? Is there a tool to test and find out other than replacing the microphone and flex cable to see if that fixes it or not?
How difficult is it to replace the microphone and flex cable? I am resigned to having to buy a new phone but am checking out my options.
maybeme2 said:
Situsacek, you seem to know about these things. May I ask why you think the problem is on the main board? Is there a tool to test and find out other than replacing the microphone and flex cable to see if that fixes it or not?
How difficult is it to replace the microphone and flex cable? I am resigned to having to buy a new phone but am checking out my options.
Click to expand...
Click to collapse
I have read a lot of discussion on this topic and this problem affects many devices. However, nobody knows the answer to this problem. No one knows the complete solution. For me, it manifests at 5/1 call, for a camera recording the whole time not sound correctly. Replace flex cable is not hard. Does not cost a lot of money on Ebay. But I do not think it will solve this thing, somebody already tried and always the same. I do not want to invest money, though it is not part of the solution. I am very disappointed by this, and I do not want the product from LG never more!
---------- Post added at 06:21 PM ---------- Previous post was at 05:32 PM ----------
situsacek said:
I have read a lot of discussion on this topic and this problem affects many devices. However, nobody knows the answer to this problem. No one knows the complete solution. For me, it manifests at 5/1 call, for a camera recording the whole time not sound correctly. Replace flex cable is not hard. Does not cost a lot of money on Ebay. But I do not think it will solve this thing, somebody already tried and always the same. I do not want to invest money, though it is not part of the solution. I am very disappointed by this, and I do not want the product from LG never more!
Click to expand...
Click to collapse
Here is a link to many topics. For me, nothing works out there.
https://m.reddit.com/r/Nexus5/comments/2ztw83/how_to_fix_microphone_issues/?sort=top
Sent from my ALE-L21 using XDA-Developers mobile app
---------- Post added at 07:18 PM ---------- Previous post was at 06:21 PM ----------
It was a kind signed the petition. Solves it for over two years. I recommend buying another mobile phone. There is no chance of redress. Thanks
https://www.change.org/p/google-fix-microphone-issues-on-nexus-5-phones#share
Sent from my ALE-L21 using XDA-Developers mobile app
For folks with (at least) a custom recovery (better: rooted), there is a way to make the camcorder and other audio recording devices use the auxiliary microphone (the one on top) instead of the main microphone (the one on the bottom). I'm not sure what can be done in the telephony (handset) use-case, though, without introducing a lot of noise, echo, and low speech levels for the far-end.
The "fix" involves modifying one file (/system/etc/mixer_paths.xml); PM me if you are interested in giving this approach a shot.
chdloc said:
For folks with (at least) a custom recovery (better: rooted), there is a way to make the camcorder and other audio recording devices use the auxiliary microphone (the one on top) instead of the main microphone (the one on the bottom). I'm not sure what can be done in the telephony (handset) use-case, though, without introducing a lot of noise, echo, and low speech levels for the far-end.
The "fix" involves modifying one file (/system/etc/mixer_paths.xml); PM me if you are interested in giving this approach a shot.
Click to expand...
Click to collapse
Hi, I also tried, but without any significant response. Could you give your instructions, so I can compare? Thank you
Sent from my ALE-L21 using XDA-Developers mobile app
situsacek said:
Hi, I also tried, but without any significant response. Could you give your instructions, so I can compare? Thank you
Sent from my ALE-L21 using XDA-Developers mobile app
Click to expand...
Click to collapse
OK, I'm assuming that the main microphone (bottom) is dead and that the auxiliary microphone (top, near headphone jack) is still operational.
To use the auxiliary microphone for both camcorder and (I'm guessing) most other audio recording apps, edit your /system/etc/mixer_paths.xml file (e.g. via a file explorer), search for the following entry:
Code:
<path name="handset-mic">
<path name="adc1" />
<ctl name="ADC1 Volume" value="16" />
<ctl name="DEC6 Volume" value="86" />
</path>
and replace with
Code:
<path name="handset-mic">
<path name="adc3" />
<ctl name="ADC3 Volume" value="16" />
<ctl name="DEC4 Volume" value="86" />
</path>
After saving the modified file (make backup of original file first!), make sure that the permissions are set to 644 (rw-r--r--), and reboot.
The next step is handset telephony. A very quick and likely very poorly performing solution would be to again simply use the top microphone. You will need the same modification as above. In addition, you need to disable dual-microphone support by editing your build.prop file:
After making a proper backup, replace
Code:
persist.audio.dualmic.config=endfire
with
Code:
persist.audio.dualmic.config=none
check the permissions (644), and reboot. Be advised that the microphone is now further away from your mouth so the TX level will be low. You could crank up the gain by increasing "ADC3 Volume" (permissible values are between 0 and 20) and/or "DEC4 Volume" (permissible values are between 0 and 124), followed by a reboot. Also keep in mind that echo cancellation and noise control will be turned off, so be prepared for a lot of complaints.
chdloc said:
OK, I'm assuming that the main microphone (bottom) is dead and that the auxiliary microphone (top, near headphone jack) is still operational.
To use the auxiliary microphone for both camcorder and (I'm guessing) most other audio recording apps, edit your /system/etc/mixer_paths.xml file (e.g. via a file explorer), search for the following entry:
Code:
<path name="handset-mic">
<path name="adc1" />
<ctl name="ADC1 Volume" value="16" />
<ctl name="DEC6 Volume" value="86" />
</path>
and replace with
Code:
<path name="handset-mic">
<path name="adc3" />
<ctl name="ADC3 Volume" value="16" />
<ctl name="DEC4 Volume" value="86" />
</path>
After saving the modified file (make backup of original file first!), make sure that the permissions are set to 644 (rw-r--r--), and reboot.
The next step is handset telephony. A very quick and likely very poorly performing solution would be to again simply use the top microphone. You will need the same modification as above. In addition, you need to disable dual-microphone support by editing your build.prop file:
After making a proper backup, replace
Code:
persist.audio.dualmic.config=endfire
with
Code:
persist.audio.dualmic.config=none
check the permissions (644), and reboot. Be advised that the microphone is now further away from your mouth so the TX level will be low. You could crank up the gain by increasing "ADC3 Volume" (permissible values are between 0 and 20) and/or "DEC4 Volume" (permissible values are between 0 and 124), followed by a reboot. Also keep in mind that echo cancellation and noise control will be turned off, so be prepared for a lot of complaints.
Click to expand...
Click to collapse
Hi, thanks for the nice described instructions. Yes it's the same procedure as I found and tried. Unfortunately, the other side is exposed to a strong echo. Pity that no fixed correction, not a precise explanation of why the problem arose at our facilities. Answer seemed to die along with the nexus 5
situsacek said:
Hi, thanks for the nice described instructions. Yes it's the same procedure as I found and tried. Unfortunately, the other side is exposed to a strong echo. Pity that no fixed correction, not a precise explanation of why the problem arose at our facilities. Answer seemed to die along with the nexus 5
Click to expand...
Click to collapse
Actually, I have dual-microphone processing disabled on my phone as well (but it is for a different reason) and I'm exclusively using the main microphone for the handset telephony use-case. I did succeed in enabling echo and noise control, but
I'm not sure whether it would work with the auxiliary microphone as well
the solution I came up with is, unfortunately, way too complicated and convoluted to share with the community (custom kernel, Tasker integration, and most importantly, individually adapted application of audio calibration data)
With the above modifications of mixer_paths.xml, using the auxiliary microphone for virtually any other purpose should work OK, though.
What's bugging me about my brand new Xperia X? The overall low volume.
These simple tweaks, this mod if you may, simply modifies a few lines from the stock audio config files which, after a reboot make your speakers louder and headphones, a bit too loud (but I didn't hear anyone complaining about Xperias for being too loud lol)!
It's for rooted users only and for me it sounds a lot better than using (possibly) unstable sound mods instead of simply adjusting the volume on some pretty decent stock drivers.
***Tested on X Performance running Nougat. I've also got my hands on Xperia X Performance files which are pretty straight FWD see attach. Thanks @bkk99213 for testing and for the file!***
Make a backup first or if you didn't simply put the original values back (82 for speaker lines and 76 for headphones). All that can happen if you modify the wrong thing is: Your settings won't do anything or you'll have no sound, that's why a backup is ideal.
Features:
Louder Stereo Speaker sound system wide;
Louder Headphone sound;
Stereo Voice-Speaker call - NOT TESTED! Keep a backup and please let me know if it's working;
Customizable as you see fit! Just stick to the already explored options.
Conflict-free tweaks - no additional files added, no nothing, just some modified lines - you can trust it .
Installation:
By flashing the .zip on recovery or with FLASHFIRE [press the red "+" button > Flash ZIP or OTA > leave the options as they are and Click on the "done arrow thingy".
Manually copying the file to /etc - DO NOT forget to set the right permissions (RW R R). Please take a look over the Permissions.png screenshot in case you don't know how to set them - you long click on the file, then go to properties and you'll see the permissions button.
Do it yourself - there's a guide down bellow.
In the download section you'll find:
>>Flashable! already modified "Xperia X P Getting Loud.zip" with: SPEAKER values - 84 for both RX7/RX8 and HEADPHONE values - 84 for RX1/RX2.
>>Flashable! Stock Values - it's the stock file unmodified.
>>NON-Flashable! zips - there you have 1 zip for the modified file and the stock one so you can place it manually via ES file explorer or the explorer of your choosing.
**And some screenshots that are pretty self explanatory showing you what modifications need to be made if you want to do it yourself.
DIY Guide (using ES File Explorer):
You're probably acquainted with ES File Explorer so it should be pretty simple. The modifications I made were done with ES (it has an built-in editor).
1. Make sure the Root Explorer toggle is On - it's located in the Tools tab as you swipe the left side of the screen;
2. Go to the root of the files where you'll see folders such as "data; dev; firmware; storage; system; etc" go to "etc" folder and scroll down till you see the mixer_paths files;
3. Open "mixer_paths_tasha" and at the prompt, select ES Note Editor - it's a huge file so tap right above the navigation bar! A bar with percentage should show up - it will help you navigate through the file;
4.1 Speakers - Get to 45% of the file where you should see the path for "speaker", ctrl name RX7 and RX8 with their stock values - modify the values as you please but please don't go over 85 - sound will be too distorted;
4.2 Headphones - Go to 57% of the file - you'll see "headphones" path - ctrl name RX1 and RX2 - modify the values but anything more than 84 might be too much.
5. Save and reboot. If you choose to modify the files on a PC make sure to set the permissions when you put the file back. Otherwise bootloops might occur.
*Stereo Voice-Speaker call is untested but in theory it should work, as it does on my Xperia X. I added the second channel to the routing - screenshot bellow.
**Stereo Ringtone-Speaker - WIP. I'm currently stuck so feel free to jump in and notify me via PM.
***Internal players such as Music, Video, ringing and notification will try to compensate the sound so it might not be as loud as expected. But try a youtube video and you'll notice the difference.
***Do not attempt to modify something else unless you know what you're doing - on that note, make a backup first. In my first attempts I lost sound device wide with FC for sound effects apk.
***Do not go over the values I imputed (84 for speaker and 85 for headphone) - apart from the distortions that will occur because of the louder volume the internal DAC might not be able to reproduce the sound at such intensity - in my tests one of the speakers was shutting down. Again, no harm can come to your device but don't push it.
***I saw a lot of sections for hi-res headphones, Noise cancelling, etc - I did not explore those options because I don't have the means to test it. Any input and contributions from you guys are most welcome.
These files control the volume output for digital / analog which means it's a non-intrusive way to change volumes with no harm for the device. If volume limit exceeds the capacity of the speakers it will sound bad but there is no chance for physical damage.
I'm coming from a highly modded Xperia Z (that phone saw some torture) which made use of the earpiece speaker for stereo, and even if the speakers aren't designed for that output they are louder than the X which packs pretty decent speakers. This is the mod that gave me the idea: http://forum.xda-developers.com/xperia-z/themes-apps/mod-stereomod-xz-v1-1-t2835995
Click to expand...
Click to collapse
Also check this out. It's an xposed module that will disable the annoying thermal warning for the camera. No more functions disabled just because phone got a bit over skin temperature lol. http://forum.xda-developers.com/cro...-camera-xperia-thermal-disabler-v1-0-t3455087
Cheers and happy new year!
Cannot find 9335
In Xperia X Performance @7.0nougat
I can't find the file in etc folder.
bkk99213 said:
In Xperia X Performance @7.0nougat
I can't find the file in etc folder.
Click to expand...
Click to collapse
Yes that's why it's a guide-ish. Files are different still... Traditionally with Sony, you should aim for the largest file. In your case the right file should be "...tasha" file. If you want you can send it to me or try it yourself. Keep a backup. I had no bootloops (so there's nothing to fear) by modifying what I shouldn't (and i had a dozen of tries). All that can happen if you modify the wrong thing is: Your settings won't do anything or you'll have no sound, that's why a backup is ideal. PM me. I'm curious about the file and results.
Sebi673 said:
Yes that's why it's a guide-ish. Files are different still... Traditionally with Sony, you should aim for the largest file. In your case the right file should be "...tasha" file. If you want you can send it to me or try it yourself. Keep a backup. I had no bootloops (so there's nothing to fear) by modifying what I shouldn't (and i had a dozen of tries). All that can happen if you modify the wrong thing is: Your settings won't do anything or you'll have no sound, that's why a backup is ideal. PM me. I'm curious about the file and results.
Click to expand...
Click to collapse
Here you go and thanks a lot. I know mi 4i can use same method to make the sound loudly. So I also interest your GUIDE
But PM cannot attach file. So I use REPLY..:laugh:
bkk99213 said:
Here you go and thanks a lot. I know mi 4i can use same method to make the sound loudly. So I also interest your GUIDE
But PM cannot attach file. So I use REPLY..:laugh:
Click to expand...
Click to collapse
It's simpler than it was on my X. I'll be back with an update. But I need my coffee first ))
Tested. It work. Whatsapp's Ringtone is obviously but some notification sound get distorted.
So I don't know the setting(84) is correct or not.
bkk99213 said:
Tested. It work. Whatsapp's Ringtone is obviously but some notification sound get distorted.
So I don't know the setting(84) is correct or not.
Click to expand...
Click to collapse
That's device specific. On my X 84 is just the right amount. I'll make another zip with 83 values. That's only one step over stock.
At least headphones are loud and distortion free. I noticed some good amplification on those. On my old Xperia Z I could never have such a powerful sound without signal cutting off on one of the channels.
Correction. The file had 85 for speakers. I'll put new zips with 84 soon.
---Files Updated---
Sebi673 said:
That's device specific. On my X 84 is just the right amount. I'll make another zip with 83 values. That's only one step over stock.
At least headphones are loud and distortion free. I noticed some good amplification on those. On my old Xperia Z I could never have such a powerful sound without signal cutting off on one of the channels.
Correction. The file had 85 for speakers. I'll put new zips with 84 soon.
---Files Updated---
Click to expand...
Click to collapse
84.perfect.:good::good::good:
bkk99213 said:
84.perfect.:good::good::good:
Click to expand...
Click to collapse
So glad I was able to help. You're welcome!
After tested 5 days, I get some trouble that my phone call's volume is lower than before.
But the settings should be no change for phone call, right?
* I have not much phone call, so I can't find this problem @ 1st day.
Thanks for your help again.
Does anyone know which xml would need to be modified for this to work on the X Compact?
agentsmith988 said:
Does anyone know which xml would need to be modified for this to work on the X Compact?
Click to expand...
Click to collapse
It's usually the largest one. So you should look for that. And then adapt this method to the X. Speakers might be with a different name buy you'll get it
Sent from my Xperia X using XDA Labs
Sebi673 said:
It's usually the largest one. So you should look for that. And then adapt this method to the X. Speakers might be with a different name buy you'll get it
Sent from my Xperia X using XDA Labs
Click to expand...
Click to collapse
Looks like it's mixer_paths_wcd9335.xml at 148.6KB. Both RX7 and RX8 are at 82 stock (under path name="wsa-speaker"). How much past the original values are you pushing these things, 2-3? Do these values boost the in-call speakerphone volume as well?
Unrelated, does anyone know if this XML has anything that could be modified to get get both speakers working when using the in-call speakerphone?
agentsmith988 said:
Looks like it's mixer_paths_wcd9335.xml at 148.6KB. Both RX7 and RX8 are at 82 stock (under path name="wsa-speaker"). How much past the original values are you pushing these things, 2-3? Do these values boost the in-call speakerphone volume as well?
Unrelated, does anyone know if this XML has anything that could be modified to get get both speakers working when using the in-call speakerphone?
Click to expand...
Click to collapse
I am pretty sure both X and X compact use the same HW - it seems to be the same file and wsa thingy - check my thread for X - https://forum.xda-developers.com/xperia-x/themes/xperia-x-mixerpaths-volume-tweaks-tank-t3525691
it is possible to modify the call speaker - and there are more things to add like stereo for that one. But going over default for one speaker can get voice distorted. And if stereo is applied there, than microphone quality will drop a lot. There's a reason why the call speaker is mono - so that the mic on the other side can catch most of the sounds. At some point maybe I'll look for a hook for stereo.
bkk99213 said:
After tested 5 days, I get some trouble that my phone call's volume is lower than before.
But the settings should be no change for phone call, right?
* I have not much phone call, so I can't find this problem @ 1st day.
Thanks for your help again.
Click to expand...
Click to collapse
These modifications can't affect the phone call volume since I never touched those. And I never had such issues. But I'll keep my ear close to it )
Sebi673 said:
I am pretty sure both X and X compact use the same HW - it seems to be the same file and wsa thingy - check my thread for X - https://forum.xda-developers.com/xperia-x/themes/xperia-x-mixerpaths-volume-tweaks-tank-t3525691
it is possible to modify the call speaker - and there are more things to add like stereo for that one. But going over default for one speaker can get voice distorted. And if stereo is applied there, than microphone quality will drop a lot. There's a reason why the call speaker is mono - so that the mic on the other side can catch most of the sounds. At some point maybe I'll look for a hook for stereo.
Click to expand...
Click to collapse
Awesome! Bumped the speaker and headphone values up to 86 and 85 and all I can say is wow! Made a huge difference!
Do you know which lines specifically control the in-call speaker volume? Makes sense about the mono audio/mic pick-up, however it'd be great to at least increase the volume.
agentsmith988 said:
Awesome! Bumped the speaker and headphone values up to 86 and 85 and all I can say is wow! Made a huge difference!
Do you know which lines specifically control the in-call speaker volume? Makes sense about the mono audio/mic pick-up, however it'd be great to at least increase the volume.
Click to expand...
Click to collapse
Adding stereo speaker to phone call is a bit tricky as far as I remember, especially without a recovery. Hopefully I'll have some spare time to look over it or at least identify call routing.
Sent from my Xperia X using XDA Labs
Sebi673 said:
Adding stereo speaker to phone call is a bit tricky as far as I remember, especially without a recovery. Hopefully I'll have some spare time to look over it or at least identify call routing.
Sent from my Xperia X using XDA Labs
Click to expand...
Click to collapse
Would it be easier to just increase the in-call volume and leave it mono? I'm guessing that there is a similar RX line that can be bumped up a few values to increase the volume.
Under <path name="voice-speaker"> there is a line <ctl name="RX8 Digital Volume" value="82" />. I'm guessing that may be it?
agentsmith988 said:
Would it be easier to just increase the in-call volume and leave it mono? I'm guessing that there is a similar RX line that can be bumped up a few values to increase the volume.
Under <path name="voice-speaker"> there is a line <ctl name="RX8 Digital Volume" value="82" />. I'm guessing that may be it?
Click to expand...
Click to collapse
yup, that should be it. I'm advocating for the stereo because stock values already distort a lot on speaker call
[Update] - stereo call speaker now working. Testing and applying method for ringtone speaker aswell
agentsmith988 said:
Would it be easier to just increase the in-call volume and leave it mono? I'm guessing that there is a similar RX line that can be bumped up a few values to increase the volume.
Under <path name="voice-speaker"> there is a line <ctl name="RX8 Digital Volume" value="82" />. I'm guessing that may be it?
Click to expand...
Click to collapse
[UPDATE] Please check the updated thread for Xperia X. For you, modifications should be easier to learn from there. Stereo Voice-Speaker added - no need for volume boost. https://forum.xda-developers.com/xperia-x/themes/xperia-x-mixerpaths-volume-tweaks-tank-t3525691
So my main mic is broken, as a temp solution I tried changing it to the secondary mic. I followed these instructions.
"Open up mixer_paths.xml, go to the "main-mic" entry under "Analog input devices", and change the "DEC4 MUX" value from "ADC3" to "ADC5". Then, change all instances of "DEC4" to "DEC2" (there should be 3 of them you need to change). Now, scroll down a bit to "Recording paths" and locate the "handset-mic" entry. Change "ADC3 Volume" to "ADC5 Volume".
Save your changes and reboot. The microphone used for phone calls will now be the one located at the very top of the device, right above the front-facing camera. This is also the microphone that is used when speakerphone is enabled."
At first this worked, but now it only works in audio recording apps. No longer when I'm in a call, unless I get on loudspeaker.
I'm on CM 12.1, anyone have any ideas?
This same thing happened to my wife's phone 2 days now. I can barely hear her on a phone call unless she uses speaker phone. The microphone works using google or in Handsent when voice typing. Hope this isn't a hardware failure. I tried uninstalling any new apps.
Running stock software on her phone. Maybe she wore out the mic.
Hi,
Try this. I hope it works.
Regards
Hi all, my OP7P, running Android 10, microphone is really bad on handsfree mode (speakermode). when calling people are unable to understand me, and there is a lot of noise.
Are there more people on XDA with this problem?
What might be the cause?
Anyone with a possible solution or anything I can try? ( maybe an option in the engineer menu to change some mic settings?)
I tried a few things, that didn't make any difference:
- disabled OK Google
- change build.prop params:
Code:
ro.qc.sdk.audio.fluencetype=none
persist.audio.fluence.voicerec=true
persist.audio.fluence.speaker=false
use.voice.path.for.pcm.voip=true
More threads about this problem:
https://forums.oneplus.com/threads/oneplus-7-pro-microphone-issues.1064785/
https://forums.oneplus.com/threads/oneplus-7-pro-mic-issues-faced-in-handsfree-mode.1051812/
washichi said:
Hi all, my OP7P, running Android 10, microphone is really bad on handsfree mode (speakermode). when calling people are unable to understand me, and there is a lot of noise.
Are there more people on XDA with this problem?
What might be the cause?
Anyone with a possible solution or anything I can try? ( maybe an option in the engineer menu to change some mic settings?)
I tried a few things, that didn't make any difference:
- disabled OK Google
- change build.prop params:
Code:
ro.qc.sdk.audio.fluencetype=none
persist.audio.fluence.voicerec=true
persist.audio.fluence.speaker=false
use.voice.path.for.pcm.voip=true
More threads about this problem:
https://forums.oneplus.com/threads/oneplus-7-pro-microphone-issues.1064785/
https://forums.oneplus.com/threads/oneplus-7-pro-mic-issues-faced-in-handsfree-mode.1051812/
Click to expand...
Click to collapse
I have the same problem. I tried to edit build.prop file too. But nothing changed.
I tested with a sound recorder app where i can switch between bottom and top microphones. But both quality is perfect. Bottom mics do not use noise cancelling, my voice is clear from 10 meters. Top mic uses noise cancelling but the quality is still good.
But if i turn on speakermode people are unable to understand me from 30cm. I think when we are on speakermode the phone uses a higher noise cancelling and that causes that poor audio quality.
I rooted the phone tried several options, but i don't know how to turn off noise cancelling completely.
If i could select a mic to be the default one would be good also i think.