-
大小: 3KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-05-20
- 語言: Matlab
- 標簽:
資源簡介
提取語音特征(短時能量,平均幅度、平均過零率)的matlab代碼

代碼片段和文件信息
%?clear?all?
yu(1:)=[‘H:\liuchanhg\happy\201.wav‘];
for?i=1:299
????t=yu(i20:22);
????h=str2num(t)+1;???%字符轉整數
????t=int2str(h);
????yu(i+1:)=strcat(‘H:\liuchanhg\happy\‘t‘.wav‘);
end?
for?k=1:300;
%?????lcvoiceE(k1)=1;
????[xfsbit]=wavread(yu(k:));%讀語音數據z(音頻信號)數據放入了Xfs代表采樣率,bit代表采樣位數
???framelength=240;%設置幀長,%30ms?under?8khz?
framenumber=fix(length(x)/(framelength));%總的數據幀數?
%d=0;%初始化,濁音波峰判斷?
%R1=0;%初始化,濁音一個基音周期內幀數?
%計算每幀的能量?
for?i=1:framenumber;?
???E1(i)=0;%短時能量初始化??
???for?j=(framelength*(i-1)+1):framelength*i;?
???????E1(i)=E1(i)+x(j)*x(j);??%第i幀短時能量?
???end?
???lcvoiceE(ki)=E1(i);
end?
%?
%?i=i+1;
%?while(i<=372)
%?????lcvoiceE(ki)=mean(E1);
%?????i=i+1;
%?end
%???????lcvoice(k:)=E‘;
??????clear??bit?framelength?framenumber?fs?i?j?x;
end
yu2(1:)=[‘H:\liuchanhg\sad\201.wav‘];
for?i=1:299
????t=yu2(i18:20);
????h=str2num(t)+1;???%字符轉整數
????t=int2str(h);
????yu2(i+1:)=strcat(‘H:\liuchanhg\sad\‘t‘.wav‘);
end?
for?k=1:300;
%??????lcvoiceE(k+1001)=2;
????[xfsbit]=wavread(yu2(k:));%讀語音數據z(音頻信號)數據放入了Xfs代表采樣率,bit代表采樣位數
????framelength=240;%設置幀長,%30ms?under?8khz?
framenumber=fix(length(x)/(framelength));%總的數據幀數?
%d=0;%初始化,濁音波峰判斷?
%R1=0;%初始化,濁音一個基音周期內幀數?
%計算每幀的能量?
for?i=1:framenumber;?
???E2(i)=0;%短時能量初始化??
???for?j=(framelength*(i-1)+1):framelength*i;?
???????E2(i)=E2(i)+x(j)*x(j);??%第i幀短時能量?
???end?
???lcvoiceE(k+300i)=E2(i);
end?
%?i=i+1;
%?while(i<=372)
%?????lcvoiceE(k+300i)=mean(E1);
%?????i=i+1;
%?end
??????clear?bit?framelength?framenumber?fs?i?j?x;
end
yu3(1:)=[‘H:\liuchanhg\angry\201.wav‘];
for?i=1:299
????t=yu3(i20:22);
????h=str2num(t)+1;???%字符轉整數
????t=int2str(h);
????yu3(i+1:)=strcat(‘H:\liuchanhg\angry\‘t‘.wav‘);
end?
for?k=1:300;
%??????lcvoiceE(k+2001)=3;
????[xfsbit]=wavread(yu3(k:));%讀語音數據z(音頻信號)數據放入了Xfs代表采樣率,bit代表采樣位數
????framelength=240;%設置幀長,%30ms?under?8khz?
framenumber=fix(length(x)/(framelength));%總的數據幀數?
%d=0;%初始化,濁音波峰判斷?
%R1=0;%初始化,濁音一個基音周期內幀數?
%計算每幀的能量?
for?i=1:framenumber;?
???E3(i)=0;%短時能量初始化?
???for?j=(framelength*(i-1)+1):framelength*i;?
???????E3(i)=E3(i)+x(j)*x(j);??%第i幀短時能量?
???end?
???lcvoiceE(k+600i)=E3(i);
end?
%?
%?i=i+1;
%?while(i<=372)
%?????lcvoiceE(k+600i)=mean(E1);
%?????i=i+1;
%?end
%???????lcvoice(k+200:)=[3?min(E)?max(E)?mean(E)?median(E)?std(E)?max(Z)?mean(Z)?median(Z)?std(Z)?min(M)?max(M)?mean(M)?median(M)?std(M)];
??????clear?bit?framelength?framenumber?fs?i?j?x;
end
yu4(1:)=[‘H:\liuchanhg\neutral\201.wav‘];
for?i=1:299
????t=yu4(i22:24);
????h=str2num(t)+1;???%字符轉整數
????t=int2str(h);
????yu4(i+1:)=strcat(‘H:\liuchanhg\neutral\‘t‘.wav‘);
end?
for?k=1:300;
%??????lcvoiceE(k+3001)=4;
????[xfsbit]=wavread(yu4(k:));%讀語音數據z(音頻信號)數據放入了Xfs代表采樣率,bit代表采樣位數
????framelength=240;%設置幀長,%30ms?under?8khz?
framenumber=fix(length(x)/(framelength));%總的數據幀數?
%d=0;%初始化,濁音波峰判斷?
%R1=0;%初始化,濁音一個基音周期內幀數?
%計算每幀的能量?
for?i=1:framenumber;?
???E4
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????3692??2012-10-26?14:54??語音短時能量、平均幅度、平均過零率\E.m
?????文件????????3742??2012-10-26?14:29??語音短時能量、平均幅度、平均過零率\M.m
?????文件????????3866??2012-10-23?17:09??語音短時能量、平均幅度、平均過零率\Z.m
?????目錄???????????0??2013-02-28?15:09??語音短時能量、平均幅度、平均過零率\
評論
共有 條評論