MATLAB Adaptive Filters In the audio domain, I am currently attempting to use MATLAB to distil:


$\textrm{signal}$ from $\textrm{noise + signal}$
$\textrm{noise}$ from $\textrm{noise + signal}$ 
using two adaptive filters $\rightarrow$ two results.  


I get the first answer quite effectively using:

hFDAF1 = adaptfilt.fdaf(AdaptFiltLength,StepSize,Leakage,Delta,Lambda)

[Errors1, Adapt_Out_Audio] = filter(hFDAF1, NoisePlusAudio, Audio)


where NoisePlusAudio is a microphone in the room, and Audio is music playing through speakers in the room.

How do I get the adaptive filter to remove the Audio from NoisePlusAudio, just leaving the background noise of the room, much like an echo canceller?
The following does not work, it just lets all the sound through.

[Errors2, Adapt_Out_Noise] = filter(hFDAF2, Audio, NoisePlusAudio)


I'd love to know the answer ....
Reason for it might be the continuous adaptation, even in non speech regions. So, you can try Voice Activity Detector (VAD) for knowing the exact regions for adaptation of filter, and processing will be frame wise (20 ms).