No BSD License  

Highlights from
speech processing tool

image thumbnail
from speech processing tool by MEKHMOUKH Abdenour
speech processing tool

[F0s,Vs]=siftech (Y,Fs,fen)
function [F0s,Vs]=siftech (Y,Fs,fen)

close all;

Y = Y/max(abs(Y));       % normalise le vecteur d'entre
N = 10e-3*Fs;             % Calcule le nombre d'chantillon  prendre avoir une fentre de 10ms

% Calcule les coefficients du filtre d'entre

[n,fo,mo,w] = remezord ([900 1300],[1 0],[0.01 0.01],Fs);
B = remez (n,fo,mo,w);

% Initialisation des variables utiles au programme

long = floor(length (Y)/N);    % Dtermine le nombre de fentres de 10 ms disponibles

F0last = [0 0];                 % Initialise des vecteurs utiles  la fonction SIFT
Vlast = [0 0];

F0s = [0];                      % Initialise le vecteur des frquences fondamentales
Vs = [0];                       % Mme chose pour le vois/non vois

af = 0;                         % Mise  zro du flag demandant l'affichage des dtails
                                % du traitement  la fonction SIFT

fen = fen +1;                   % Adaption du choix de la fentre dont il faut afficher les dtails
                                % pour qu'il corresponde aux valeurs utilises dans la boucle

for i=2:(long-2),               % Boucle permettant la cration de fentres de 30 ms
   
     if i == fen                 % Test permettant d'afficher le dtail de la bonne fentre
        af = 1;
   end;

ech = Y ((i-1)*N:(i+2)*N);    % Cration des fentres de 30 ms
[F0,V,af]= sift (ech,Fs,Vlast,F0last,B,af);    % Appel de la fonction SIFT

F0s = [F0s F0];                % Cration des vecteurs de sorties
Vs = [Vs V];

Vlast = Vs (i-1:i);            % Cration des vecteurs "historique"
F0last = F0s (i-1:i);          % ncessaire  la fonction SIFT

end;                           % Fin de la boucle

F0s =F0s (2:length (F0s));    % On retire aux vecteurs de sortie le premier lment qui
Vs = Vs (2: length (Vs));      % aucune signification physique

figure;                        % Affichage des rsultats
subplot(3,1,1);
plot (F0s);
title ('Evolution du pitch');
subplot (3,1,2);
plot (Vs);
title ('Dtermination des zones voises(1 = voise / 0 = non voise)');
subplot (3,1,3);
plot (Y);
title ('Signal analis');

Contact us at files@mathworks.com