请选择 进入手机版 | 继续访问电脑版

Hello Mat

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 770|回复: 2

基于DTW模型的语音识别

[复制链接]

735

主题

867

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
29731
发表于 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

帖子

12

积分

新手上路

Rank: 1

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

使用道具 举报

0

主题

18

帖子

46

积分

新手上路

Rank: 1

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

使用道具 举报

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

本版积分规则


Python|Opencv|MATLAB|Halcom.cn  

GMT+8, 2019-8-26 09:51 , Processed in 0.129029 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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