Music lovers unite!

inceyet

Well-known member
Jan 16, 2012
393
121
0
Ok community here it is i know i am not the only one who loves music , but find great sound is a wip . So ive decided to make this tread to find the best way to get great sound for both cm and ics based roms. So what do we got.......btw i listen to christian hip hop

Sent from my LG-VM670 using Android Central Forums
 
I listen to it all.

Underground hip hop
Power metal
Death metal
emo rap (not what you think talks about real life stuff)
Classic rock.
that's just what I have on my 2 gb SD card lol

My customized tapatalk signature
 
I'm doing a whole bunch of research on the android audio system for about a day now... I'll let you guys know what I find, and what the best solution is.

For now here is some basic info you guys can read on

For Gingerbread
-http://developer.android.com/about/versions/android-2.3-highlights.html
-http://www.khronos.org/opensles/
-http://en.wikipedia.org/wiki/OpenSL_ES

For ICS
-http://developer.android.com/about/versions/android-4.0-highlights.html
-http://www.khronos.org/opensles/
-http://en.wikipedia.org/wiki/OpenSL_ES
-http://www.khronos.org/openmax/al/

Alright the base audio system of Android goes into this order that follows below


1. Application
2. Libraries and Binding files
3. OpenSL ES
4. OS/Drivers(Kernel module)
5. Audio hardware


Now Gingerbread has an API called OpenSL ES. To sum it up, it is basically an audio API that allows applications to be able to manipulate sound/play sound. So it’s almost like a “driver”, except it’s a software driver, not hardware; think of Java application and the Java platform and you basically get an idea of how it works.

The actual system driver for the Audio hardware is ALSA. ALSA is the Linux API for sound, kind of like OpenSL except it’s a hardware driver. In Android, the Linux kernel has a base install of ALSA used to access the Audio hardware, while the OpenSL ES does all the heavy work.

OpenSL ES and ALSA work together to produce sound. OpenSL ES is used as Encoder/Decoder/Equalizer/Special effect/Bell/Whistle/Everything used to process/play/record/store audio. While the ALSA driver is used simply to access the audio hardware, NOTHING ELSE. Look at the diagram below


Application -> OpenSL ES -> Kernel(Via IPC) -> Hardware Device(ALSA Module)

This is how it works; Application wants to make a sound, OpenSL ES decodes/makes the sound, Sound data is sent to the ALSA kernel module via IPC, Sound is played though speaker/headset/Bluetooth/etc.

This Applies to Gingerbread and ICS

For more information on both Sound API’s Look to the Links above ☺

So to sum it up anything that gives ALSA seems to just be a fluke and just to 'Show off' because none of the android applications use ALSA API because they all go through OpenSL ES. The ALSA binaries for Android simply allow you to adjust volumes manually, basically so you can go past the set limits.

Also beats audio software, srs, and other audio mods do actually work. They plug into the OpenSL ES so OpenSL ES can hand it to those programs, the programs send it back to OpenSL ES and onward to the kernel. Equalizers almost do the same thing, except they basically just set settings in OpenSL ES to adjust the sound. Hope this gives everyone a better idea of how Android Audio works.

Beats audio

Application -> OpenSL ES(With beats mod) -> Kernel(Via IPC) -> Hardware Device(ALSA Module)

Equalizer

Application -> OpenSL ES(EQ settings) -> Kernel(Via IPC) -> Hardware Device(ALSA Module)
 
Last edited:

Trending Posts

Members online

Forum statistics

Threads
956,924
Messages
6,970,656
Members
3,163,658
Latest member
le_stan