biQuads - Utilizing Qualcomm's Audio Codec for Headphone Equalization

Dec 21, 2015 at 2:03 PM Thread Starter Post #1 of 2

Bjrmd

Head-Fier
Joined
Dec 26, 2011
Posts
75
Likes
55
[MOD][AUDIO] biQuads - Utilizing Qualcomm's Audio Codec for Headphone Compensation

This mod is not just another collection of black-box sound "enhancement" libraries. There are plenty of those in this forum. The uniqueness of this mod is its ability to offer highly flexible and truly personalized headphone compensation filters. The potential of this proposition becomes clear when you realize that audio "quality" is experienced on a very subjective/individual level. The final compensation filters as obtained by the attached app simply require a modification of a single text file (mixer_paths.xml) that control the IIR filter as offered by the audio codec (Qualcomm only!). The audio mod itself is independent of kernel, ROM, and audio playback software used.


Introduction

The aim of this mod is to offer the user of a rooted Qualcomm-based Android device running Lollipop or later the ability to take full advantage of the IIR filter implementation offered by Qualcomm audio codecs (WCD93xx). The IIR filters are implemented in hardware as a cascade of five biquads that can be designed independently. Before diving into your own filter designs, you may want to visit this website to play with an interactive visualization of biquad filters. The mod and associated app (flashable zip below) aims to provide a similar design experience right on your device.

The advantages of using Qualcomm's hardware filter as opposed to other equalization filters offered by software implementations, such as Viper and friends are:
  1. the filters are implemented in hardware and independent of the ROM, kernel, and media playback software used
  2. the additional impact on battery usage is virtually non-existent
  3. no black box: the user has full control over the design; the filters can be designed to avoid any distortions to the audio signal

Installation instructions
  1. make sure you have busybox installed
  2. flash the attached zip using a custom recovery (tested with TWRP)
  3. prepare your mixer (/system/etc/mixer_paths.xml) to accept the hardware filter. This is the most complex part of this mod. Unfortunately, this needs to be done manually as each device is (potentially) different. This post hosts the relevant sections of various devices, which will hopefully be updated regularly with new devices.
This software is very useful to (within reason) design compensation filters for your headphone's frequency response. For example, many in-ear-monitors (IEMs) suffer from some level of high-frequency boost due to ear canal resonances. These resonances can be effectively "eliminated" by attenuating the offending frequencies. Each offending frequency (or frequency range) is then taken care of by designing its own biquad. You can find measured frequency responses (that you can use as a reference) of a large number of headphones either on GoldenEars, Inner Fidelity, or in forums like Head-Fi.
 
 
 
If you are interested please see the details at XDA
This is not my mod or work in any way but @chdloc is not able to post here yet(not a member long enough) and asked me to do so.  I have been using this mod on my rooted note 4 for the past 6 mos with excellent results.
 
Dec 21, 2015 at 2:24 PM Post #2 of 2
Thanks @Bjrmd for posting this shameless plug for me.
 
My apologies to the forum for asking somebody else to post my discoveries/work, but this mod has, in my opinion, much more potential in truly improving the perceived sound quality offered by Qualcomm-based Android devices (in combination with your favorite headphones)  than so many "black box" audio libraries out there.
 

Users who are viewing this thread

Back
Top