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

语音合成与识别

开发平台:

Matlab

  1. % Resubstitution performance evaluation of GMM for speaker recognition
  2. addpath /users/jang/matlab/toolbox/dcpr
  3. addpath /users/jang/matlab/toolbox/cbmr
  4. more off
  5. if ~exist('speakerData'),
  6. fprintf('Loading speakerData.mat...n');
  7. load speakerData.mat
  8. end
  9. if ~exist('waveData'),
  10. fprintf('Loading waveData.mat...n');
  11. load waveData.mat
  12. end
  13. %profile on -detail builtin
  14. toc
  15. for i=1:length(speakerData),
  16. speaker = speakerData(i).speaker;
  17. index = findcell({waveData.speaker}, speaker);
  18. speakerData(i).gmmRank = zeros*index;
  19. for j = 1:length(index),
  20. % for j = 1:1;
  21. fprintf('Evaluate wave file %g/%g of %s...n', j, length(index), speaker);
  22. feature = waveData(index(j)).feature;
  23. for k=1:length(speakerData),
  24. logprob(k) = -sum(log(evalgmm(feature', ...
  25. speakerData(k).param.M, ...
  26. speakerData(k).param.V, ...
  27. speakerData(k).param.W)));
  28. end
  29. [a, b] = sort(logprob);
  30. % for k = 1:length(speakerData),
  31. % fprintf('%g: %s (log prob=%g)n', k, speakerData(b(k)).speaker, logprob(b(k)));
  32. % end
  33. speakerData(i).gmmRank(j) = findcell({speakerData(b).speaker}, speaker);
  34. end
  35. end
  36. fprintf('Total execution time = %gn', toc);
  37. %profile report
  38. figure;
  39. rank = cat(2, speakerData.gmmRank);
  40. plotpie(rank);
  41. title('Performance of GMM');
  42. save speakerData speakerData