shumashibie.m
上传用户:ay_070428
上传日期:2014-12-04
资源大小:11427k
文件大小:1k
源码类别:

语音合成与识别

开发平台:

Matlab

  1. %数码语音训练数据
  2. samples={};
  3. for i=1:9
  4.     for k=1:8
  5.        s=sprintf('c:/matlab7/work/yuyin/yb/%d%d',i,k);%'g:\yuyin\wh\'
  6.         samples{i}{k}=wavread(s);
  7.     end
  8. end 
  9. %获取参数
  10. for i=1:length(samples)
  11. sample=[];
  12. for k=1:length(samples{i})
  13. sample(k).wave=samples{i}{k};
  14. sample(k).data=[];
  15.     end
  16.     fprintf('n第%d词训练',i)
  17. hmm{i}=train(sample,[3 3 3 3]);
  18. end
  19. %数码识别
  20. for i=1:9
  21. fname = sprintf('d:/work/fj/%d1',i);
  22. x = wavread(fname);
  23. [x1 x2] = vad(x);
  24. m = mfcc(x);
  25. m = m(x1-2:x2-2,:);
  26. for j=1:3
  27. pout(j) = viterbi(hmm{j}, m);
  28. end
  29. [d,n] = max(pout);
  30. fprintf('第%d个词, 识别为%dn', i,n)
  31. end