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

Audio

开发平台:

Matlab

  1. function code = train(traindir, n)
  2. % Speaker Recognition: Training Stage
  3. %
  4. % Input:
  5. %       traindir : string name of directory contains all train sound files
  6. %       n        : number of train files in traindir
  7. %
  8. % Output:
  9. %       code     : trained VQ codebooks, code{i} for i-th speaker
  10. %
  11. % Note:
  12. %       Sound files in traindir is supposed to be: 
  13. %                       s1.wav, s2.wav, ..., sn.wav
  14. % Example:
  15. %       >> code = train('C:dataamintrain', 8);
  16. %%%%%%%%%%%%%%%%%%
  17. %
  18. % Author:     Amin Koohi(Sohrevardi)
  19. %              AminSohrevardi@yahoo.com , AminKoohi@yahoo.com
  20. %************************
  21. k = 16;                         % number of centroids required
  22. for i = 1:n                     % train a VQ codebook for each speaker
  23.     file = sprintf('%ss%d.wav', traindir, i);           
  24.     disp(file);
  25.    
  26.     [s, fs] = wavread(file);
  27.     
  28.     v = mfcc(s, fs);            % Compute MFCC's
  29.    
  30.     code{i} = vqlbg(v, k);      % Train VQ codebook
  31.     
  32. end
  33. plot(code);