Problem Statements

  • On speaker everyone could hear me perfectly, but otherwise, it was very choppy.
  • When I call someone, the caller can hear chopped up words and the quality isn't the best. When I put it on the loudspeaker, it works like a charm.
  • On cell phone calls I have to use the speaker or the person can't hear me.
  • Microphone doesn't work when trying to do speech to text, google voice commands, or record audio.
  • I can switch to the rear microphone when using my audio recorder and it works, but nothing with the front mic. I'm not rooted or anything special done to the phone.

Report a Bug

Kindly raise your voice if faced with the similar issue for quick resolution.
jira.cyanogenmod.org/browse/BACON-289

Before proceeding further, please note I am in no way responsible for anything that goes wrong with your device. Only you are held responsible for your actions.

Alternatives to the solution

Users have reported upgrading to Color OS or Oxygen OS have fixed the issue for them.

Prerequisite for applying suggested the fix

  1. Rooted Phone
    There are a lot of tutorials available online. If required I can write an article to root.
  2. Root Explorer / ES File Explorer
    • Grant root access to Root Explorer.
      or
    • Download ES file explorer from play store.
    • Open file explorer and select tools inside the menu.
    • Now scroll down and select root explorer.
    • At this point, it may ask you for root access. Merely grant and in the root explorer select mount and the system.

Solution Approach

Step 1. We disable the use of multiple microphones during the call.
Step 2. During the call we amplify our main microphones.

NOTE: All system files have READ-ONLY permissions and should remain so. We use Root Explorer / ES File Explorer as they maintain permissions post edits.

Solution

Step 1. Disable multiple microphones use during call

  1. Open the File Explorer mentioned in prerequisites.
  2. Now go to the main section and search for system folder in internal storage. (root\system)
  3. Go to system and find build.prop.
  4. Make a backup of this file somewhere safe in PC preferably so that in case if you delete something by mistake, then you can use the backup.
  5. For ES File Explorer
    Open build.prop and after it opens up (much text in the file ) select edit on the top right corner
    OR
    For Root Explorer
    Select build.prop and after that go to options in the top right corner and select open in text editor and it opens up (much text in the file )
  6. change the following commands
    Change-
    ro.qc.sdk.audio.fluencetype=fluence
    to
    ro.qc.sdk.audio.fluencetype=none

Step 2. During call amplify main microphones

  1. Open-File Explorer mentioned in prerequisite.
  2. Now go to the main section and search for system folder in internal storage. (root\system)
  3. Now go to the system folder and search for 'etc' folder in internal storage. (root\system\etc)
  4. Go to etc and find mixer_paths.xml.
  5. Make a backup of this file somewhere safe in PC preferably so that in case if you delete something by mistake, then you can use the backup.
  6. For ES File Explorer
    Open mixer_paths.xml and after it opens up (much text in the file ) select edit on the top right corner
    OR
    For Root Explorer
    Select mixer_paths.xml and after that go to options in the top right corner and select open in text editor, and it opens up (much text in the file )
  7. Change the following commands
    Change all non zero valued occurrences (where XX denotes any non zero number) -
<ctl name="RX1 Digital Volume" value="XX">
<ctl name="RX2 Digital Volume" value="XX">

to

 <ctl name="RX1 Digital Volume" value="93">
 <ctl name="RX2 Digital Volume" value="93">

References

For issue in general
forums.oneplus.net/threads/fix-call-quality-issue.284449/
forums.oneplus.net/threads/ghost-issue-in-oneplus-one-low-microphone.451194/#post-14990769
ejvyas.blogspot.in/2015/09/one-plus-one-bacon-increase-volume-mod.html

For Mixer Path Edits
www.davebennett.tech/android-boost-speaker-volume/

For Build Prop Edits
forum.xda-developers.com/oneplus-one/development/fix-low-mic-call-t3055661