Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-12-02
年龄: 40
帖子: 1
声望力: 0 ![]() |
![]()
function code = train(traindir, n)
% 计算wav文件的VQ码码本 % Speaker Recognition: Training Stage % % Input: % traindir : string name of directory contains all train sound files % n : number of train files in traindir % % Output: % code : trained VQ codebooks, code{i} for i-th speaker % % Note: % Sound files in traindir is supposed to be: % s1.wav, s2.wav, ..., sn.wav % Example: % >> code = train('C:\data\train\', 8); k = 16; % number of centroids required for i = 1:n % train a VQ codebook for each speaker file = sprintf('%ss%d.wav', traindir, i); disp(file); [s, fs] = wavread(file); v = mfcc(s, fs); % Compute MFCC's code{i} = vqlbg(v, k); % Train VQ codebook end 此为一段对n个说话人的录音生成n个码本的程序,我想该为几个说话人的录音生成1个码本的程序。 觉得应该从,提取的采样值s,入手,把每个人的采样值s连起来,如第一个人s=a,第二个人s=b,表示两个人特征的 采样值s=[a b]. 这是我改的: (刚接触matlab,对于编程不太了解,程序根本就运行不了,放在这里就是想让把自己的想法明确一点) k = 16; % number of centroids required for i = 1:n % train a VQ codebook for each speaker file = sprintf('%ss%d.wav', traindir, i); disp(file); [s, fs] = wavread(file); s{i}=s end s=[s{i}...s{n}] v = mfcc(s, fs); % Compute MFCC's code{i} = vqlbg(v, k); % Train VQ codebook |
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[资料]BP网络总结及应用实例 | guofeng0108 | MATLAB论坛 | 37 | 2012-06-11 22:08 |
关于lsim函数 谢谢 | handsomelufeng | MATLAB论坛 | 2 | 2009-04-19 18:11 |
[求助]The input character is not valid in MATLAB statements or expressions. | mumu | MATLAB论坛 | 2 | 2008-11-26 12:58 |
[求助]电力系统机组启停优化算法程序 | woshi523de | MATLAB论坛 | 1 | 2008-11-18 08:12 |
[求助]请问用fplot函数能否绘制带一个自变量的符号函数图形吗? | daiweisc | MATLAB论坛 | 1 | 2008-03-30 17:14 |