求助语音识别代码的注释,要每一句都写明意思,谢谢
这个是完整的代码,我自己的账号发不了这么长,希望好心人帮忙注释啊,非常感谢!!!
创新互联服务项目包括梁平网站建设、梁平网站制作、梁平网页制作以及梁平网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,梁平网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到梁平省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
(1)端点检测部分(vad):
function [x1,x2] = vad(x)
%语音信号x幅度归一化到[-1,1]
x = double(x);
x = x / max(abs(x));
%常数设置
FrameLen = 240; %帧长度为240
FrameInc = 80; %帧移为80
amp1 = 10; %短时能量高门限10
amp2 = 2; %短时能量低门限为2
zcr1 = 10; %短时过零率高门限为10
zcr2 = 5; %短时过零率低门限为5
maxsilence =3;%静音时间门限3*10ms= 30ms
minlen= 15;%最小语音时间长度15*10ms = 150ms
status= 0; %
count= 0; %语音时间累计
silence = 0; %静音时间累计
%计算过零率
tmp1= enframe(x(1:end-1), FrameLen, FrameInc);
tmp2= enframe(x(2:end), FrameLen, FrameInc);
signs =(tmp1.*tmp2)0;%符号数组,用于存储相邻两个采样点符号是否相同,即是否穿越0电平
diffs = (tmp1-tmp2)0.02;%度量相邻两个采样点之间距离,如果大于门限0.02(经验值),则1,否则0
zcr = sum(signs.*diffs,2);%过零率
%计算短时能量
amp =sum(abs(enframe(filter([1 -0.9375], 1, x), FrameLen, FrameInc)), 2);
%调整能量门限
amp1 = min(amp1,max(amp)/4);
amp2 = min(amp2,max(amp)/8);
%开始端点检测
x1 = 0;
x2 = 0;
for n=1:length(zcr)
goto = 0;
switch status
case {0,1}% 0 =静音, 1 =可能开始
if amp(n) amp1%确信进入语音段
x1 = max(n-count-1,1);
status= 2;
silence = 0;
count= count + 1;
elseif amp(n) amp2 || ... %可能处于语音段
zcr(n) zcr2
status = 1;
count= count + 1;
else%静音状态
status= 0;
count= 0;
end
case 2,% 2 =语音段
if amp(n) amp2 || ...%保持在语音段
zcr(n) zcr2
count = count + 1;
else%语音将结束
silence = silence+1;
if silence maxsilence %静音还不够长,尚未结束
count= count + 1;
elseif count minlen%语音长度太短,认为是噪声
status= 0;
silence = 0;
count= 0;
else%语音结束
status= 3;
end
end
case 3,
break;
end
end
count = count-silence/2;
x2 = x1 + count -1;
subplot(311)
plot(x)
axis([1 length(x) -1 1])
xlabel('语音信号');
line([x1*FrameIncx1*FrameInc ],[-1,1],'Color','red');
line([x2*FrameIncx2*FrameInc ],[-1,1],'Color','red');
subplot(312)
plot(amp);
axis([1 length(amp) 0max(amp)])
xlabel('短时能量');
line([x1,x1],[min(amp),max(amp)],'Color','red');
line([x2,x2],[min(amp),max(amp)],'Color','red');
subplot(313)
plot(zcr);
axis([1 length(zcr) 0max(zcr)])
xlabel('过零率');
line([x1,x1],[min(zcr),max(zcr)],'Color','red');
line([x2,x2],[min(zcr),max(zcr)],'Color','red');
(2)MFCC部分:
function ccc = mfcc(x)
%归一化mel滤波器组系数
bank=melbankm(24,256,8000,0,0.5,'m');%24滤波器个数,8000采样频率
bank=full(bank);
bank=bank/max(bank(:));
% DCT系数,12*24
for k=1:12
n=0:23;
dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24));
end
%归一化倒谱提升窗口
w = 1 + 6 * sin(pi *(1:12) ./ 12);
w = w/max(w);
%预加重滤波器
xx=double(x);
xx=filter([1-0.9375],1,xx);
%语音信号分帧,xx是输入语音信号;256是帧长;80是帧移
xx=enframe(xx,256,80);
%计算每帧的MFCC参数
for i=1:size(xx,1)
y = xx(i,:);
s = y' .* hamming(256);%加汉明窗
t = abs(fft(s));%fft变换
t = t.^2;
c1=dctcoef * log(bank * t(1:129));
c2 = c1.*w';
m(i,:)=c2';
end
%差分系数
dtm = zeros(size(m));
for i=3:size(m,1)-2
dtm(i,:) = -2*m(i-2,:) - m(i-1,:) + m(i+1,:)+ 2*m(i+2,:);
end
dtm = dtm / 3;
%合并mfcc参数和一阶差分mfcc参数
ccc = [m dtm];
%去除首尾两帧,因为这两帧的一阶差分参数为0
ccc =ccc(3:size(m,1)-2,:);
(3)dtw计算部分:
function dist = dtw2(test, ref)
global x y_min y_max
global t r
global D d
global m n
t = test;
r = ref;
n = size(t,1);
m = size(r,1);
d = zeros(m,1);
D =ones(m,1) *realmax;
D(1) = 0;
%如果两个模板长度相差过多,匹配失败
if (2*m-n3) || (2*n-m2)
dist =realmax;
return
end
%计算匹配区域
xa = round((2*m-n)/3);
xb = round((2*n-m)*2/3);
if xbxa
%xbxa,按下面三个区域匹配
%1:xa
%xa+1:xb
%xb+1:N
for x =1:xa
y_max= 2*x;
y_min= round(0.5*x);
warp
end
for x =(xa+1):xb
y_max= round(0.5*(x-n)+m);
y_min= round(0.5*x);
warp
end
for x =(xb+1):n
y_max= round(0.5*(x-n)+m);
y_min= round(2*(x-n)+m);
warp
end
elseif xaxb
%xaxb,按下面三个区域匹配
%0:xb
%xb+1:xa
%xa+1:N
for x =1:xb
y_max= 2*x;
y_min= round(0.5*x);
warp
end
for x =(xb+1):xa
y_max= 2*x;
y_min= round(2*(x-n)+m);
warp
end
for x =(xa+1):n
y_max= round(0.5*(x-n)+m);
y_min= round(2*(x-n)+m);
warp
end
elseif xa==xb
%xa=xb,按下面两个区域匹配
%0:xa
%xa+1:N
for x =1:xa
y_max= 2*x;
y_min= round(0.5*x);
warp
end
for x =(xa+1):n
y_max= round(0.5*(x-n)+m);
y_min= round(2*(x-n)+m);
warp
end
end
%返回匹配分数
dist = D(m);
function warp
global x y_min y_max
global t r
global D d
global m n
d = D;
for y = y_min:y_max
D1 = D(y);
if y1
D2= D(y-1);
else
D2 =realmax;
end
if y2
D3= D(y-2);
else
D3 = realmax;
end
d(y) =sum((t(x,:)-r(y,:)).^2) + min([D1,D2,D3]);
end
D = d;
(4)测试函数testdtw部分;
disp('正在计算参考模板的参数...')
for i=1:10
fname = sprintf('G:\\石东东\\语音\\%da.wav',i-1);
x = wavread(fname);
[x1 x2] = vad(x);
m = mfcc(x);
m = m(x1-2:x2-2,:);
ref(i).mfcc = m;
end
disp('正在计算测试模板的参数...')
for i=1:10
fname = sprintf('G:\\石东东\\语音\\%db.wav',i-1);
x = wavread(fname);
[x1 x2] = vad(x);
m = mfcc(x);
m = m(x1-2:x2-2,:);
test(i).mfcc = m;
end
disp('正在进行模板匹配...')
dist = zeros(10,10);
for i=1:10
for j=1:10
dist(i,j) = dtw2(test(i).mfcc, ref(j).mfcc);
end
end
disp('正在计算匹配结果...')
for i=1:10
[d,j] = min(dist(i,:));
fprintf('测试模板%d的识别结果为:%d\n', i-1, j-1);
end
机场三字代码的各国代码
亚洲
日本:东京NRT成田国际机场;HND 羽田机场;大阪ITM 大阪伊丹国际机场;KIX大阪关西国际机场
韩国:汉城(首尔)ICN 仁川国际机场;釜山PUS釜山金海国际机场
新加坡:新加坡 SIN新加坡樟宜国际机场
马来西亚:吉隆坡 KUL吉隆坡国际机场
越南:胡志明 SGN胡志明市新山机场
泰国:曼谷 BKK素万那普国际机场 普吉 HKT普吉国际机场
印度:新德里 DEL 新德里国际机场
中东:
伊朗:德黑兰 THR德黑兰梅赫拉巴德国际机场
沙特阿拉伯:利雅得RUH哈利德国王国际机场
阿联酋:阿布扎比 AUH 阿布扎比国际机场;迪拜DXB迪拜国际机场
卡塔尔:多哈 DOH多哈国际机场
土耳其:伊斯坦布尔 IST 伊斯坦布尔国际机场
北美
加拿大:渥太华 YOW渥太华国际机场;蒙特利尔 YUL 蒙特利尔多尔瓦国际机场;温哥华 YVR温哥华国际机场;多伦多 YYZ 多伦多皮尔森国际机场
美国:华盛顿 IAD杜勒斯国际机场;JPN五角大楼军用机;波士顿 BOS 波士顿洛根国际机场;芝加哥 ORD 芝加哥奥黑尔国际机场;纽约 JFK肯尼迪国际机场;旧金山 SFO 三番市旧金山国际机场;洛杉矶 LAX洛杉矶国际机场;迈阿密 MIA 迈阿密国际机场;亚特兰大ATL 亚特兰大国际机场;哥伦比亚 CAE 哥伦比亚国际机场;克利夫兰CLE 克利夫兰机场;夏洛特CLT 夏洛特国际机场;丹佛 DEN丹佛国际机场;达拉斯 DFW达拉斯沃思堡机场;底特律 DTW 底特律都会机场;休斯敦IAH 布什国际机场;奥兰多MCO 奥兰多国际机场;孟菲斯MEM 孟菲斯国际机场;西雅图SEA西雅图-塔科马国际机场
中南美
墨西哥:墨西哥城 MEX墨西哥城机场
古巴:哈瓦那 HAV 哈瓦那-何塞马蒂机场
巴西:巴西利亚 BSB巴西利亚国际机场;圣保罗 SAO圣保罗国际机场;里约热内卢 RIO/GIG里约热内卢国际机场
阿根廷:布宜诺斯艾利斯EZE 埃塞萨国际机场
欧洲
英国:伦敦 LHR伦敦希思罗机场;利物浦 LPL利物浦雷侬国际机场;曼彻斯特 MAN曼彻斯特机场
比利时:布鲁塞尔 BRU布鲁塞尔国际机场
卢森堡:卢森堡 LUX卢森堡国际机场
荷兰:阿姆斯特丹 AMS 阿姆斯特丹-史基浦机场;鹿特丹 RTM鹿特丹机场
丹麦:哥本哈根 CPH哥本哈根凯斯楚普机场
德国:柏林 TXL 泰格尔机场;慕尼黑 MUC 慕尼黑机场;不莱梅BRE 不莱梅机场;法兰克福FRA法兰克福-莱茵-美因国际机场;斯图加特 STR斯图加特机场;汉堡 HAM汉堡国际机场;纽伦堡 NUE纽伦堡机场;科隆 CGN科隆机场
法国:巴黎CDG戴高乐机场;马赛 MRS马赛机场;里昂 LYS 里昂机场
瑞士:伯尔尼 BRN贝尔普伯尔尼机场;日内瓦 GVA日内瓦国际机场;苏黎世 ZRH苏黎世国际机场;巴塞尔 BSL巴塞尔机场
西班牙:马德里 MAD马德里巴拉哈斯机场;巴塞罗那 BCN 巴塞罗那安普拉特机场;巴伦西亚VLC 巴伦西亚机场;塞维利亚SVQ塞维利亚机场
葡萄牙:里斯本 LIS 里斯本机场 ;波尔图OPO 奥波多机场
意大利:罗马 FCO罗马菲乌米奇诺机场;米兰 MXP 米兰马尔蓬萨机场;威尼斯 VCE 威尼斯机场;佛罗伦萨 FLR 佛罗伦萨机场;都灵TRN都灵机场
希腊:雅典 ATH雅典国际机场
奥地利:维也纳 VIE维也纳施韦夏特机场
捷克:布拉格 PRG布拉格鲁济涅机场
芬兰:赫尔辛基 HEL赫尔辛基万塔机场
瑞典:斯德哥尔摩 ARN斯德哥尔摩阿兰达机场
挪威:奥斯陆 OSL 奥斯陆加勒穆恩机场
南斯拉夫:贝尔格莱德 BEG贝尔格莱德机场
罗马尼亚:布加勒斯特 BUH 布加勒斯特机场
克罗地亚:萨格勒布 ZAG萨格勒布机场
匈牙利:布达佩斯 BUD布达佩斯费里海吉机场
波兰:华沙 WAW华沙奥肯切机场
俄罗斯:莫斯科 SVO 谢列梅捷沃机场;DME多莫杰多沃机场
乌克兰:基辅KBP基辅机场;IEV 基辅茹良尼机场
非洲
埃及:开罗 CAI开罗国际机场
塞内加尔:达喀尔 DKR达喀尔机场
南非:约翰内斯堡 JNB约翰内斯堡国际机场
大洋洲
澳大利亚:堪培拉 CBR 堪培拉机场;墨尔本 MEL 墨尔本国际机场;悉尼SYD悉尼金斯福国际机场
新西兰:惠灵顿 WLG惠灵顿机场
DTW 是哪个机场的缩写?
三字代码 机场中文名称 机场英文名称 州名 缩写
LAX 洛杉矶国际机场 Los Angeles 加利福尼亚 CA
BUR 伯班克机场 Burbank 加利福尼亚 CA
ONT 安大略机场 Ontario 加利福尼亚 CA
LGB 长滩机场 Long Beach 加利福尼亚 CA
SAN 圣地亚哥机场 San Diego 加利福尼亚 CA
SNA 橙县机场 Orange County 加利福尼亚 CA
SFO 旧金山国际机场 San Francisco 加利福尼亚 CA
OAK 奥克兰机场 Oakland 加利福尼亚 CA
SJC 圣荷西机场 San Jose 加利福尼亚 CA
SEA 西雅图国际机场 Seattle 华盛顿 WA
PDX 波特兰机场 Portland 俄勒冈 OR
PHX 凤凰城机场 Phoenix 亚利桑那 AZ
TUS 图森机场 Tueson 亚利桑那 AZ
LAS 拉斯维加斯机场 Las Vegas 内华达 NV
RNO 雷诺机场 Reno 内华达 NV
SLC 盐湖城机场 Salt Lake City 犹他 UT
DEN 丹佛机场 Denver 科罗拉多 CO
ELP 埃尔.帕索机场 El Paso 得克萨斯 TX
SAT 圣.安东尼奥机场 San Antonio 得克萨斯 TX
AUS 奥斯汀机场 Austin 得克萨斯 TX
IAH 休斯顿国际机场 Houston(Int’l) 得克萨斯 TX
HOU 休斯顿哈比机场 Houston(Hobby) 得克萨斯 TX
DFW 达拉斯机场 Dallas 得克萨斯 TX
MSP 明尼阿波利斯机场 Minneapolis 明尼苏达 MN
MCI 堪萨斯城机场 Kansas 密苏里 MO
STL 圣.路易斯机场 St. Louis 密苏里 MO
MSY 新奥尔良机场 New Orleans 路易斯安那 LA
BHM 伯明翰机场 Birmingham 阿拉巴马 AL
MEM 孟菲斯机场 Memphis 田纳西 TN
BNA 纳什维尔机场 Nashville 田纳西 TN
ORD 芝加哥机场 Chicago 依利诺 IL
DTW 底特律机场 Detroit 密执安 MI
IND 印第安那波利斯 Indianapolis 印第安那 IN
CVG 辛辛那提机场 Cincinnati 俄亥俄 OH
DAY 代顿机场 Dayton 俄亥俄 OH
CMH 哥伦布机场 Columbus 俄亥俄 OH
CLE 克利夫兰机场 Cleveland 俄亥俄 OH
PWM 波特兰机场 Portland 缅因 ME
BOS 波士顿机场 Boston 马萨诸塞 MA
ISP 长岛机场 Long Island 纽约 NY
LGA 拉瓜地机场 La Guardia 纽约 NY
JFK 肯尼迪机场 John F Kennedy 纽约 NY
ALB 奥尔巴尼机场 Albany 纽约 NY
BUF 布法罗机场 Buffalo 纽约 NY
EWR 纽瓦克机场 Newark 新泽西 NJ
PIT 匹兹堡机场 Pittsburgh 宾夕法尼亚 PA
PHL 费城机场 Philadelphia 宾夕法尼亚 PA
DCA 华盛顿国际机场 National 哥伦比亚特区 DC
BWI 巴尔地磨机场 Baltimore 马里兰 MD
IAD 华盛顿达拉斯机场 Wa Dulles 弗吉尼亚 VA
CLT 夏洛特机场 Charlotte 北卡罗来纳 NC
ILM 威尔明顿机场 Wilmington 北卡罗来纳 NC
CAE 哥伦比亚机场 Columbia 南卡罗来纳 SC
CHS 查尔斯顿机场 Charleston 南卡罗来纳 SC
ATL 亚特兰大机场 Atlanta 佐治亚 GA
MCO 奥兰多机场 Orlando 佛罗里达 FL
TPA 坦帕机场 Tampa 佛罗里达 FL
MIA 迈阿密机场 Miami 佛罗里达 FL
HNL 火奴鲁鲁机场 Honolulu 夏威夷 HI
OMA 奥马哈机场 Omaha 内布瑞斯卡 NE
分享题目:dtw代码java,DTW三字代码
本文路径:http://lswzjz.com/article/dsgoesj.html