Hello Mat

 找回密码
 立即注册
查看: 9950|回复: 4

基于DTW模型的语音识别

[复制链接]

1319

主题

1547

帖子

0

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22631
发表于 2017-2-3 18:46:55 | 显示全部楼层 |阅读模式
     语音识别(Speech Recognition)是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。
     文中,通过采用DTW(Dynamic time warping, 动态时间伸缩)算法,对实现孤立词的识别进行了初步探讨和研究,实现了在MATLAB软件环境下孤立词语的语音识别,并针对DTW的主要特点及不足做出了总结。
     DTW算法基于动态规划(DP)的思想,解决了孤立词发音长短不一的模板匹配问题。文中还针对动态规划的不足提出了改进。


  1. clc,close all,clear all;
  2. warning off
  3. %% 选择训练样本
  4. % geshi = { '*.wav','wav video (*.wav)';...
  5. %        '*.bmp','Bitmap image (*.bmp)';...
  6. %        '*.*','All Files (*.*)'};
  7. % [FileName,FilePath] = uigetfile(geshi,'导入外部数据',...
  8. % '*.wav','MultiSelect','on');% 选中所有的音频文件
  9. % % 如果选择了音频文件,生成图片文件的完整路径,否则退出程序,不再运行后面命令
  10. % if ~isequal([FileName,FilePath],[0,0]);
  11. %     FileFullName = strcat(FilePath,FileName);
  12. % else
  13. %     return;
  14. % end
  15. % number_wavs = length(FileFullName);  % 选择的音频文件个数 ,全选
  16. % save FileFullName.mat FileFullName number_wavs
  17. load('FileFullName.mat')
  18. disp('正在计算参考模板的参数...')
  19. for i=1:number_wavs
  20.         fname = audioread(FileFullName{i});
  21.         x=fname;
  22.         [x1,x2] = vad(x);
  23.         m = mfcc(x);
  24.         m = m(x1-2:x2-2,:);
  25.         ref(i).mfcc = m;
  26.    % soundview(x);
  27. end

  28. %% 选择测试样本
  29. [fname, pname, index] = uigetfile( { '*.wav', '选择语音文件'} ) ;
  30. filename = strcat( pname, fname ) ;
  31. % [y, fs] = audioread(filename) ;  % 获取采样频率
  32. disp('正在计算测试模板的参数...')
  33. x=audioread(filename);
  34. [x1,x2] = vad(x);
  35. m = mfcc(x);
  36. m = m(x1-2:x2-2,:);
  37. test.mfcc = m;

  38. disp('正在进行模板匹配...')
  39. dist = zeros(1,number_wavs);
  40. for j=1:number_wavs
  41.     dist(1,j) = dtw(test.mfcc, ref(j).mfcc);
  42. end

  43. disp('正在计算匹配结果...')
  44. for i=1:1
  45.         [d,j] = min(dist(i,:));
  46.         fprintf('测试模板 %d 的识别结果为:%d\n', i, j-1);
  47. end
复制代码





参考链接:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

0

主题

4

帖子

1

金钱

新手上路

Rank: 1

积分
5
发表于 2017-12-14 13:30:15 | 显示全部楼层
谢谢楼主,学习了
回复 支持 反对

使用道具 举报

0

主题

18

帖子

28

金钱

新手上路

Rank: 1

积分
46
发表于 2019-4-12 10:37:12 | 显示全部楼层
找了很久的东西,谢谢分賞
回复 支持 反对

使用道具 举报

0

主题

4

帖子

1

金钱

限制会员

积分
-1
发表于 2020-7-27 12:52:04 | 显示全部楼层
谢谢楼主,DTW学习了
回复 支持 反对

使用道具 举报

0

主题

16

帖子

1

金钱

新手上路

Rank: 1

积分
8
发表于 2020-8-21 22:46:01 | 显示全部楼层
终于找到了我要的资料,谢谢楼主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-10-31 18:22 , Processed in 0.246734 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表