test.m
上传用户:jzquartz
上传日期:2008-06-09
资源大小:389k
文件大小:1k
源码类别:

Audio

开发平台:

Matlab

  1. function test(testdir, n, code)
  2. % Speaker Recognition: Testing Stage
  3. %
  4. % Input:
  5. %       testdir : string name of directory contains all test sound files
  6. %       n       : number of test files in testdir
  7. %       code    : codebooks of all trained speakers
  8. %
  9. % Note:
  10. %       Sound files in testdir is supposed to be: 
  11. %               s1.wav, s2.wav, ..., sn.wav
  12. %
  13. % Example:
  14. %       >> test('C:dataamintest', 8, code);
  15. %%%%%%%%%%%%%%%%%%
  16. %
  17. % Author:     Amin Koohi(Sohrevardi)
  18. %              AminSohrevardi@yahoo.com , AminKoohi@yahoo.com
  19. %*******************
  20. for k = 1:n                     % read test sound file of each speaker
  21.     file = sprintf('%ss%d.wav', testdir, k);
  22.     [s, fs] = wavread(file);      
  23.         
  24.     v = mfcc(s, fs);            % Compute MFCC's
  25.    
  26.     distmin = inf;
  27.     k1 = 0;
  28.    
  29.     for l = 1:length(code)      % each trained codebook, compute distortion
  30.         d = disteu(v, code{l}); 
  31.         dist = sum(min(d,[],2)) / size(d,1);
  32.       
  33.         if dist < distmin
  34.             distmin = dist;
  35.             k1 = l;
  36.         end      
  37.     end
  38.    
  39.     msg = sprintf('Speaker %d matches with speaker %d', k, k1);
  40.     disp(msg);
  41. end