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

语音合成与识别

开发平台:

Matlab

  1. % Compare the time/distance difference between dtwmex0 and dtwmex1
  2. fprintf('This script compares the difference between "dtwmex0.dll" and "dtwmex1.dll".n');
  3. file1 = 'singer1.wav';
  4. file2 = 'singer2.wav';
  5. y1 = wavread(file1);
  6. y2 = wavread(file2);
  7. mfcc1 = wave2mfccmex(y1);
  8. mfcc2 = wave2mfccmex(y2);
  9. % ====== Solution obtained by DTW
  10. %mfcc1 = fix(mfcc1*10);
  11. %mfcc2 = fix(mfcc2*10);
  12. n = 2000;
  13. tic;
  14. for i=1:n,
  15. [minDist0, DTWpathLen] = dtwmex0(mfcc1, mfcc2, 2, 1);
  16. end
  17. time=toc;
  18. fprintf('dtwmex0(): distance = %g, path length = %gn', minDist0, DTWpathLen);
  19. fprintf('t time of %g runs = %gn', n, time);
  20. tic;
  21. for i=1:n,
  22. [minDist1, DTWpath] = dtwmex1(mfcc1, mfcc2);
  23. end
  24. time=toc;
  25. fprintf('dtwmex1(): distance = %g, path length = %gn', minDist1, size(DTWpath,2));
  26. fprintf('t time of %g runs = %gn', n, time);
  27. fprintf('Difference in distance = %gn', abs(minDist0-minDist1));