Technical discussions related to Audio Signal Processing (digital effects, acoustics, noise reduction, musical signal processing, etc).
Hi ! I have little experience with time filtering ,ad i'd very much appreciate some input. So here's the deal: I'm trying to enhance audio with some non-linear processing so basically I have an audio extract that i cut into 50% overlapping frames. Subsequently, i window each frame by a smoothing window. then I bandpass each frame F with an IIR filter (order N) using the function 'filter' producing an output P, apply some more processing to P that doesn't add any delay, and after that i bandpass P (using another IIR order N with the same order N). producing an output Q. Now the thing is i want to add Q to the original frame F, so delay compensation is involved. The trouble I have with the above processing is: -How do I perform delay compensation ? what i did was something like : final_output = [Q(delay+1:end);zeros(delay,1)] + F where F is the original input... -My bandpass IIR filters have changing caracteristics, ie the the cutoff frequencies F1 and F2 changes from one frame to another. Could this be the main source for artefacts ? By the way do I really need to multiply by a smoothing window ?? thank you very much, any help is appreciated______________________________
Hello, Is this delay coming from IIR filter?=A0 If so, filter=20=20 your=A0sequence=A0with the same filter but=A0first reverse the sequence.=A0= In=20=20 this=A0case you=A0will have zero phase IIR filter=A0so no delay will be = =20 involved. BR =A0 =D6=E8=F2=E0=F2 =EE=F2 d...@yahoo.fr: > Hi ! > I have little experience with time filtering ,ad i'd very much=A0=20=20 > appreciate some input. So here's the deal: > I'm trying to enhance audio with some non-linear processing > so basically I have an audio extract that i cut into > 50% overlapping frames. > Subsequently, i window each frame by a smoothing window. > then I bandpass each frame F with an IIR filter (order N) using the=A0 = =20 > function 'filter' producing an output P, apply some more processing=A0 = =20 > to P that doesn't add any delay, and after that i bandpass P (using=A0 = =20 > another IIR order N with the same order N). producing an output Q. > =A0 Now the thing is i want to add Q to the original frame F, so=20=20 > delay=A0 compensation is involved. The trouble I have with the above=A0 = =20 > processing is: > -How do I perform delay compensation ? > what i did was something like : > final_output =3D [Q(delay+1:end);zeros(delay,1)] + F where F is the origi= nal > input... > -My bandpass IIR filters have changing caracteristics, ie the the=A0=20=20 > cutoff frequencies F1 and F2 changes from one frame to another.=A0=20=20 > Could this be the main source for artefacts ? > By the way do I really need to multiply by a smoothing window ?? > thank you very much, any help is appreciated >______________________________