fliter doesn't filter In this code I try to decompose music from singer sound with wfilters but when I hear it it is still mixed where Iam I wrong ?  

 function s = scale3(q,n)
  p = length(q);
   if p==n 
   s = q;
    else 
    s = resample(q,n,p);
   end


the program

s = wavread('K:\Khaleel_3aaza (1).wav'); % whatever here

 [l,h] = wfilters('sym2','d');
 [z.x]=wavedec(s,2,l,h);

p = scale3(z.x(2245001:22350000),2245000);
Background music and human voice occupy the same frequency ranges, so they cannot be separated by filters. See this Q&amp;A for a few suggestions of techniques to separate human voice from background music.