I use Android Audio Effect/Equalizer API for my app. However, it limits to 5 bands. Is there any document/library that helps to tune more bands for a finer equalizer implementation?
-
Can't you just use more than one instance of the equalizer to get more bands? – Nils Pipenbrinck Sep 23 '12 at 00:42
-
1I use one instance of the equalizer that is attached to [http://developer.android.com/reference/android/media/MediaPlayer.html#getAudioSessionId()](MediaPlayer's AudioSessionId) – Bao Le Sep 23 '12 at 07:53
-
@NilsPipenbrinck: Use of more then one instance of the equalizer will convert in to same another 5 band frequency. Then how it is possible to have all frequency different? Do have any other idea? – Shreyash Mahajan May 15 '13 at 04:16
4 Answers
This question was asked long ago. Here is a solution for people seeking answer in future. I have found this library for android that provides 10band Equalizer.
Using Android's Equalizer Api on three different devices I was able to get the following result:
1) Samsung Galaxy Note 3 (5 Bands)
2) Huawei Mate 8 (5 Bands)
3) Nexus 5 (5 bands)
using this library I am able to get 10bands on all of the above devices. I have tested it and it is working great.
Include this library in your project. And use the following code to have an Equalizer with 10 bands.
IMediaPlayerFactory mediaPlayerFactory = new OpenSLMediaPlayerFactory(getApplicationContext());
IBasicMediaPlayer mediaPlayer = mediaPlayerFactory.createMediaPlayer();
IEqualizer equalizer = mediaPlayerFactory.createHQEqualizer();
/* This returns 10 bands exactly like Poweramp music app does */
int numOfBands = equalizer.getNumberOfBands();
This library has is documentation that you can refer as-well. Hope this helps.

- 1,555
- 12
- 26
It varies from device to device
getNumberOfBands
tell you the number of Equalizer effect. Some devices have 5,8 and 13,etc.
Equalizer equalizer = new Equalizer(0,mediaplayer.getAudioSessionId());
equalizer.setEnabled(true);
equalizer.getNumberOfBands(); //it tells you the number of equalizer in device.
Also have a look at this

- 1
- 1

- 33,936
- 20
- 234
- 300
-
I tried this on three different devices (Samsung, Huawei, Nexus). All give 5 bands. Whereas PowerAmp (Music Player) available on playstore gives 10 bands for every device. Any idea how they are doing this? – Shoaib Anwar Jul 26 '17 at 10:40
-
I have tested it on different devices and returns sometimes 15 and sometime 5. And I don't know how PowerAmp does this for 10 bands – Zar E Ahmer Jul 28 '17 at 06:03
The number of bands and their center frequencies are dependent upon the handset. The equalizer implementation is baked into the ROM.

- 4,095
- 3
- 35
- 68
You can try having a try with sasken-player, it's a reimplementation of the equalizer that will give you 10 bands

- 2,135
- 1
- 18
- 26