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

语音合成与识别

开发平台:

Matlab

  1. % Test triangle inequality of wave files
  2. % ====== Add paths
  3. addpath /users/jang/matlab/toolbox/dcpr -begin
  4. % ====== Get wave data for testing
  5. if ~exist('waveData')
  6. fprintf('Loading waveData.mat ===> ');
  7. tic
  8. load waveData.mat
  9. fprintf('%4.2f secondsn', toc);
  10. end
  11. waveFileNum = length(waveData);
  12. waveFileNum = 100;
  13. % ====== Compute the distance matrix
  14. distance = zeros(waveFileNum);
  15. fprintf('Building %gx%g distance matrix ===> n', waveFileNum, waveFileNum);
  16. tic
  17. for i=1:waveFileNum,
  18. fprintf('%g/%gn', i, waveFileNum);
  19. for j=(i+1):waveFileNum,
  20. feature1 = waveData(i).feature;
  21. feature2 = waveData(j).feature;
  22. distance(i,j) = dtwmex(feature1, feature2, 1, 1);
  23. % distance(i,j) = dtwmex2(feature1, feature2, 1, 1);
  24. % if distance(i,j)==0,
  25. % keyboard;
  26. % end
  27. % Transformation for fulfiling triangular inequality
  28. % distance(i,j) = newDistance(distance(i,j));
  29. % [dist, path] = dtwasr(midi1, midi2);
  30. % distance(i,j) = dist/size(path,2);
  31. end
  32. end
  33. distance = distance+distance';
  34. fprintf('%4.2f secondsn', toc);
  35. tritest;