Beats Mod GB & ICS (Beats Dolby SRS Equalizer)

mudhi

Senior Member
Jul 7, 2010
338
248
0
51
Taiwan
You can use the zip for any purpose without asking, since I take and learn from this community.

Beats_ICS_v5.2_XE.zip
Fix beats icon disappear from sound effect dialog when headset plug or unplug, at the same time fix the chain bugs of this bug.
Fix unknown bug introducing by archiver 64bit 7-zip, by using default Windows 7's zip archiver.
The fix is only modifying HtcListen.apk, and is for XE base ROM only, I didn't include for non-xe ROM, since 3.32.401.105 is out there for a long time, but in case, if you want to flash it on non-xe ROM, just use this HtcListen.apk and push it to your phone or, insert and replace it to Beats_ICS_v5.1.zip and flash.

Please report bug if any, so that I know what to fix, thanks.

HtcStreamPlayer.apk mod for ICS ROM base 3.32.x,

This is a quick & dirty mod for Player launch by Htc Watch, which enables all 4 effects, tested with speaker and wired headset. The red beats icon not shown on status bar even if beats is selected. Not tested on BT yet. I may improve it when I have time to read the code, and it is not easy to analyze, as this is more complicated than HtcVideoPlayer.apk, just don't expect I could fix it.

HtcVideoPlayer.apk mod for ICS ROM base 3.32.x,

This mod enables all 4 effect available for xe and non-xe ROM, no-effect, srs, htc51(dolby) and beats. Beats sounds nothing on bluetooth.

For ICS ROM base 3.32.x, non-xe ROM, flash Beats_ICS_v5.1.zip

For ICS ROM base 3.32.10x, XE ROM, flash Beats_ICS_v5.1_XE.zip

For GingerBread Sense 3.5, ROM base 2.08.401.1, Flash Beats_GB_v4.2.zip

The mod is basically combine XE and non-XE sound effect styles into one.
/etc/TPA2051* are volume boost tweak
/etc/soundimage/* are my preference on srs, dolby and beats over BT tweaks
TPA2051* and soundimages can be deleted, and stock is used instead.

Beats cannot be delivered thru bluetooth and so it is moded to use srsfx_trumedia_movie.cfg soundimage to emulate beats effect.

On ICS builds, the dolby and srsfx have same effect, it is supposed to use srsfx_trumedia_51.cfg and srsfx_trumedia_music.cfg soundimages respectively, but due to htc's ICS build has added global srs and beats feature, so dolby and srs were using srs_global.cfg soundimage, however bluetooth is normal, I haven't found a way to fix it, just live with it, if you want your preference of srs on wired headset, edit the /etc/soundimage/srs_global.cfg

There is a feature of beats BT on latest ICS, however it is still under testing.

Most frequently ask question: Note I may be wrong, but I prove it by my music background (piano/violin etc...) See below for my descriptions.

No-Effect sounds like beats - from my understanding, Beats Effect is just bass enhancement only from No-Effect, and nothing more, bass gain is not louder either, that's why it is called Bass enhancement or BestsBass, it is not bass boost (SRS) which can boost a specific range of freq in strength and etc. What bass enhancement really do is emphasize low freq part something like prolonged the rythm, that's why you feel more rythmatic! makes you have an illussion of beating, and that's all the difference. Beats is louder, because on non-xe ROM, the TPA2051* (amplifier config) is configured 0x50 less volume, and xe ROM is 0x55, hence XE is louder, some ROM base you can differentiate no-effect and beats easily, because the volume is much more differ, but when it is close, you will say No-Effect sounds like beats, and it is caused by libraries.

To make sure beats is in effect or not, use this command

adb logcat BestsBass:V *:S

and you will see what files are loaded when turn on beats, and when no-effect, you will see Effect Release ...
 

Attachments

Last edited:

mudhi

Senior Member
Jul 7, 2010
338
248
0
51
Taiwan
Please make the mod for sense 3.0 xe device also or explain which files I need to edit to make my own mod. Thanks
Sorry, I cannot convinced myself to use sense 3.0, everything is better in 3.5, so why not just flash a sense 3.5 ROM?

Making a mod out of original htc apk for all sound effects working requires adding codes to the apk, and beyond my knowledge of java, but anyway, I explain how beats works on sense 3.0 and 3.5

sense 3.0: Sensation XE already has HtcMusic.apk enabled the beats, + the files for beats, those files you can see them on my mod.

sense 3.5: To enable beats on sense 3.5 stock ROM 2.08.401.1, you just have to mod the services.jar framework file's class HtcHardwareService, method isSupportBeats to always returning true, and HtcListen.apk will simply operates in beats, plus you need files from XE to really hear the effect.

For both 3.0 and 3.5, you need to mod the HtcMusic.apk and HtcListen.apk, adding, modifying codes to display the dialog, to invoke the effects etc... what I've done is just fixing others did, my first post's 2 links to the threads is where I got the modded HtcListen.apk, I referenced it to the original HtcListen.apk, tools I used:
Apk manager 5.02 for decompile/compile apk
smali/backsmali for moding services.jar
dex2jar to decompile dex to jar and view classes on jd-gui for better understanding of the app.
 

drms12

Senior Member
Sep 9, 2011
472
84
0
Thanks for the explanation. Sense 3.5 for the sensation isn't the final release and have problems, slow performance and battery life in compare to 3.0.
I have beats headphones, when I connect them the enhancer option have option to disable beats/enable beats, not the HTC enhancer which is srs. I just try to figure out the way to make every headphones use the real beats enhancer, not the generic one. And bt/speaker out is also needed.
If you can help I'll appreciate that. Thanks anyway.
 

daman215

Senior Member
Dec 10, 2010
1,664
403
0
philadephia
Sorry, I cannot convinced myself to use sense 3.0, everything is better in 3.5, so why not just flash a sense 3.5 ROM?

Making a mod out of original htc apk for all sound effects working requires adding codes to the apk, and beyond my knowledge of java, but anyway, I explain how beats works on sense 3.0 and 3.5

sense 3.0: Sensation XE already has HtcMusic.apk enabled the beats, + the files for beats, those files you can see them on my mod.

sense 3.5: To enable beats on sense 3.5 stock ROM 2.08.401.1, you just have to mod the services.jar framework file's class HtcHardwareService, method isSupportBeats to always returning true, and HtcListen.apk will simply operates in beats, plus you need files from XE to really hear the effect.

For both 3.0 and 3.5, you need to mod the HtcMusic.apk and HtcListen.apk, adding, modifying codes to display the dialog, to invoke the effects etc... what I've done is just fixing others did, my first post's 2 links to the threads is where I got the modded HtcListen.apk, I referenced it to the original HtcListen.apk, tools I used:
Apk manager 5.02 for decompile/compile apk
smali/backsmali for moding services.jar
dex2jar to decompile dex to jar and view classes on jd-gui for better understanding of the app.
Sense 3.5 is a test build so how is it better than 3.0?, it has all the bugs in the world. Anyway this same mod is on the new coredroid wich is xe sense 3.0 so if any body want true beats sound try the new coredroid, this mod sounds nothing like the xe base.
 

Attachments

drms12

Senior Member
Sep 9, 2011
472
84
0
Sense 3.5 is a test build so how is it better than 3.0?, it has all the bugs in the world. Anyway this same mod is on the new coredroid wich is xe sense 3.0 so if any body want true beats sound try the new coredroid, this mod sounds nothing like the xe base.
Thanks for that. I didn't know about the mod from coredroid. I hope it's work over bt.
 
  • Like
Reactions: tini78vj

mudhi

Senior Member
Jul 7, 2010
338
248
0
51
Taiwan
Thanks for the explanation. Sense 3.5 for the sensation isn't the final release and have problems, slow performance and battery life in compare to 3.0.
I have beats headphones, when I connect them the enhancer option have option to disable beats/enable beats, not the HTC enhancer which is srs. I just try to figure out the way to make every headphones use the real beats enhancer, not the generic one. And bt/speaker out is also needed.
If you can help I'll appreciate that. Thanks anyway.
When disabled, it is SRS. The beats mods is for non beats headset to have beats, but ofcourse will never sound like a real beats headset.

I was using sense 3.0, and switch to 3.5 for stability and performance, which I cook it for myself.

To increase battery life, you have to use custom kernel, stock kernel of 3.0 and 3.5 are the same having poor battery life. But truly speaking, all of them have poor battery life. If you use a phone like HD mini, you can just do charging every 3 days. :D

From my experience, especially htc, final release not equals to stability and performance, the latest may not stable, and features on test ROMs may never be released, those words are just their business strategy. I was curious about the test ROM 2.08.401.1, if you open those apks, the date was 2008, 3 years ago, it was coded 3 years ago and test for 3 years?
 
Last edited:

drms12

Senior Member
Sep 9, 2011
472
84
0
Yes I know, If you plug non-beats headphones it use generic beats, if disabled beats it will use srs (htc enhancer). When real beats plugged in it use real beats, and option to disable it without use the srs. I'll try to find a way to make all headphones beats and beats over bt and speaker.
 

mudhi

Senior Member
Jul 7, 2010
338
248
0
51
Taiwan
Yes I know, If you plug non-beats headphones it use generic beats, if disabled beats it will use srs (htc enhancer). When real beats plugged in it use real beats, and option to disable it without use the srs. I'll try to find a way to make all headphones beats and beats over bt and speaker.
HtcMusic and HtcListe are almost the same, smali the classes.dex and reference these classes:
HtcMusic
util\SoundEffectHelper
util\CustomizeSetting
util\HeadsetHelper
 

drms12

Senior Member
Sep 9, 2011
472
84
0
I tried to use coredroid beats mod, which suppose to do the same things as your mod (beats, no effect, dolby and srs via speaker, beats, no effect, dolby, srs and equlaizer via headphones\bt).
First of all the dolby and srs enhancer option available but do nothing to the sound (same as no effect) via speaker , headphones and bt. The beats working thru headphones. While using beats and the speaker I can't notice any different between no effect (beats disabled) to beats on. BT headphones beats option available but there is no sound if it's on. There is sound only when beats disabled\equalizer are being used.
I just want to ask if you could take a look at the files and check why srs\dolby don't work at all and most important check the beats over bt headphones.
 

Attachments

mudhi

Senior Member
Jul 7, 2010
338
248
0
51
Taiwan
I tried to use coredroid beats mod, which suppose to do the same things as your mod (beats, no effect, dolby and srs via speaker, beats, no effect, dolby, srs and equlaizer via headphones\bt).
First of all the dolby and srs enhancer option available but do nothing to the sound (same as no effect) via speaker , headphones and bt. The beats working thru headphones. While using beats and the speaker I can't notice any different between no effect (beats disabled) to beats on. BT headphones beats option available but there is no sound if it's on. There is sound only when beats disabled\equalizer are being used.
I just want to ask if you could take a look at the files and check why srs\dolby don't work at all and most important check the beats over bt headphones.
Ok, I'll try sense 3.0 at weekend, but I want to say, beats cannot be delivered through BT, it can be but what you get is just a silent sound, perhaps have to modify the soundimage file? I don't know, when I trying to read the codes, the beats when out of BT, it is using soundimage srsfx_trumedia_voice and so it is not beats though, and I forgot also included it in my mod, I'll update it. And BTW, this mod also has bass boost for all sound effect.
 
  • Like
Reactions: drms12

drms12

Senior Member
Sep 9, 2011
472
84
0
Ok, I'll try sense 3.0 at weekend, but I want to say, beats cannot be delivered through BT, it can be but what you get is just a silent sound, perhaps have to modify the soundimage file? I don't know, when I trying to read the codes, the beats when out of BT, it is using soundimage srsfx_trumedia_voice and so it is not beats though, and I forgot also included it in my mod, I'll update it. And BTW, this mod also has bass boost for all sound effect.
Thank you so much! Hope you could figure out how to fix the problems.
 

mudhi

Senior Member
Jul 7, 2010
338
248
0
51
Taiwan
Thank you so much! Hope you could figure out how to fix the problems.
If you know some java knowledge, it is not hard to debug, but using smali is really hard to debug, here what you can do,

extract the dex from the apk.

download the dex2jar, drag over the classe.dex to dex2jar.bat, the jar file will be produced, the jar file is a zip archive, inside them are whole bunch of java class files, then use jd-gui to view the code, however you can't directly change the codes.

reference it with smali for quicker code reading.

I'll start a new mod for HtcMusic since I've done with HtcListen.

Here is what I found.
Beats cannot delivered thru BT, maybe there is a simple way in behind but I couldn't find it, how about trying the whole ROM of coredroid? maybe other than the mod zip file, library hacks is needed?

Beats is just bass enhancement of original sound, normal headsets can only hear a very little difference, there may many ways to mod beats like boost the bass of beats, but that lost the objective of beats, just use equalizer rock would be stronger.
 
Last edited:

mudhi

Senior Member
Jul 7, 2010
338
248
0
51
Taiwan
Sorry again for sense 3.0 users, the structure is not alike with sense 3.5, it's not easy to read smali, but I will try.

At the moment, what I know for all effects to work properly is, it need to add missing codes from normal sensation's HtcMusic to XE's HtcMusic, or vise versa, it wasn't coded all together, unlike HtcListen from test ROM, all the codes are there.
 
Last edited: