Android audio filter app (biquad filter)
We need implementation of an analog filter circuit into an app. The app will be a music player and the filter is an effect that can be applied upon pressing a button or clicking a symbol.
We have made a demo app that has some issues and we need help to solve this.
The app plays 44,1 kHz wav files. With the filter bypassed it sounds ok, but with the filter applied the sound is scrambled. We believe there is some faulty code and we need help to fix this.
We can provide ths source code (android studio project) for reference.
Below is a description of the filter.
Each input channel (xr & xl) has to be filtered through two different transfer functions: H1(z) & H2(z).
The two output channels (yr & yl) are the sum of the outputs from each filter according to:
yr = xr*H1(z) + xl*H2(z)
yl = xl*H1(z) + xr*H2(z)
The original analogue filter has transfers functions with two poles and two zeros in the s-plane, hence those transfer functions can be transformed to the z-plane in a biquad-filter structure.
We will provide filter implementation as well as koefficients for 44,1 kHz playback.