I'm trying to implement a Peak Biquad filter in my CallBack. I get distortion during playback. Can someone plz help me?
What am I doing wrong?
Here's my callback, everything else is setup.
playing the sample , outA[i] = *callBack->samplePtr++ by itself works great, but not when I but the filter in.
OSStatus CallBack(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) {
AudioBufferList list;
CallBack *callBack = (CallBack*) inRefCon;
sampleInp = *callBack->samplePtr++; //AudioSampleType
AudioSampleType *outA = (AudioSampleType *)ioData->mBuffers[0].mData;
///Declare coeff
////////////////////
//Build the Peak Filter here
////////////////
b0=1.0 +(alpha *A);
b1= -2.0 * cs;
b2=1.0 -(alpha *A);
a0=1.0 + (alpha/A);
a1=-2.0*cs;
a2=1.0-(alpha / A);
a0=b0/a0;
a1=b1/a0
a2=b2/a0;
a3=a1/a0;
a4=a2/a0;
/// Loop sample
for (UInt32 i = 0; i < inNumberFrames; ++i){
outA[i] = a0*sampleInp+a1*x1+a2*x2 - b1*y1-b2*y2;
x2=x1;
x1=sampleInp;
y2=y1
y1=outA[i];
}
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden