[namefile,pathname]=uigetfile({'*.wav','speech Files (*.wav)'},'Chose
speech signal');
if namefile~=0
selezionato=1;
else
disp('Select a speech signal');
end
end
filt=melfilter(150,300,15);
fr1=frm(strcat(pathname,namefile),16,8000,1);
mc2=train(fr1,filt,20);
mc2=mc2(3:18,:);
mc1=banshengsin(mc2);
s1=pitch(pathname,namefile);
a=length(s1);
b=length(mc1(1,:));
if a>b
s1(b+1:a)=[];
else
s1(a+1:b)=0;
end
mc1=[mc1;s1];
[im is ip]=init(mc1,16);
[nim1 nis1 nip1 times]=gmm(im,is,ip,mc1);
data=struct('name',{},'means',{},'cov',{},'prob',{},'pitch',{});
if (exist('speech_database.dat')==2)
-----------------------
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
% speaker recognition
if chos==2
clc;
close all;
selezionato=0;
while selezionato==0
[namefile,pathname]=uigetfile({'*.wav','speech Files (*.wav)'},'Chose
speech signal');
if namefile~=0
selezionato=1;
else
disp('Select a speech signal');
end
end
if (exist('speech_database.dat')==2)
load('speech_database.dat','-mat');
filt=melfilter(150,300,15);
fr=frm(strcat(pathname,namefile),16,8000,3);
l=length(fr(1,:));
nosp=length(data);
k=0;
b=0;
r=nosp;