Pixel Audio Control - Google Pixel XL Themes, Apps, and Mods

Project Purposes: Optimize sound quality of Pixel/XL when played through the headset port at moderate to low volumes, especially using low impedance, high sensitivity in ear monitors. The optimization will mainly affect signal to noise ratio, noise floor, perhaps THD. In addition, real time Spl monitoring on any device has been added for hearing protection, curiosity and viewing the dynamic range of music tracks(full implementation pending). Integration of the Biquad equalization/filter mod by @chdloc as a parametric equalizer(full implementation pending). The equalizer is capable of 5 bands, different left and right parameters and clipping protection.
This is a derivative of my Gain control app. Please see that post and following comments to better understand what follows.
Potential Users: Listen to music with high efficiency headphones/IEM and music volume generally below 2/3 max. Low distortion, noise important. Will also provide a finer granularity to the volume heard, about 1 dB increment change vs 3 dB through android volume control. Ability to make custom equalization filters for anything that plays through the headset jack.
Requirements: Rooted Pixel or XL, custom kernel supporting sound control(only tested with Elementalx-thanks to @flar2), custom mixerpaths if using biquads (thanks to @chdloc).
This app supports Neutron, Poweramp, Spotify and Google play music. Other music play apps should work using a “polling” method to detect if they are playing. In order to detect when music is playing a “helper” app needs to be installed.
Setup:
Unzip both sets of files(just an xda upload thing-would not take them singly)
Install the Pixel audio control app, and the app "Intent Trigger".
Place mixer_paths in system/etc (not in su/etc). You may want to rename the original to ....old.
Place audio_effects.conf and audio_policy_configuration in system/etc---if you are interested in using the visualizer engine to look at accurate Spl and dynamic range of your tracks. You may want to rename the originals to ....old
In addition for the USB Dac control to work, ALSA needs to be installed. A folder "USR" containing the ALSA files needs to be placed inside of the su folder, and alsa_amixer placed inside of su/bin and su/xbin
Note-if you want to just control gains and not biquads, the mixerpaths should not be needed
Reboot.
Open the main app(not playing music), no setup is required for basic operation, as you can see just move the sliders to change android vol, analog and digital gain. The purpose of the app is to keep analog gain low and digital as close to 0 as possible (to attain the given net output you want). The program will try to keep android vol at 15 (0 dB), analog at 0 and gradually boost by 1 dB another digital register (RX digital volume). Decreasing net output is in reverse. At this point you may want to confirm that analog vol is set to 0 and Digital to perhaps -15.
Note, adjusting the main android vol slider without the headset in will adjust the speaker vol, not the headset vol.
Close the screen-either menu close, or back button
Next, put in a headset, and play music-keep the headset out of your ears just in case .
A notification bar should pop up.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
There are choices on the bar if you pull it down further, up, down or sliders to control the volume. It should remember the last setting on play, pause and reboots.
Pressing the Bar Name-Gain should bring up a menu of other screens
This is the sliders choice
The 3 dot option brings up the main menu:
Setup option:
In addition I have added a switch to enable automatic reapplication of the "Biquad" mod on each pause/play. This is a brilliant piece of work done by my friend @chdloc that creates a 5 band parametric equalizer on the qualcomm platform. His post has the details of how to implement the feature and further instructions are below.
Music polling-certain music apps don’t broadcast play pause info that this app can catch(Pandora). By choosing the polling method a loop will be set up on headset insertion that “listens” for music playing every 4 secs--only use this if you must.
“Say text” on or off to verbally read text messages or not during music play.
In the setup screen is a spinner controlling the RX digital gain "cut off" point when using the up and down buttons. Both @chdloc and I have noted that the audio codec introduced some distortion when the RX digital gain reaches about -15 dB+- and worsens as it nears 0. Interestingly, the default mixerpath setting places a maximun of -7 dB on this value and if you add in the normal digital headroom in a tracks mix, this distortion is avoided. Some music apps, Neutron in particular, allow you to normalize tracks to the EBU128 standard, which is between 14 and 20 dB down. So even if your setting is at 0 dB digital gain, the music app is playing lower than this (due to it's own attenuation).
For people who would like to avoid this range however, I placed a way to bypass it. So if you choose 10 dB in the setting and started to ramp up the volume by the gain buttons, once you hit -10dB, analog gain would start increasing-leaving you always at -10 dB RX digital. The slider controls ignore this.
Biquad Control:
One of the most significant accomplishments in regards to the qualcomm codec platform was the development of the Biquad filter/equalization system by @chdloc. This give us either a hard coded fixed equalizer(see his post for the mixerpath mods) or (with a bit of work) an on demand custom 5 band parametric equalizer that you can totally control. In addition, the Pixel can sense headset impedance so we can use that info as a way to individualize equalization filters for each headset you own, or external amp.
Biquads app by @chdloc, has been ported over but I put in some pre defined “bands” and 4 complete “final filters” that I use. Disabled, SE846(7.5 Khz cut with a midrange boost), Oriolus(7.5 Khz cut with a bass boost) and low pass(no high freq passed so you can test the usage out).
What my app will do is capture the numeric band codes from the Biquad app scripts, and take a screenshot of the frequency curve. @chdloc has done all the hard work.
A new twist on choosing a given equalizer filter for a particular headphone is the Pixels’s ability to sense the impedance of the inserted device.
The number is not totally correct but it does give a rough idea and a “signature” of sorts to identify it. If you enable biquads and insert a headset, a screen pops up asking for headset name, sensitivity(leave blank if don’t know), published impedance (leave blank if not sure-the app will use the sensed value), and which biquad composite to use. Enter to close. If you insert the headset again, the app should know the previous choices. If the entry screen opens again, look to see what the impedance is sensed as-if 0, just remove it and wait a couple of secs and try again. If a close number to the initial, just enter it again as above. I have noted a variation in sensed impedance and for now let's just duplicate the entry.
Be extra careful which headphone sensitivity units are used--either dB/V or dB/mw. Enter either one but not both. The website of the manufacturer should have the specs. Note: Shure is in dB/mw and Sennheiser is dB/V.
Step 1 is to install Biquads app, make the required mixerpath mods and probably make an extreme filter(bad sounding) to make sure it actually works when we test it out.
Step 2- From this apps main menu open Biquad Bar.
Another notification bar will appear up top, back arrow or close the main menu for now.
Step 3- Open @chdloc’s Biquad app, design your filter and press “Design Biquad”.
It will calculate the filter and put up a nice graphic--do not close this! Go to the notification bar opened above and press the “Capture” button. A screenshot is taken and you are presented with a screen to name the filter. Call it something descriptive, ie +2 dB 4 Khz Q 2 lets say, then hit save. You can now go back to chdloc Biquad app, hit ok to put away the graphic and then design another. Note--all captures are done on biquad #1--so do not design on the others.
Step 4- Design “Multi filter”- from the main menu, choose that entry and a screen opens showing left, right channels and the previously added individual biquads are in the drop down positions in a grid form. By default, they are all disabled. Just pick one at a time. A few comments. After measuring my Shure 846 freq response I noted a bit of a channel imbalance. So I made a 2 dB boost at 4K in the R and 4 dB boost in the L. So each band does not need to have the same gaines L or R. Each line can also have just a unilateral change. So if you need a boost or cut in just one side, leave the other disabled.
To prevent clipping it is very important to cut the “preamp” (INP0) by whatever the max boost was in your filters. So if you are boosting low bass by 8 dB, INP0 reduction needs to be 8. The net Spl calculation will reflect this as well.
Step 5- Go back to Setup from the main menu and enable Biquads.
Step 6- From the Main menu click “Active Filter” or the “Biquads bar” in notifications(click on the icon-not the Home) will open the same window. You will see a list of all the filter composites you have made, including a disabled choice. Just click on the entry you want to be active and it will run some tinymix commands to implement it. The details of the “mix” will show below the choice list in case you forgot what you picked. Long clicking will delete any entry.
Step 7-optional-Biquad library- from the main menu again, this lists all the single filters we took from the Biquad app, with screenshots(not scaled) to get an idea of what each looks like. Long clicking will delete.
Once this is done, the overall filter/equalization will occur automatically on playing.
USB Dac control:
On DAC insertion you may see:
You must check the "always" box and hit OK.
First time use you will see:
The top box will populate with sound card devices and the Usb Dac will usually be device 1.
So enter 1 in "Device ID" field as shown.
Then the next scroll box will show the details of that sound card. We are interested in "PCM playback volume". Notice that the Numid is 3. That is entered in the next line as Numid.
Now, I have defaulted some boxes with my Dragonfly Red data but as shown, the Soundblaster E3 has markedly different values. The next part is critical. The "Range" must be put in (if not 64)--so in this case it's 12560. Then a Start Gain, this will trigger every time the Usb Dac is plugged--pick 5-10 percent of max, but this can be altered later. If you are interested in Spl levels, the voltage, impedance data etc must be put in. It is useful not only for ear protection but can help in loudness matching between headphone jack and Usb. The visualizer is explained above. The default player is Google music but the 3 dot menu can take you to "Setup" to change that.
When the Usb Dac is plugged, the notification bar will have a control similar to the qualcomm one. The up and down arrows will boost or decrease the Usb Dac gain by 1 dB (if the Range is 64) and the 3 lines on the right will take you to sliders that do the same.
Note- On rare cases there is a bug that leads to failure to sense when the USB Dac is pulled. As a work around, there is a "Quit" command in the main menu. Pull the Dac, Quit the app, then just restart it from the app tray and the app will be re initialized and ready to go.
If you do not want to have the Usb Dac control anymore, there is a Disable button on the control screen.
Spl monitoring:
Preface-One of my fears in many long years of listening, is what damage is being done in regards to permanent hearing loss. There are studies and recommendations as to time and volume levels that are safe. The SPL calc is an attempt to provide a rough estimate of the Spl(sound pressure level) coming out of the headphone using the following assumptions.
The full output of the codec is 1 V, the published headphone stats(sensitivity and impedance) and measured/published phone amplifier impedance are correct. The software will compute the Spl using the above and the gains selected. So you need the headphone’s published sensitivity( my Shure SE846 is 114 dB SPL/mW), some are published in dB/V so be careful with the entry box. The Spl window uses these units so be reasonably certain. The headphone out impedance is usually about 1 to10 Ohm (Note 4 is 1.4) but you should be able to find the value on the net or measure it yourself(here). The headphones impedance at 1 Khz is usually published but can be also taken from Goldenears.net reviews( again my SE846 is about 9 Ohm)
You should be able to raise/lower gain by 1 dB, monitor the Spl from the notification bar. If you are curious and have the right gear you can also use this in bench testing to easily compare different settings(high analog vs digital attenuation) but at the same Spl(gain). I have measured the actual Spl using a handheld meter, using a full-scale 1 kHz sine wave and the matching is very close. Actual music will be less but varies depending on what you are listening to. Informal observations show average music to be 5-6 dB down from the 1 kHz sine. Please consult published guidelines for safe listening.
Spl and Visualizer
As noted above, one of the purposes of this app/mod is to try to inform the listener about excess sound levels which will cause hearing loss. It does not limit or change the sound in any way but based on the gains(voltage put out by the phone), the headphone/amplifier output impedance and headphone sensitivity, calculates what a 1 kHz sine wave Spl would be. Depending on what you are listening to (silence, over compressed rock music, everything in between) the sound coming out of the headphone will be quite different. There is a class available in android that measures the peak and RMS audio levels on a real time basis. By using this measurement we can then compensate for whatever the played signal is for a much more accurate determination of Spl.
The new Spl measurement process gets peak and RMS levels every 1.5 seconds and put these values in an array of 8 values. At the end of the 8th measurement, the array is averaged and saved to a text file on your root storage(about every 15 sec). The two files contain the peak values and RMS in dB. So let's say the track has a peak value at 1 minute into the song of 0 dB, and an RMS level of -7 dB. The dynamic range would be 7 and if the calculated Spl was 90 by the original OP formula, the new net Spl would be 83 dB. A very quiet track may have a peak of -3 dB and RMS -16 resulting in a dynamic range of 13 and corrected Spl (90-16) of 74. More info on dynamic range calculations
The “visualizer” is enabled in the Headphone Entry screen, if biquads are enable, it will pop up on any new headset insertion. The visualizer can also be enable in the SPL menu choice
Be extra careful which headphone sensitivity units are used--either dB/V or dB/mw. Enter either one but not both. The website of the manufacturer should have the specs. Note: Shure is in dB/mw and Sennheiser is dB/V.
The visualizer engine does take considerable CPU resources and battery use. If you don’t want/need it, keep it disabled.
The values are in a separate notification bar, with the last 8 array members over the previous 15 seconds.
The graph icon will show a graph of the Spl and dynamic range over time. It uses google graph api, so an internet connection is needed. The graph is scrollable by dragging it. Every time the headphone is pulled a separate “session” begins and the graph zeros out. But the last session can still be seen by pressing the button noted. Very long sessions won’t function with the google graph api that is used so the data gets automatically resized to every other value. Pause/play stays in the same session.
The left side of the graph has units for Spl in dB, the right(which may need to be scrolled since it is off screen) has the legend for dynamic range. Most tracks will have a dynamic range of between 8-15 (corresponds to the DR album database of 5-12 values). Parts of a track may have more range than others and certainly will have different Spl values. I have placed a yellow caution line at about 78 dB and a red at 85.
Additional information
The Spl visualizer is now working with all(?) music apps but the effects and policy files above must replace the stock ones. If not, only google music will be picked up by the visualizer. In Neutron make sure you choose "generic" driver in the apps settings (it in no way alters the SQ). I have not tested Poweramp. Spotify is working fine.
There are also 2 mini apps--"Up" and "Down". These can serve in place as up or down clicks on the notification bar. They are good as "shortcuts" to put on the home screen, or even mapping the volume up/down keys using "xposed additions"(not yet for the pixel) or Button remapper. It works well but only with screen on. A single launch/click of the Up/Down app will change the gains by 1 dB according to the logical algorithm (keeping android vol/digital at or near 0 dB and analog gain as low as possible).
Many thanks as usual to @chdloc for all the help, guidance and for creating Biquads app. The mixer_paths and ALSA driver are his.
Also to @flar2 for the kernel.

Measurements done to confirm the logic behind the above gain choices (as well as mixerpath DAC options)

Update done:
Full Biquads support
Full USB Dac support (thanks to @chdloc for the ALSA lib)
Spl monitoring options (still WIP)
Better gain optimizations
Bug fixes

This is awesome. Thanks
? --->

Update:
Bug fixes
Visualizer now working with most music apps. You will need to replace the audio_effects. conf and audio_policy_configuration files in system/etc. (Thanks to @Mentalmuso for the files-they are from viper mod).
Android 7.1.1 caused some good and bad. The usb removal bug is gone, but biquads are affected. Mixerpaths needs to be in system/etc (no more bind mount) and there may be a fraction of a second where the left channel is quiet when you start play. See @chdloc thread for details.
The app is finally back to what it was pre Pixel.

Related

One X Speaker Output - Tweaked srs_global.cfg file

Hi all,
After being pointed in the right direction by treebil, I made a tweaked srs_global.cfg file for the HTC one x. I call it AudioX and I use it with the Ir1-1.29.401.11-DUO image. Once I learn how to make a CWM installer i'll post it also.
Audio X
-Removed Tru Bass setting which was boosting 400Hz - A setting which appears to be boosting the lows in the human voice frequency range. The setting seem to be calibratied to deliver a better call output rather than for Game SFX or music.
-Easened the compressor on the music output, left it the same for the phone calls.
V 01
All enabled set to 0
V 02
Fine tweak parameters
Disable Tru Bass effect.
Hi pass lowered to 120 instead of 200
Music Limiter set to 0.100 instead of 0.250
How to use:
Find System\Etc\Soundimage\srs_global.cfg and replace with the one from Zip file. Reflash rom using CWM. CWM Installer coming soon.
WARNING: I do not take any responsibility for broken speakers etc. When I tried these edits the volume was so loud the speaker made some crackle noises. If you keep that volume level chances are you will destroy the speaker and then it will crackle even at lower volumes. The new version does have a softer limiter and the volume levels are good so I think the speaker is not in danger.
All the best
htckt said:
I made a tweaked srs_global.cfg file for the HTC one x.
Click to expand...
Click to collapse
I'm not bothered by the external speaker but I know quite a few people are. It's really cool that you took so much of your time pulling this together. Fixes are what XDA is supposed to be about; not circuitous *****ing. Great example of how problems and issues should be dealt with. Solutions fix problems. Endless discussion doesn't.
I'm very interested in this - would you be able to explain a little bit more about what kind of values you changed (and how you found them in that file)?
Cheers,
Josh.
Welcome I would add stuff to my dspmanager but currently homeless crashing at friends lol
Sent from my HTC One X using XDA Premium HD app
fllash said:
I'm very interested in this - would you be able to explain a little bit more about what kind of values you changed (and how you found them in that file)?
Cheers,
Josh.
Click to expand...
Click to collapse
Thanks for the replies.
Treebil told me about the limiter, I only changed the values and tried it out.
I am a sound designer/composer and have also made some VST instruments (synths and effects) so it was evident that something was wrong with the speaker output since the first day I got it.
So I took a look into the config file and found very familiar values (compressor, limiter ratio, eq's, frequencies, stereo width etc) and started editing them.
Since some values where for the phone, I tried editing only the speaker output ones by comparing the values (You can tell which ones are for voice because it has a bigger compression ratio: 0.450 while the speaker has 0.250)
For example, below is the Tru Bass values, something that seems to be a Bass Enhancer:
Tru Bass Effect (Bass compressor/Enhancer). This is what gives the output that "pumping" sound in the lower regions around 400 hz:
srs_wowhd_0:wowhd_trubass_enable = 1 // TruBass Toggle - toggle
Enable or disable the effect.
srs_wowhd_0:wowhd_trubass_min = 0.000 // TruBass Min - control
Lowest effect value
srs_wowhd_0:wowhd_trubass_window = 1.000 // TruBass Window - control
Highest effect value
srs_wowhd_0:wowhd_trubass_slide = 1.000 // TruBass Slider - control
Unknown
srs_wowhd_0:wowhd_trubass_compressor = 0.250 // TruBass Compressor - Ratio
As I understand it, this setting doesn't allow the bass to go over 75% of the signal by compressing it whenever it reaches that value (75% = 0.250 out of 1). In different words, every 10 dB this value 'removes' 2.5dB so the bass has a constant volume.
srs_wowhd_0:wowhd_trubass_freq = 400 // TruBass Frequency - frequency
The bass frequency that is boosted by the Trubass effect. around 400 are the lowest frequencies of the human voice, around there also being the base for the male voice. By setting this to lower values (200) you can get a heavier bass for music instead of the hi-mid sound you get from this effect now.
srs_wowhd_0:wowhd_trubass_analysis = 200 // TruBass Analysis Size - frequency
Probably the width of the effect meaning how much of the surrounding frequncies are affected by the value. So if you set Trubass_frequncy 400 and Analysis 200, it will -probably- mean that the effect changes frequencies from 300 to 500. You can also call it width
srs_wowhd_0:wowhd_trubass_sa_enable = 1 // TruBass Split Analysis Toggle - toggle
Split analysis: probably a seperaet analysis for left and right output (?)
srs_wowhd_0:wowhd_trubass_mode = 0 // TruBass Mode - enum (Mono,Stereo)
Mono mode by default.
In the tweaked file the Trubass effect has been removed completely (at least for this version which was a quick editing). When I find out how to flash the file I will make finer edits. You can set the wowhd_trubass_compressor token to a value from 0.080 to 0.150 to get a more open tweaked compression.
Limiter - A effect that reduces the maximum output of the audio above a threshold level and then amplifies the signal back to 1. So if we have a range of 100dB and the volume goes over 75%, the limiter "cuts" everything above that level and then amplifies the 75% back to 100 dB - this is what causes the very inconsistent sound when listening to lets say metal music since it keeps on limiting too much of the signal. This is very good for voice though as it keeps a constant voice level.
srs_wowhd_0:wowhd_limiter_enable = 1 // Limiter Toggle - toggle
On/Off for the limiter.
srs_wowhd_0:wowhd_limiter_gain = 0.250 // Limiter Minimum Gain - control
Gain value: In the tweaked file the limiter is set to .100 , I wanted to remove it totally but the volume got so loud that the speaker made a couple of crackles, so I thought to leave some compression for safety reasons.
Hi pass filter: A filter that removes all frequencies below a certain level.
srs_hpf_0:hipass_order = 4 // Filter Order -
The type of the filter (?)
srs_hpf_0:hipass_frequency = 400 // Filter Frequency -
The frequency below which all frequncies will be hi-passed
In the tweaked file the Hi pass filter is lowered to 120 instead of 200. This means better explosions, more lower end.
Finaly there is also a SRS3D effect, which is probably a stereo widener:
srs_wowhd_2:wowhd_srs_enable = 1 // SRS3D Toggle - toggle
On /off switch
srs_wowhd_2:wowhd_srs_speaker = 0 // SRS3D Speaker Type - enum (Speaker,Headphone)
Speaker
srs_wowhd_2:wowhd_srs_mode = 2 // SRS3D Mode - enum (Mono,Single Speaker,Stereo,Extreme)
Single Speaker
srs_wowhd_2:wowhd_center = 0.500 // Center - control
Pan
srs_wowhd_2:wowhd_space = 0.800 // Space - control
This one is probably the width of the stereo enhancer. If you set it to 0.5 chances are you get the unaltered signal.
The problem is that there are way to many blocks of data so its very hard to tell which one exactly is the speaker, which one is the phone input, which one is the camera recording input, the speaker output when talking on the phone etc. I think that also the video recording and voice (from people calling) is affected by this tweak.
When I get some time to make an executable I can try more values and find out what the rest of the things are slowly.
One last thing I need to add is that, this limiter seems to send out a chunk of audio that has the effects applied on them and -afterwards- you change the volume with the one X buttons. So even if you set the volume to 50% you will still have the original 1.000 chunk of audio but at 50% volume with all the effects already applied on them. That means that the compressor does not "kick in" after you turn up the volume on the device, but rather sends you a compressed signal which is the same for every level. So it's a fixed compression instead of dynamic.
All the best
If you want I can pack things into a zip easy enough.
Sucks I don't have time to edit I was going to edit all these edits to my dspmanager but meh lol better for someone to do it than no one pm me if you want more sound files to edit there are a few.
Sent from my HTC One X using XDA Premium HD app
treebill said:
If you want I can pack things into a zip easy enough.
Sucks I don't have time to edit I was going to edit all these edits to my dspmanager but meh lol better for someone to do it than no one pm me if you want more sound files to edit there are a few.
Sent from my HTC One X using XDA Premium HD app
Click to expand...
Click to collapse
Thanks, that would be great actually. I've been trying to make one but can't get it working. This is the new version btw with the following just added: (Haven't tried it yet):
Enable Tru Bass
Tweaked at 120Hz instead of 400hz.
Tru Bass compressor 0.100 instead of 0.250
SRS3D Set space to 0.5 instead of 0.800 (less phaze/cancelling issues?)
cheers
Hi again,
In case someone wants to flash one, I think that the speaker output is cleaner and less compressed in Version 0.1 ( the first post) which hasn't got the Trubass effect enabled. I've been using it the last days and am very happy with the speaker output now.
All the best
On my One eXtreme Sound Enhancer Mod I have been playing around with srs_global and making it enabled in the Music player
The first time I make SRS work i noticed that the bass was wayyy too loud so I used srs_wowhd_0:wowhd_trubass_slide to turn down the bass
mabey srs_wowhd_0:wowhd_trubass_slide is the value for the Bass volume?
ZeroInfinity said:
On my One eXtreme Sound Enhancer Mod I have been playing around with srs_global and making it enabled in the Music player
The first time I make SRS work i noticed that the bass was wayyy too loud so I used srs_wowhd_0:wowhd_trubass_slide to turn down the bass
mabey srs_wowhd_0:wowhd_trubass_slide is the value for the Bass volume?
Click to expand...
Click to collapse
Might just be an amp boosting the decibel level.
Sent from my HTC One X using XDA Premium HD app
That's very detailed - Thanks heaps! I'll get to fiddling right away.
Josh.
htckt said:
Thanks for the replies.
Treebil told me about the limiter, I only changed the values and tried it out.
I am a sound designer/composer and have also made some VST instruments (synths and effects) so it was evident that something was wrong with the speaker output since the first day I got it.
...
One last thing I need to add is that, this limiter seems to send out a chunk of audio that has the effects applied on them and -afterwards- you change the volume with the one X buttons. So even if you set the volume to 50% you will still have the original 1.000 chunk of audio but at 50% volume with all the effects already applied on them. That means that the compressor does not "kick in" after you turn up the volume on the device, but rather sends you a compressed signal which is the same for every level. So it's a fixed compression instead of dynamic.
All the best
Click to expand...
Click to collapse
@Op,
I'm not a sound expert but I must say after comparing a few times with the original settings the speaker does give a warmer sound.
Awsom, thanks!
Thanks for this!
A question slightly related, do you know which is the file that controls the in-call volumes on front speaker or back speaker?
Thanks

[tweak][guide] louder sound and better quality music

ok.after some research and trying, i found some way to make our phone lounder and a bit more better quality.
first u need to know how our phone work to play music:
source ( MP3,m4a..) --> decode --> digital signal --> DAC --> analog signal X(weak but high quality) --> AMP --> analog signal Y (strong but less quality) --> headphone output.
if u dont know about DAC, AMP just see:
DAC: http://en.wikipedia.org/wiki/Digital-to-analog_converter
AMP: http://en.wikipedia.org/wiki/Amplifier
(but u dont need to understand them to do this tweak.)
the AMP has a value called gain (simplest way to understand, it the value of the volume bar we often increase or decrease while playing music)
if the gain have a value A, then we have:
Y = A . X​
but, the problem is, A has a maximum value. and, the more important thing is, this is not really " = ".( because our AMP is not good)
it's mean, the bigger value of A, the worse quality of signal Y.
and this limited also make our phone have small sound with some people
this is technical, but you can just simple hear it very bad while in crease max volume, event with a high quality headphone.
so how we resolve it?
just simple, in crease the signal X.
there is a file called amp_gain.txt in system/etc (you need root explorer to acess)
open it, and we have some value:
DS,00,00
MH,00,1F
SH,00,18
SP,1F,00
FS,1C,0D
RH,00,17
RS,1F,00
AH,00,1E
AS,1F,00
(this may be diff from some phone and rom)
the value is hex (from 00 to FF)
and the value AH is the value show how strong the signal X is. (the green value)
just increase it and you will feel the different.
with me, sound come out 3.5 jack is louder, a bit more detail, the bass is better than the increase volume.
note:
-the value AH set how strong signal X comes out DAC. and DO NOT set it too high.(it may be dangerous)
-if you hear the noise while mute or change soundtrack, decrease the value of AH.
-when you change AH to an value and you listen to music at volume level about 40-50%, this is the best.lower make sound is bad, higher make more noise.
-this AH affect output 3.5 jack. others are not tested. there is so much value, and i dont have time to test all. but if you can test please tell us how it affect sound but increase value step by step.
it wont harm your phone, but anyway i am not responsibility for any damage​​

ViPER4Android FX (V4A) Audio Effects

Found this on this thread below and I have to say after trying every music mod out there that this is one step ahead of everybody else. Check it out here. I have been listening to it for half a day now and it's amazing. It has so many sound options that it takes awhile to figure them out. But if you are a music freak like me once you listen to it you will say it's definitely worth the time to figure it all out. After checking the thread out if anybody is confused about how to install the apk's and files I will explain it the easiest way can for you. Thanks and enjoy!!!
http://forum.xda-developers.com/showthread.php?t=2191223
Open zip below and follow these instructions- All Credit Goes To zhuhang
Default F.A.Q - Frequently Asked Questions (Up to date)
--------------------------------------------------------------------------------
Updated 5/8/2013
Since Android 4.1, Google started to close down Android whole system audio effect.
"The main reason is there's many problem we can't fix, therefore we can only apologize to audio effect developers. In future, it will be fixed and whole system audio effect will be back." - GOOGLE
Therefore in certain players certain roms, V4A will not work.
- Will it work on my device?
A: V4A works on almost every ROOTED android devices. Refer requirements in OP.
- How to install?
A: Using the In-App installation, make sure you have busybox installed, first-run the app and follow through the installation dialogues.
- Which to install? FX or XHiFi or Both?
A: FX has many audio effects, where as XHiFi restores audio quality. If you like many effects(reverb, bass, surround) then choose FX, if you like clear audio/vocal and you have a good headset, choose XHiFi. You can also install both, more CPU usage, that's all.
- Why ViPER4Android FX/XHiFi always FC?
A: Uninstall and Reinstall V4A using NEW In-App Installation. This is due to driver not installed properly.
- Why ViPER4Android FX/XHiFi creates unexpected effects and different from other users?
A: Clear ViPER4Android FX/XHiFi data. If persist, disable third-party sound mods such as Noozxoide, Bass Booster etc)
- Third-party players such as Poweramp and TTPOD no effect?
A: Open V4A app and switch to FX Compatible Mode. (Driver status will show processing=No, but its working.)
- ViPER4Android FX/XHiFi doesnt run after bootup?
A: Check anti-virus or startup manager app whether V4A was disabled in startup list.
- V4A FX/XHiFi effect gone after using data-killer?
A: Please add ViPER4Android FX/XHiFi to data-killer app white list or exception.
- V4A FX/XHiFi effects suddenly disappeared?
A: Android system kills certain processes due to memory limits. Install V4A app as system app (Put in /system/app/ and restart)
- Why there is background noise when using V4A effects?
A: This is Android's musicFX bug, this will happen on all other sound mods.
Suggestion: Backup and Delete /system/lib/soundfx/libbundlewrapper.so
- V4A XHiFi effects gone after reaching certain volume? (~70%)
A: This is due to Sony Xperia hearing protection library. Backup and Delete /system/lib/soundfx/libhearingprotection.so
- How to use FIR-Equalizer?
A: See "How to use FIR-Equalizer" guide in XDA Original post.
- Why there's no change in sound quality after installing V4A?
A1: Choose V4A in Sound Settings > Music Effects. (Driver status will show processing=Yes)
A2: Open V4A app and switch to FX Compatible Mode. (Driver status will show processing=No, but its working.)
- Why volume reduces after 10 seconds?
A: This is not caused by V4A. Most probably you installed a bad and faulty xLOUD, ClearPhase or S-Force Front Surround port.
- Why music spoilt after display off?
A: This is due to CPU speed too low when screen if off. Make sure you are not using some battery saving CPU governor (such as smartass) or created own CPU profile.
Switch CPU governor to ondemand or interactive, to increase CPU speed.
- Can I still install V4A if I already using other sound mods?
A: Yes, after installation, open V4A app and switch to FX Compatible Mode.
- Why phone auto-reboot after I plugin headset? Normally for HTC phones.
A: Uninstall and Reinstall V4A using NEW In-App Installation.
- In-call volume reduced?
A: Uninstall and Reinstall V4A using NEW In-App Installation. If persist, its caused by other sound mod because V4A will not affect call volume.
- What if my phone/tablet cannot detect headset plugin?
A: In ViPER4Android app press menu, choose lock effect mode and choose headset, then adjust settings.
- I dont know my phone is which CPU type?
A:
Qualcomm CPU, freq higher than 800MHz, choose ARMV5TE, freq higher than 800MHz(including dual/quad core)choose A8.
Samsung CPU, single core choose A8, dual/quad core choose A9.
Huawei HiSilicon CPU, single-core choose A8, dual/quad core choose A9.
Other CPU, single-core choose A8, dual/quad core choose A9.
- Driver status shows version 0.0.0.0 even after rebooting?
A: Due to wrong driver used, try lower level drivers. Eg: A9 change to A8; A8 change to Tegra2.
- Driver status shows "Enabled: No, Processing: No", but i already turn on effects and playing music?
A:In FX Compatible Mode, driver status will always show No, but its working.
In Normal Mode, its due to reason at the starting of this post.
- Why no effect in MIUI player?
A: Open V4A app and switch to FX Compatible Mode. or Turn off MIUI default equalizer.
- Im using Meizu, Flyme system, why effect gone after i display lyrics?
A: Flyme modified Android's Audio principle, so lyrics will be treated as music effect by the music player, so V4A cant be used.
- V4A effects will spoil internal speaker/headset?
A: Firstly, there's an audiophile limit in your phone, even if you max every single settings in V4A, u will never achive that limit.
If the limit is achieved, your ears will blown off before the headset.
If your earphone is not used to high volume/bass, with long period of high volume/bass will cause your headset to spoil (without V4A it will also spoil)
For speaker, if a new phone straight away max the volume, within few days there will be distortion. Start off with 50~70% volume and after some time only max the volume.
About compatibility problem:
With the NEW In-App Installation, V4A will be installed into your system without problem. All system-provided sound effects will not be removed or overwritten.
V4A Audio E
Default FX & XHiFi Settings Explained & Recommended Value
--------------------------------------------------------------------------------
The latest version: FX v2.2.0.7, XHiFi v2.1.0.0
[FX Settings]
V4A FX version mainly for rendering audio effects, by controlling various parameters to achieve the purpose of audio effect adjustment.
1. Master Power. This option defines whether to enable V4A headset sound effects, also known as main switch.
2. Playback Gain Control. It is mainly used to dynamically control the audio volume, to amplify or to attenuate.
(1) Enable checkbox. Whether the effect is enabled.
(2) Select Effect Strength. Effect Strength is the speed of amplification or attenuation, the stronger the faster the speed and the higher the final volume, the weaker the slower the speed, the closer to the original volume. Recommended medium.
(3) Max Gain. When the volume of the note is too small, in order to uplevel the sound, there may be very large magnification. The higher the value, the louder the volume. But too large will also amplify the noise within the song. Recommended 4 times.
(4) Max Output. This value defines the maximum volume of the PlaybackAGC sound in decibel value, the greater the value the greater the volume, 0 db is the maximum. In order to make the sound softer recommended -1.9 dB.
3. FIR Equalizer. 511-order 10 bands FIR linear equalizer.
(1) Enable checkbox. Whether the effect is enabled.
(2) Select Preset. Here you can select default equalizer presets. When choosing custom, it will follow the user-defined lines drawn.
(3) Linear Equalizer graphic. Will pop up when you touch the graphic equalizer, you can manually adjust the levels of amplification and attenuation of the 10 bands.
4. Convolver
When an impulse response(IR) sample is loaded, music will show the same characteristics of the loaded sample, for example equalizer, surround, reverberation, tube etc.
Make sure SD Card has /ViPER4Android/Kernel/ folder, IR samples will be located there. If folder not exists, you can download latest V4A FX and extract SDCard_V4A.zip.
(1) Enable checkbox. Whether the effect is enabled.
(2) Impulse Response. Here you can select and load IR Samples inside /ViPER4Android/Kernel/ folder.
5. Field Surround. It is mainly used to create sound field surround effects. The sound field can be understood as mono field or stereo field.
(1) Enable checkbox. Whether the effect is enabled.
(2) Select Field Surround Strength. This value defines the strength of the field surround effects. The stronger, the stereo effect will be more obvious, the sound will come from left and right sides. Recommended medium.
(3) Select Mid Image Strength. This value defines the central vocal intensity. More strongman sound more clear, the weaker the more ethereal sound.
6. Reverberation. It uses mathematical methods to simulate the environmental feeling sensation. Example a song can be felt playing inside the auditorium, living room, bathroom, and so on.
(1) Enable checkbox. Whether the effect is enabled.
(2) Room Size. This value defines the virtual environment area size. The larger the value, the sound is wider and more echoes.
(3) Sound Field. This value defines the width of the room above, in meters. Assumed that the above room size is 100 square meters, here to set a width of 14 meters, then the length of the room will be 7.14 m.
Therefore, the room size and width defines the aspect ratio of the virtual environment.
The larger the value, the sound coming from both sides will felt more obvious.
(4) Damping Factor. This value defines the humidity of air in the above virtual environment, the moisture vapor in the air will easily absorb the echoes.
So the bigger this value, the less echoes heard.
(5) Wet Signal. This value defines the volume of the simulated environment effect.
(6) Dry Signal. This value defines the volume of the original sound.
For environments with low air humidity such as living room, auditorium and other indoor environment, you can use room size and sound field to define the area of ​​the virtual environment, water vapor content values ​​from 0 to 20, the reverb signal values ​​20 to 50, the proportion of the original signal to take value of about 50.
For environments with high air humidity such as bathroom and other indoor environment that contains a lot of moisture, you can use room size and sound field to define the area of ​​the virtual environment, water vapor content values ​​of 50 to 100, the reverb signal values ​​40 to 80, the proportion of the original signal value of about 50.
7. Dynamic System. It handles the dynamic range of the sound. In other words the bass, treble, and limiting.
(1) Enable checkbox. Whether the effect is enabled.
(2) Select Listening Device. This value defines the headset type connected to the audio jack. If you cannot get the right device for good bass tone, then select Common earphone. Common earphone is a common choice. Recommend Common earphone.
(3) Select Dynamic Bass. This value defines the average dynamic bass, the greater the stronger bass. Recommend 33%.
(4) Tube Simulator(6N1J). This option defines whether to enable tube simulator effect. V4A tube simulator uses a simplified mathematical simulation of tube effect.
If turned on, will greatly reduce high-frequency odd harmonic distortions, while increases even-order harmonic distortions of tube simulator.
8. Master Gate(Limiter). This option is V4A output limiter, its used to prevent overloud clipping distortion.
(1) Ouput Gain. This value defines the main output volume. Its something like a volume control.
(2) Limit Threshold. This value defines the limits of waveform amplitude by the limitor, 0 dB is the maximum value.
The smaller the value, the easier to experience audio frequency compression(the smaller the volume), will lose sound details, but can effectively control the final output volume. Recommend 0 db.
1. Master Power. This option defines whether to enable V4A speaker sound effects, also known as main switch
2. FIR Equalizer. Same as headset equalizer.
3. Convolver. Same as headset convolver.
4. Reverberation. Same as headset reverberation
5. Extra Loud. eXtra-Loud further amplifies the sound, but is controlled to protect the speaker, will not overload.
(1) Enable checkbox. Whether the effect is enabled.
(2) Select Effect Strength. Effect Strength is the speed of amplification or attenuation, the stronger the faster the speed and the higher the final volume, the weaker the slower the speed, the closer to the original volume. Recommended medium.
(3) Max Gain. When the volume of the note is too small, in order to uplevel the sound, there may be very large magnification. The higher the value, the louder the volume. Recommend infinity.
(4) Max Output. This value defines the maximum volume of the EL sound in decibel value, the greater the value the greater the volume, 0 db is the maximum. Recommend 0db.
6. Master Gate(Limiter). Same as headset limiter.
V4A XHiFi version mainly for restoring audio quality and details.
1. Master Power. This option defines whether to enable V4A headset/bluetooth sound effects, also known as main switch.
2. Playback Gain Control. Same as FX version's PlaybackAGC.
3. FIR Equalizer. 2047-order 10 bands, quality much better than FX version. Method of adjusting same as FX version.
4. Audio Reconstruction. It is XHiFi's core feature, it does the detailing and treble restoring for lossy mp3 audio files. (Currently in adjustment phase, different device may have different experience.)
(1) Enable checkbox. Whether the effect is enabled.
(2) Hi Clarity. This value defines the detailing and treble restoration percentage, the larger the value, the more details of the sound and stronger treble.
For low-end/common earphones, this is not recommended as you may experience high frequency shrills.
For better earphones such as Monster,Philips,Zombie,Sennheiser, recommended value = 30 ~ 50.
For high-end headphones, value depands on headphone cable length. Start with value = 40, value +10 for every 80cm cable length.
For preamp/amp connect to phone. Start with value = 60, value +10 for every 80cm cable length.
For tube amplifier, directly use value = 100.
(3) Lo Contour. The value defines the percentage of bass contour reconstruction over total band. The larger the value, the stronger the bass, but midrange and details will slightly lost.
For earphones recommend value = 50 ~ 70.
For headphones recommend value = 20 ~ 30.
5. Master Gate(Limiter). This option is V4A output limiter, its used to prevent overloud clipping distortion.
(1) Ouput Gain. This value defines the main output volume. Its something like a volume control.
(2) Limit Threshold. This value defines the limits of waveform amplitude by the limitor, 0 dB is the maximum value.
The smaller the value, the easier to experience audio frequency compression(the smaller the volume), will lose sound details, but can effectively control the final output volume. Recommend 0 db.
Default FIR Equalizer Guide
--------------------------------------------------------------------------------
So how do we adjust the FIR Equalizer?
Before this, V4A use IIR Equalizer, you have to know how much to adjust for each frequency band. But now using FIR Equalizer, you just have to know which frequency band to adjust.
So, determine your desired frequency band and move the adjustment bar to maximum or minimum.
Don't believe me? Try move all frequency bands to maximum and you will notice the high,medium and low frequency sounds strengthen, not just the volume being amplified.
That is the magic of the FIR Equalizer!
Due to FIR equalizer's innate qualities, there's no need of auto level control or gain compensation.
Of course, in V4A future updates, creator will extend the maximum gain value beyond +9 so that the maximum gain effect will be clearer and more obvious.
OP Updated: 5/18/13 12:00 pm
Latest version change log:
FX version: v2.2.0.7
1.New optimized driver for Non-VFP, VFP, NEON_A8 and NEON_A9/15 chip.
2.Fix driver failure at PXA920 and some chip without VFP.
3.Tweak the parameters for field surround.
4.Add auditory system protection (Cure Tech+).
XHiFi version: v2.1.0.0
1.Compatible with PXA920 chip (Tegra2 driver).
2.Fix a treble boost bug.
3.Tweak parameters of audio reconstruct.
Changed Driver List (Check for correct selection):
NEW FX 2207
ZTE U880 or same CPU(PXA920), choose "PXA920 without VFP" (Convolver disabled)
Tegra2 or any CPU with freq equal/less than 800MHz, choose "ARM with VPF"
Qualcomm of freq higher than 800MHz - single core, choose "A8 with NEON"
ALL other Dual-core,Quad-core,Octa-core, choose "A9/15 with NEON"
NEW XHIFI 2100
Tegra2, choose "NVIDIA Tegra2"
ALL others, choose "CortexAx with NEON"
Thanks for this find I'm gonna download and install now and test her out!!!!
subnoize soulja said:
Thanks for this find I'm gonna download and install now and test her out!!!!
Click to expand...
Click to collapse
Im having trouble getting this to download I tried both on my phone and computer and I cannot get either one to download??? I don't know if its me or if its media fire cause they are slow? But im getting really irritated cause ive been trying to download for a couple hours now
subnoize soulja said:
Im having trouble getting this to download I tried both on my phone and computer and I cannot get either one to download??? I don't know if its me or if its media fire cause they are slow? But im getting really irritated cause ive been trying to download for a couple hours now
Click to expand...
Click to collapse
See OP again for zip.
richardlibeau said:
See OP again for zip.
Click to expand...
Click to collapse
thanks again bro gonna give it a go again hhahaha!!!
What differentiates this release from the bazillion other "audio effects" and "enhancements mod"s?
thehandi said:
What differentiates this release from the bazillion other "audio effects" and "enhancements mod"s?
Click to expand...
Click to collapse
It has far more options than ac!d, awesome beats, kingbeatz, beats audio, etc. This is more in depth and better put together. Just my opinion though you'd have to check it out yourself.
Sent from my SGH-T989 using Tapatalk 2
Best music mod ever. Thank you for this
Sent from my SGH-T989D using xda app-developers app
Help !
please help me ! i'm a newbie !
i tried to install the apk !
installed the driver !
but still there is no change in audio !
please can tell me the proper process to install it !
i despareatly need it !
thanks a lot !
euphoriatechfreak said:
please help me ! i'm a newbie !
i tried to install the apk !
installed the driver !
but still there is no change in audio !
please can tell me the proper process to install it !
i despareatly need it !
thanks a lot !
Click to expand...
Click to collapse
Try hitting menu key and click on fx compatibility option select normal then you should notice a difference when you tinker around with the settings. You also need to enable it in sound settings- music fx. It is also best to convert it to a system app so that process killers don't terminate it.
Sent from my SGH-T989 using Tapatalk 2
@richardlibeau
thanks a lot for replying !
it worked for me !!
Tnaks for sharing
Amazing music mod
Sent from my SAMSUNG-SGH-I727 using xda premium
V4A surely kicks a** compared to DSP manager. Its really making my ROC nation aviators 10 times better than before
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
Not Working Again !
@richardlibeau
I Flashed Jedi Mind Trick JB 6
Then Pushed Apk Into System App !!
Then I Installed The Drivers..
After Then When I Check Driver Status
It Shows Its Enabled !
But When I Start A Song ( Using PowerAmp Player)
And Check The Status , It Shows No !
What I'm Doing Wrong ? Please Help !
Might be a stupid question, but what driver do we select?
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
rymaples said:
Might be a stupid question, but what driver do we select?
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
Click to expand...
Click to collapse
Arm 8
Sent from my SGH-M919 using Tapatalk 2
Been using this for about two weeks. Must say it works well. Just wish I could tweak the bass a bit more between natural bass and pure
Kerns_JW said:
Been using this for about two weeks. Must say it works well. Just wish I could tweak the bass a bit more between natural bass and pure
Click to expand...
Click to collapse
Try setting it to acoustic and then set the bass amount till you find your preference. Mine was 30 if you're wondering
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
Does this app not work on android 4.3 cause every time I install the app and reboot it says to install the driver again and again and again and again what am I doing wrong

How to improve speakers quality (balance, bass, clarity) [7 / 7T / 7 Pro]

It's possible to significantly improve loudspeakers sound quality and fix imbalance with hidden Dolby Atmos settings.
Follow any or both steps below (good for all Oneplus 7 series).
STEP 1: Fix stereo imbalance (ROOT is required)
The top loudspeaker sounds louder and crispier than bottom (moreover, the top rattles more at high volume). This can be fixed by editing dax_sqlite3.db with any SQLite editor:
Code:
/data/vendor/dolby/dax_sqlite3.db
I used SQLite Editor app:
1. Open dax_sqlite3.db and go to "tunings".
2. Open record with "speaker_landscape_normal" and edit 2 parameters, then save.
Replace audio_optimizer_gain_l with new value:
Code:
-56,0,40,16,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-16
Replace audio_optimizer_gain_r with new value:
Code:
-16,24,72,48,40,32,32,32,32,32,32,32,32,32,32,32,32,32,32,16
Each number separated by comma = gain in dB * 16 (i.e. "32" means "+2 db", "-16" means "-1 db").
3. (OPTIONAL - may be useless on your rom) Analogically replace the same parameters for the records "speaker_portrait_normal", "speaker_landscape_India", "speaker_portrait_India".
4. Reboot. That's it!
If something goes wrong (or you dislike new sound), just remove dax_sqlite3.db and reboot. Dolby will re-create it and return all default settings. Details about this edit:
We change overal speaker output optimization. Practically it's 20-band EQ for each physical speaker (audio_optimizer_gain_l = top).
So we reset both EQs to sound equally neutral, but keep the top speaker ~2 db lower.
STEP 2: Enable graphic EQ for speakers
You can activate dolby atmos equalizer for loudspeakers (available only for headphones by default) to get more bassy and clean sound.
If you don't have ROOT, use this DAX2 app: https://forum.xda-developers.com/oneplus-7t/how-to/dolby-atmos-equaliser-7t-hd1903-root-t4054999
You will have to disable/freeze built-in dolby tuner for full functionality (see tips also in that thread).
If you have ROOT, I recommend the method below. It relies on internal dolby app and will work in all modes (dynamic/movie/music + ringtone).
You'll need to edit sound_tuner.db with any SQLite editor:
Code:
/data/data/com.oneplus.sound.tuner/databases/sound_tuner.db
Again with SQLite Editor app:
1. Open sound_tuner.db, then go to "sound_tuner" and edit the line with "speaker_device".
2. Change values for "headphone_style_preferred" ("Intelligent style") and "audio_frequency" (EQ itself), then save changes.
headphone_style_preferred keeps value from 0 to 3 (0 - balance, 1 - warmer, etc), "0" is recommended.
audio_frequency keeps a string with each band gain in dB, separated with '#' without spaces. Recommendation for 7T:
Code:
4.4#6.5#0.0#-7.8#-6.5#-5.0#-4.5#-4.0#-3.6#-4.0
Don't use "7.0" or higher for first three bands - it will harm the speakers at high volumes.
3. To apply EQ switch current mode in Dolby Atmos settings (e.g. Music to Dynamic). That's it!
To reset EQ you can return "0#0#0#0#0#0#0#0#0#0" in "audio_frequency".
Embox said:
It's possible to use hidden built-in dolby atmos equalizer for speakers, root is required.
Works at least for all latest Oneplus (7 / 7 Pro / 7T).
You need to edit sound_tuner.db - dolby keeps its settings for all connected devices here.
I used MyAndroidTools for quick editing:
Click to expand...
Click to collapse
I have a really dumb question: where can I find that app? I searched the play store and nothing I found came up with db editing tools.
Sorry about the search failure question, this is something I'd like to do.
MyAndroidTools can be downloaded at least on Github. As i'm new user here, I cannot paste links yet. Google "MyAndroidToolsWebsite github". I used 1.6.8 release apk.
There's also "aSQLiteManager" app on the play store, it's old and quite slow, but works on my 7T. Enough for tuning the speakers once
grandpajiver said:
I have a really dumb question: where can I find that app? I searched the play store and nothing I found came up with db editing tools.
Sorry about the search failure question, this is something I'd like to do.
Click to expand...
Click to collapse
https://www.apkmirror.com/apk/wangqi/my-android-tools/
Embox said:
It's possible to use built-in dolby atmos equalizer for speakers, for example, to emphasize lows and decrease highs.
Root is required. Works for all Oneplus 7 Series
You'll need to edit sound_tuner.db with any SQLite editor:
Code:
/data/data/com.oneplus.sound.tuner/databases/sound_tuner.db
I used MyAndroidTools for quick editing:
1. Turn Music mode for speakers in Dolby Atmos and play any favorite track looped (not necessary, but much easier to compare sound difference further).
2. In MyAndroidTools go to Database > Dolby Atmos > sound_tuner.db > sound_tuner and open the line with "speaker_device".
3. Change values for "headphone_style_preferred" ("Intelligent style") и "audio_frequency" (10-band EQ), then save changes.
headphone_style_preferred keeps value from 0 to 3 (0 - balance, 1 - warmer, etc), i prefer "0".
audio_frequency keeps a string with each band gain, separated with '#' without spaces.
For 7T try this (more bassy and clean sound, but little loss in volume):
Code:
[B]2.5#6.8#0.0[/B]#-8.0#-6.0#-5.0#-4.5#-4.0#-3.8#-4.0
Don't use "7.0" or higher for first three bands - it brings distortion at high volumes.
4. To apply EQ switch to dolby atmos and change Music mode to Dynamic, and then back to Music. That's it!
To reset EQ you can return "0#0#0#0#0#0#0#0#0#0" in "audio_frequency".
Speaker EQ settings don't affect any headphones, work in all modes (dynamic/movie/music, also in ringtone mode)
Click to expand...
Click to collapse
Thanks, sounds really better now!
Speaker bass and clarity is good.
Will this trip safety net? Thanks!
c19932 said:
Will this trip safety net? Thanks!
Click to expand...
Click to collapse
Nope.
Igot this working. Thank you for your help. The bass is really nice, but I am concerned about whether the heavy bass will be bad for the speaker in the long run. any idea?
Also, also preset audio_frequency for car speakers for heavy bass? Thank you! this is great!
c19932 said:
whether the heavy bass will be bad for the speaker in the long run
Click to expand...
Click to collapse
It can harm at max volumes, mostly the top speaker. If you constantly use max volume or close, better keep first three bands under "6.0" and turn off "Intelligent EQ" (set it to "3"), as any iEQ enables additional bass boost for speakers.
My goal was great clear sound at low-to-mid volumes.
I was searching for the possibility to enable EQ on 7t without root, but nothing really worked, until I found Dolby Atmos DAX2 app (originaly from Razer phone)... (you can find it on apkmirror - I cannot share links yet...) works pretty well... maybe someone can have a use for it too...
Hege said:
Dolby Atmos DAX2 app (originaly from Razer phone)... (you can find it on apkmirror
Click to expand...
Click to collapse
Great finding, thanks! I checked it too and it works
This DAX2 app doesn't sync with built-in Oneplus sound tuner though (7T at least). Any change under "Settings -> Sound & vibration -> Dolby Atmos" and EQ for any device will be overrided.
It seems Oneplus has 2-way atmos audio library access - via standard SoundTuner app (in "Settings") and Dolby itself (which can be tuned by this DAX2 app).
I updated the first post - how to fix loudspeakers imbalance and improve total quality.
Try it, now Oneplus 7T sounds perfectly
Embox said:
I updated the first post - how to fix loudspeakers imbalance and improve total quality.
Try it, now Oneplus 7T sounds perfectly
Click to expand...
Click to collapse
Will done. Sounds beautiful!
Thanks for the awesome work. Anyone planning on making a magisk module or something simple for those of us not as inclined to flash all this code?
Hope too, i'm not into magisk much...
A thing about step 2 - this file is personal and keeps your headphone profiles too. Unless magisk module can change (not replace) *db file, you will have to re-tune all profiles again.
Upd: I removed attached file for replacing original db. Seemed to work incorrect even on my device (dolby turned off any effect). Manual editing still works fine.
Hey! I remember back then you posted a value set that produced great bass. Could you post that again? Thanks!
c19932 said:
Hey! I remember back then you posted a value set that produced great bass. Could you post that again? Thanks!
Click to expand...
Click to collapse
Hey! Before finding dax3_sqlite.db i used almost the same set for global EQ (now this is "step 2"):
Code:
2.5#6.8#0.0#-8.0#-6.5#-5.0#-4.6#-4.2#-4.0#-4.2
A value set i like most now in combination with additional "step 1" is updated in the first post.
You can visually and faster adjust EQ with Dax2 app in this post (then copy its values to "step 2" and remove the app):
https://forum.xda-developers.com/oneplus-7t/how-to/dolby-atmos-equaliser-7t-hd1903-root-t4054999
Thanks for the guide, my speakers sound really nice now. I have a few questions. May I know how you got the values for the speaker balancing? Not planning on doing it myself or anything, just curious. Also, with your EQ values, what are the odds of damaging the speakers at max volume?
Thanks for feedback, I also loved more 7T speakers, though sound got a little quieter.
Terrigible said:
how you got the values for the speaker balancing?
Click to expand...
Click to collapse
The stock top speaker is louder (not much, but noticeably), GSMArena also mentioned that. Stock EQ values ("Step 1") remind me random earthquake graph, for example bottom speaker gains:
-219,-16,68,-16,-16,0,9,-11,9,-16,52,9,32,-16,-46,4,-11,12,38,-16
So I reset them all to neutral ("0"), add little bass except lowest/highest bands (speakers can't produce 46/20000 Hz). Then made bottom value set +32 higher ("+2 db"), it sounds ok for total balance (no precise measurements with mic). After I adjust global EQ based on this neutral setup ("Step 2").
Curious can also find more hidden fields to tune like bass boost, headphone optimization in the "dax_sqlite3.db".
Terrigible said:
what are the odds of damaging the speakers at max volume?
Click to expand...
Click to collapse
Good odds with extreme gains and constant max volume. I mean "step 2" (global EQ), no harm with "step 1" only.
On my experience all gains below +6 db are save, no distortion. One can decrease this to +4...5 db for sure safety.
Thanks for this man, now my 7t speaker sounds correct.
Anyway would you please share your EQ settings for Headphone?

Realme 7 Pro Hi-Res Audio enabler

Hi-Res Audio enabler and sound booster headphones Only Realme 7 Pro
I threw on a mod for the hobby of quality and volume in headphones.
Hi-res enabled by default (24 bit / 96 kHz)
Volume increased to the maximum value
Increased the sound quality of video recording from the camera
Install via Magisk
Git updates
HD is a wonderful thing especially if your using .wav* files and higher resolution media files.
*HDCD's need to be stored as .wav files only to prevent the loss of their HDCD subtext; they can't be altered to another file type as the subtext is lost in the conversion.
They can have up to 22 bit resolution vs a CD's 16 bit if handled properly. No decoder is needed but they signal needs to stay in the digital realm and go into a 24 bit or higher DAC. Doing so will glean 90+% of the encrypted subtext giving a noticeably broader sound stage and more accurate sound stage reproduction.
Many CDs are HDCDs, and many of those are not labeled as such... a pleasnat surprise from a sound engineer/producer that knows what they're doing

Categories

Resources