evalKmeansModel.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. % Get the sample data
  14. sampleData = [];
  15. for i=1:length(speakerData),
  16. feature = speakerData(i).kmeansParam;
  17. out = i*ones(size(feature,1), 1);
  18. sampleData = [sampleData; [feature, out]];
  19. end
  20. %profile on -detail builtin
  21. toc
  22. for i=1:length(speakerData),
  23. speaker = speakerData(i).speaker;
  24. index = findcell({waveData.speaker}, speaker);
  25. speakerData(i).kmeansRank = zeros*index;
  26. for j = 1:length(index),
  27. fprintf('Evaluate wave file %g/%g of %s...n', j, length(index), speaker);
  28. feature = waveData(index(j)).feature;
  29. [eachClass, ensembleClass] = knn(sampleData, feature', 1);
  30. [a, b] = countele(eachClass);
  31. index2 = find(a==i);
  32. if isempty(index2),
  33. speakerData(i).kmeansRank(j) = 10000;
  34. else
  35. speakerData(i).kmeansRank(j) = sum(b>=b(index2));
  36. end
  37. end
  38. end
  39. fprintf('Total execution time = %gn', toc);
  40. %profile report
  41. figure;
  42. rank = cat(2, speakerData.kmeansRank);
  43. plotpie(rank);
  44. title('Performance of Kmeans');
  45. save speakerData speakerData