• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[Q] App that turns off microphone AGC (Auto-Gain Control)?

Search This thread

Pierrot Lunaire

Senior Member
Jul 15, 2009
109
1
While playing around with some recording apps I noticed that most recordings I got were too loud and distorted. I figured it had to do with some sort of an Auto Gain Control. I was right when I tried one app called "TapeMachine" which has an option to disable AGC and also has a mic gain control which is great. Once it disabled AGC the recording sound was much better. Clear and undistorted.

I understand that AGC is important for phone calls but it's terrible for recording audio and video. It would be nice to record videos with AGC off and I can't find an option to disable it in the system settings. Can't find an app that controls it either.

Does anyone know of an app that turns AGC on/off and have manual gain control?

Thanks!
 
Last edited:

Pierrot Lunaire

Senior Member
Jul 15, 2009
109
1
argh...

I will pay for an app that can disable the microphone auto-gain control!

Come on people, haven't you noticed recording stuff sound like crap?
The sound on recorded videos is just bad. And it's not because the microphone is bad, it's because the AGC is always enabled.

Try "TapeMachine" and hear for yourself. I'm not joking.

I think I'm not the only one who would be happy about a feature like that.
 

huggs

Senior Member
Jan 12, 2010
1,653
220
42
the internet
I searched around the mkt, and couldn't find anything other than recording apps, paid or free, that even mention the AGC either. Kinda surprising.

Sent from my HTC HD2 using XDA App
 

Pierrot Lunaire

Senior Member
Jul 15, 2009
109
1
I searched around the mkt, and couldn't find anything other than recording apps, paid or free, that even mention the AGC either. Kinda surprising.

Sent from my HTC HD2 using XDA App

First of all I'm glad I was able to wake someone up around here. It seems like no one knows there is an AGC in Android, but "TapeMachine" definitely revealed that to me.

I did find someone mentioning the same issue on the Samsung Galaxy forum:
http://forum.xda-developers.com/showthread.php?t=896826

You can even see the difference in the waveforms pictures he attached to the post.
 
  • Like
Reactions: MaxLG

Pierrot Lunaire

Senior Member
Jul 15, 2009
109
1
Well, I have some technical information, but I can't do much with it because I'm not a programmer.
The programmer of an app called "Break Speed" uses a code in his app to disable AGC and he wrote me what the code he uses is.
Maybe someone can use this information to create an app that can disable AGC. This is what he wrote me:

I found that in Android 2.2 (and higher), they introduced an undocumented flag in the AudioRecord() class, called “VoiceRecogntionQuality”. In the code, there is a note to expose and document that flag (it just hasn’t been done yet.) So I expect that it is supported (and will continue to be.) My guess is that AGC was added to 2.2 and this is the flag that disables it.

Here’s the code I used to adjust my recordings for it:

// We use our version to attempt "VoiceRecogntionQuality" recordings (to disable AGC)
int version = Integer.parseInt(android.os.Build.VERSION.SDK);

// Try to get the audio record for Android 2.2 and greater using 'voice recognition quality'
if (version >= 7)
{
recordInstance = new AudioRecord(6, m_frequency, m_channelConfiguration, m_audioEncoding, bufferSizeBytes * m_bufferCount);
}

// For older versions of Android (or failed attempts of the voice recognition quality recordings)
if (version < 7 || recordInstance.getState() == AudioRecord.STATE_UNINITIALIZED)
{
recordInstance = new AudioRecord(MediaRecorder.AudioSource.MIC, m_frequency, m_channelConfiguration, m_audioEncoding, bufferSizeBytes * m_bufferCount);
}
 

santu71182

Senior Member
Feb 18, 2009
77
3
Well, I have some technical information, but I can't do much with it because I'm not a programmer.
The programmer of an app called "Break Speed" uses a code in his app to disable AGC and he wrote me what the code he uses is.
Maybe someone can use this information to create an app that can disable AGC. This is what he wrote me:
can we request the programmer you'd contacted to write a small app for us to just enable/disable AGC? We can assure him of buying some beer/coffee :)
 

Pierrot Lunaire

Senior Member
Jul 15, 2009
109
1
can we request the programmer you'd contacted to write a small app for us to just enable/disable AGC? We can assure him of buying some beer/coffee :)

heh, I already implied that in the email I wrote him, but didn't really get a response.
I posted here, because there are programmers around here also, but it seems people are ignoring this issue. If I knew how, I would make an app myself.
 

rrr3da

New member
Oct 5, 2012
3
0
same problem here, I tried with your friend's solution (using 6 instead of AudioSource.MIC) but nothing changes... the waveform becomes even worse when the source produces powerful sounds.
Have you solved you problem?
ty
 

MaxLG

Member
Oct 30, 2013
39
14
video, audio, mic input: solution!

:victory:DSP manager in CM10, no problem to control: the mic input - 4 levels. I can shoot videos with nice audio, for example a Rock Concert. :good:
 

sejallotliker

New member
Nov 15, 2017
1
0
Turn on the TapeMachine Recorder, minimize it and start recording on your camera while the app is running in the background. I have tried it and it works. The camera records with AGC disabled.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    I searched around the mkt, and couldn't find anything other than recording apps, paid or free, that even mention the AGC either. Kinda surprising.

    Sent from my HTC HD2 using XDA App

    First of all I'm glad I was able to wake someone up around here. It seems like no one knows there is an AGC in Android, but "TapeMachine" definitely revealed that to me.

    I did find someone mentioning the same issue on the Samsung Galaxy forum:
    http://forum.xda-developers.com/showthread.php?t=896826

    You can even see the difference in the waveforms pictures he attached to the post.