function res = tnp_cut(snd) seuil = 0.001; windows_size = 5000; snd = snd - mean(snd); snd = snd/max(snd); nrj = []; zc = []; for i=1:fix(length(snd)/windows_size) borninf = 1 + (i - 1) * windows_size; nrj = [nrj; sum(snd(borninf:borninf + windows_size - 1).^2)]; zc = [zc; zerocros(snd(borninf:borninf + windows_size - 1))]; end nrj_zc = nrj / windows_size;% + zc / max(zc); nrj_zc2 = zc / windows_size; x = 1:length(snd); xz = 1:windows_size:length(snd); i = 1; j = 1; while i < length(nrj_zc) snd_mot = []; while i < length(nrj_zc) && nrj_zc(i) < seuil i = i + 1; end %de = 1 + (i - 1) * windows_size; while i < length(nrj_zc) && nrj_zc(i) >= seuil borninf = 1 + (i - 1) * windows_size; snd_mot = [snd_mot; snd(borninf:borninf + windows_size - 1)]; i = i + 1; end if length(snd_mot) ~= 0 borninf = 1 + (i - 1) * windows_size; snd_mot = [snd_mot; snd(borninf:borninf + windows_size - 1)]; %wavplay(snd_mot, 16000); res{j} = tnp_suppr_blanc(snd_mot); j = j + 1; end end