Beats Mod GB & ICS (Beats Dolby SRS Equalizer)

Search This thread

mudhi

Senior Member
Jul 7, 2010
338
248
54
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

  • Beats_GB_v4.2.zip
    3.4 MB · Views: 3,778
  • Beats_ICS_v5.1.zip
    3.6 MB · Views: 6,004
  • Beats_ICS_v5.1_XE.zip
    1.7 MB · Views: 2,331
  • HtcVideoPlayer.apk
    263.5 KB · Views: 2,641
  • HtcStreamPlayer.apk
    295.7 KB · Views: 1,729
  • Beats_ICS_v5.2_XE.zip
    1.7 MB · Views: 4,226
Last edited:

drms12

Senior Member
Sep 9, 2011
472
84
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
 

mudhi

Senior Member
Jul 7, 2010
338
248
54
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
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
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

  • 2011-11-27_10-10-44.jpg
    2011-11-27_10-10-44.jpg
    61.6 KB · Views: 7,569

drms12

Senior Member
Sep 9, 2011
472
84
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
54
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
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
54
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
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

  • CoredroidBeats.zip
    4.6 MB · Views: 164

mudhi

Senior Member
Jul 7, 2010
338
248
54
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
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
54
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
54
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:

Top Liked Posts

  • There are no posts matching your filters.
  • 100
    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 ...
    3
    It's for sense 3 / 3.5 ?
    3
    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.
    3
    I confirm 4.7 version working on 3.30 based HyperNonSense v0.8.

    For setting up the activation of the beats mode i used the command:

    Code:
    # snd3254 -dspmode 08

    launched on the phone with a terminal emulator as root or via adb shell.

    Moreover, after setting up the configuration, a nice list of all possible codes will appear.

    This is the result of the command launched with "-h" option:

    Code:
    # snd3254 -h
    HTC TI-AIC3254 tool, version 1.1.0.3
    
    snd3254 [cmd] [parameter]
    -tx [device]
    	       Routing uplink path
    -rx [device]
    	       Routing downlink path
    -setmic [para1(1 to 2)]
    	       1: Mic1 ON  + Mic2 OFF
    	       2: Mic1 OFF + Mic2 ON
    -v [level]
    	       1 <= level <= 15
    	       Volume control by AIC3254 DAC
    -dspmode
    	       Configure AIC3254's minidsp
    	       Avaliable options will print out for reference
    -loopback
    	       1: Receiver v.s. IMIC
    	       2: Speaker  v.s. IMIC
    	       3: Headset  v.s. EMIC
    	      13: Receiver v.s. BMIC
    	      14: Speaker  v.s. BMIC
    	      15: Headset  v.s. BMIC
    -----------------------------------------------------
    -dump [pages]
    -w [page] [reg] [data]
    	       paras are in decimal
    	       Write down value to specific register
    -r [page] [reg]
    	       paras are in decimal
    	       Read value to specific register

    and this is the result of the complete command:

    Code:
    # snd3254 -dspmode 08
    00. Phone_Default
    01. Phone_Handset_Dualmic
    02. Phone_Speaker_Dualmic
    03. Phone_Headset
    04. Phone_HAC
    05. Phone_TTY
    06. Playback_Default
    07. Playback_Speaker_Default
    08. Playback_Headset_Beats
    09. Record_Default
    10. Record_V_Mono
    11. Record_V_IMIC_Landscape_Stereo
    12. Record_V_IMIC_Protrait_Stereo
    13. Record_A_IMIC_Mono
    14. Record_A_EMIC_Mono
    15. FM_Headset
    16. FM_Speaker
    17. SKYPE_Handset
    18. SKYPE_Speaker
    19. SPYPE_Headset
    configure minidsp to Mode Playback_Headset_Beats
    Success

    Since i dont like inaural headsets, i tested the activation with a pair of wired BOSE OE2. *Awesome!*
    Seems working not only in HTCMusic app but system wide. i.e., with JAzzRadio.com App the result is great and the difference noticeable :)

    Probably it works only on XE models. Can someone try it on standard Sensation?
    2
    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?