Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-12-02, 17:53   #1
xiaopeng1823
初级会员
 
注册日期: 2008-12-02
年龄: 40
帖子: 1
声望力: 0
xiaopeng1823 正向着好的方向发展
默认 [求助]新手编程求助

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
xiaopeng1823 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[资料]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


所有时间均为北京时间。现在的时间是 18:30


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.