You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
## A Magisk module for maximizing the digital audio fidelity by reducing jitters on audio outputs (USB DACs, Bluetooth a2dp, DLNA, etc.)
2
2
3
-
Very many music lovers abandon audio quality on smart phones and DAP's by believing its causes are delivered from analog components. However, actually most of all the causes are less than 50Hz jitter (i.e., the standard deviation of actual audio data rate with a low-pass filter; usually converted in timedomain) on digital audio outputs that generates very short reverb or foggy sound like distortion on analog audio outputs. Although more than 50 Hz (less than 20msec interval) jitter can be easily reduced under the hearable level by PLL (Phase Locked Loop) in DAC's, the other (especially less than 10Hz or more than 100msec interval) modulates and distorts audio outputs by fluctuating the master clock in a DAC through the PLL. See ["Audio jitter silencer"](https://github.com/Magisk-Modules-Alt-Repo/audio-jitter-silencer) for more explanation.
3
+
So many music lovers abandon audio quality on smart phones and DAP's by believing its causes are delivered from analog components. However, the most crucial cuase of it is actually less than 50Hz jitter (i.e., the standard deviation of actual audio data rate with a low-pass filter; usually converting into time-domain) on digital audio outputs that generates very short reverb or foggy sound like distortion on analog audio outputs. Although more than 50Hz (less than 20msec interval) jitter can be easily reduced under the hearable level by PLL (Phase Locked Loop) in DAC's, the other (especially less than 10Hz or more than 100msec interval) modulates and distorts audio outputs by fluctuating the master clock in a DAC through the PLL. For further explanation, see my another magisk module ["Audio jitter silencer"](https://github.com/Magisk-Modules-Alt-Repo/audio-jitter-silencer).
4
4
5
5
For maximizing the audio fidelity, this module reduces less than 50Hz (more than 20msec interval) jitters on digital audio outputs by optimizing kenel tunables (CPU & GPU governors, thermal control, CPU hotplug, I/O scheduler, Virtual memory), Selinux mode, WIFI parameters, etc. as follows,
6
6
@@ -17,15 +17,15 @@ For maximizing the audio fidelity, this module reduces less than 50Hz (more than
disable wifi suspend optimizations, the adaptive battery management, the adaptive charging management and the adaptive connectivity management.</li>
27
27
<li>Kill effect chains<br>
28
-
force ignoring `/vendor/etc/audio_effects.xml` to disable equalizers, virtualizers, reverb's, visualizer, echo cancelers, automatic gain controls, etc. (very few vulnerable equalizers may crash by this killing, but please ignore it)</li>
28
+
force ignoring ```/vendor/etc/audio_effects.xml``` to disable equalizers, virtualizers, reverb's, visualizer, echo cancelers, automatic gain controls, etc. (very few vulnerable equalizers may crash by this killing, but please ignore it)</li>
29
29
<li>Disable the android built-in spatial audio feature (A13 or higher; especially Tensor devices)<br/>
30
30
bypass an otiose audio pass.</li>
31
31
<li>Disable aocd service<br/>
@@ -42,7 +42,7 @@ For maximizing the audio fidelity, this module reduces less than 50Hz (more than
42
42
* For Convenience and Audio Quality:
43
43
<oltype="1">
44
44
<li> Disable DRC (Dynamic Range Control, i.e., a kind of compression)<br/>
45
-
modify `/vendor/etc/*/audio_policy_configuration*.xml` to disable DRC if DRC has been enabled on a stock firmware.</li>
45
+
modify ```/vendor/etc/*/audio_policy_configuration*.xml``` to disable DRC if DRC has been enabled on a stock firmware.</li>
46
46
<li>Volume steps<br/>
47
47
change the number of steps in media volume to 100 steps (0.4~0.7dB per step).</li>
48
48
<li>Resampling quality<br/>
@@ -55,12 +55,12 @@ For maximizing the audio fidelity, this module reduces less than 50Hz (more than
55
55
to reduce jitter on all audio outputs.</li>
56
56
<li>Nullify volume listener libraries in "soundfx" folders for disabling slight compression (maybe a peak limiter only on Qcomm devices).</li>
57
57
<li>Set 192kHz & 32bit mode for the USB audio output of Tensor devices exceptionally<br/>
58
-
because Tensor devices lower the audio quality extremely for lower sample rates and bit depths. If your DAC cannot accept 32bit depth formats (e.g. Google's 3.5mm adapters and other very cheap ones), please edit "customize.sh" (in this Magisk module zip file) at line 95 and 96 to be `sRate="48000"` and `aFormat="AUDIO_FORMAT_PCM_24_BIT_PACKED"`.
58
+
because Tensor devices lower audio quality extremely for lower sample rates and bit depths. If your DAC cannot accept 32bit depth formats (e.g. Google's 3.5mm adapters and other very cheap ones), please edit "customize.sh" (in this Magisk module zip file) at line 95 and 96 to be ```sRate="48000"``` and ```aFormat="AUDIO_FORMAT_PCM_24_BIT_PACKED"```.
59
59
</li>
60
60
</ol>
61
61
<br/><br/>
62
62
63
-
* Don't forget to install ["Audio jitter silencer"](https://github.com/Magisk-Modules-Alt-Repo/audio-jitter-silencer) together and uninstall "Digital Wellbeing" app (for reducing very large jitters which this module cannot reduce as itself)! And uninstall ["Audio misc. settings"](https://github.com/Magisk-Modules-Alt-Repo/audio-misc-settings) and ["DRC remover"](https://github.com/Magisk-Modules-Alt-Repo/drc-remover) if they have already been installed, because all their functions are included in this module. Additionally if your device uses a Tensor SoC, uninstall ["USB SampleTate Unlocker"](https://github.com/Magisk-Modules-Alt-Repo/usb-samplerate-unlocker) for the same reason.
63
+
* Don't forget to install ["Audio jitter silencer"](https://github.com/Magisk-Modules-Alt-Repo/audio-jitter-silencer) together and uninstall "Digital Wellbeing" app (for reducing very large jitters which this module cannot reduce as itself)! And uninstall ["Audio misc. settings"](https://github.com/Magisk-Modules-Alt-Repo/audio-misc-settings) and ["DRC remover"](https://github.com/Magisk-Modules-Alt-Repo/drc-remover) if they have already been installed, because all their functions are included in this module. Additionally if your device uses a Tensor SoC, uninstall ["USB Samplerate Unlocker"](https://github.com/Magisk-Modules-Alt-Repo/usb-samplerate-unlocker) for the same reason.
64
64
65
65
* Don't use Am@zon music using a much worse internal re-sampler which bypasses the mastering quality re-sampling in the OS mixer (audioFlinger). Other music streaming services don't use such an internal re-sampler, as far as I know.
66
66
@@ -72,7 +72,7 @@ For maximizing the audio fidelity, this module reduces less than 50Hz (more than
72
72
73
73
* See also my companion script ["USB_SampleRate_Changer"](https://github.com/yzyhk904/USB_SampleRate_Changer) to change the sample rate of the USB (HAL) audio class driver and a 3.5mm jack on the fly like Bluetooth LDAC or Windows mixer to enjoy high resolution sound or to reduce resampling distortion (actually pre-echo, ringing and intermodulation) ultimately.
74
74
75
-
* Tips: If you use "AirMusic" to transmit audio data, I recommend setting around 4597 msec additional delay to reduce jitter distortion on the AirMusic panel to display target device(s).
75
+
* Tips: If you use "AirMusic" to transmit audio data, I recommend setting around 4601 msec additional delay to reduce jitter distortion on the AirMusic panel to display target device(s).
76
76
77
77
* Note1: Please remember that this module will stop the thermal control (including CPU core controls, CPU hotplugs and thermal services), the "logd server" and the "camera server" (interfering jitter on audio outputs), disable SELinux enforcing mode and doze (battery saver while idling) on your device. If you like to enable these features, modify variables in "service.sh", respectively. Especially, note that the "Youtube" app became recetly to need the camera server for launching for some unexplained reason.
0 commit comments