gmm-ubm的matlab官方demo似乎已经足够解决你的问题,

%%

% Step0: Set the parameters of the experiment

nSpeakers = 20;

nDims = 13;             % dimensionality of feature vectors

nMixtures = 32;         % How many mixtures used to generate data

nChannels = 10;         % Number of channels (sessions) per speaker

nFrames = 1000;         % Frames per speaker (10 seconds assuming 100 Hz)

nWorkers = 1;           % Number of parfor workers, if available

% Pick random centers for all the mixtures.

mixtureVariance = .10;

channelVariance = .05;

mixtureCenters = randn(nDims, nMixtures, nSpeakers);

channelCenters = randn(nDims, nMixtures, nSpeakers, nChannels)*.1;

trainSpeakerData = cell(nSpeakers, nChannels);

testSpeakerData = cell(nSpeakers, nChannels);

speakerID = zeros(nSpeakers, nChannels);

% Create the random data. Both training and testing data have the same

% layout.

for s=1:nSpeakers

trainSpeechData = zeros(nDims, nMixtures);

testSpeechData = zeros(nDims, nMixtures);

for c=1:nChannels

for m=1:nMixtures

% Create data from mixture m for speaker s

frameIndices = m:nMixtures:nFrames;

nMixFrames = length(frameIndices);

trainSpeechData(:,frameIndices) = ...

randn(nDims, nMixFrames)*sqrt(mixtureVariance) + ...

repmat(mixtureCenters(:,m,s),1,nMixFrames) + ...

repmat(channelCenters(:,m,s,c),1,nMixFrames);

testSpeechData(:,frameIndices) = ...

randn(nDims, nMixFrames)*sqrt(mixtureVariance) + ...

repmat(mixtureCenters(:,m,s),1,nMixFrames) + ...

repmat(channelCenters(:,m,s,c),1,nMixFrames);

end

trainSpeakerData{s, c} = trainSpeechData;

testSpeakerData{s, c} = testSpeechData;

speakerID(s,c) = s;                 % Keep track of who this is

end

end

%%

% Step1: Create the universal background model from all the training speaker data

nmix = nMixtures;           % In this case, we know the # of mixtures needed

final_niter = 10;

ds_factor = 1;

ubm = gmm_em(trainSpeakerData(:), nmix, final_niter, ds_factor, nWorkers);

%%

% Step2: Now adapt the UBM to each speaker to create GMM speaker model.

map_tau = 10.0;

config = 'mwv';

gmm = cell(nSpeakers, 1);

for s=1:nSpeakers

gmm{s} = mapAdapt(trainSpeakerData(s, :), ubm, map_tau, config);

end

%%

% Step3: Now calculate the score for each model versus each speaker's data.

% Generate a list that tests each model (first column) against all the

% testSpeakerData.

trials = zeros(nSpeakers*nChannels*nSpeakers, 2);

answers = zeros(nSpeakers*nChannels*nSpeakers, 1);

for ix = 1 : nSpeakers,

b = (ix-1)*nSpeakers*nChannels + 1;

e = b + nSpeakers*nChannels - 1;

trials(b:e, :)  = [ix * ones(nSpeakers*nChannels, 1), (1:nSpeakers*nChannels)'];

answers((ix-1)*nChannels+b : (ix-1)*nChannels+b+nChannels-1) = 1;

end

gmmScores = score_gmm_trials(gmm, reshape(testSpeakerData', nSpeakers*nChannels,1), trials, ubm);

%%

% Step4: Now compute the EER and plot the DET curve and confusion matrix

imagesc(reshape(gmmScores,nSpeakers*nChannels, nSpeakers))

title('Speaker Verification Likelihood (GMM Model)');

ylabel('Test # (Channel x Speaker)'); xlabel('Model #');

colorbar; drawnow; axis xy

figure

eer = compute_eer(gmmScores, answers, true);

gmm ubm matlab,关于MATLAB语音聚类程序,如何得到一个GMM作为UBM?相关推荐

  1. Matlab镜像建模产生啸叫信号,基于MATLAB有噪声语音信号的处理最终稿(样例3)...

    <基于MATLAB有噪声语音信号的处理.doc>由会员分享,可免费在线阅读全文,更多与<基于MATLAB有噪声语音信号的处理(最终稿)>相关文档资源请在帮帮文库(www.woc ...

  2. Matlab镜像建模产生啸叫信号,基于MATLAB有噪声语音信号的处理(最终稿)

    <基于MATLAB有噪声语音信号的处理.doc>由会员分享,可免费在线阅读全文,更多与<基于MATLAB有噪声语音信号的处理(最终稿)>相关文档资源请在帮帮文库(www.woc ...

  3. 基于matlab的汽车牌照识别程序详细教程

    设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码. 关键词:车 ...

  4. 基于matlab的汽车牌照识别程序 (完整的代码+数据集+报告毕业设计)

    设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码. 关键词:车 ...

  5. 基于MATLAB有噪声语音信号处理算法设计

    获取项目源文件,联系Q:1415736481,可指导毕设,课设 摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分.利用MATLAB信号处理工 ...

  6. matlab中提供滤波器的种类有,求MATLAB巴特沃思低通滤波器程序

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求MATLAB巴特沃思低通滤波器程序.回答:击响应不变法函数 [bz,az]=impinvar(b,a,Fs) [bz,az]=im ...

  7. 如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于Matlab R2015b版 )

    如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于MatlabR2015b版) 关键字:MatlabR2015b,可独立运行,可脱离Matlab环境,m文件,Matlab程序 ...

  8. matlab的exec程序,C++调用Matlab画图的一段程序

    劳动节闲来无事,写了一天程序,just for fun. 看,这是C++调用Matlab画图的一段程序.暂时不想多解释了,有兴趣的话,看看下面的代码吧. 以下几段代码由上到下,越来越旧.最上面的是最新 ...

  9. matlab 万年历,matlab时钟万年历 matlab时钟万年历(附word说明文档): 程序主要 联合开发网 - pudn.com...

    matlab时钟万年历 所属分类:图形图像处理 开发工具:matlab 文件大小:54KB 下载次数:6 上传日期:2018-08-24 21:54:23 上 传 者:小小葡萄123 说明:  mat ...

最新文章

  1. Machine Learning | (5) Scikit-learn的分类器算法-朴素贝叶斯
  2. php验证时区是否存在,php – 验证来自不同网站的时区名称?
  3. Windows下的定时任务
  4. criscriter英语测试软件,iTEST大学英语测试与训练系统
  5. 安装centos7失败认不到硬盘_CentOS7 用U盘安装卡住无法进入安装界面解决方案
  6. 解决audio自动播放无效问题
  7. mysql ocp考试准备多久_MySQL OCP考试复习系列--开篇:了解MySQL考试
  8. ACL国际计算机语言协会2019,干货 | 2019 AI 国际顶级学术会议一览表
  9. 多功能手持读数仪VH03如何连接手机蓝牙
  10. 风蚀侵蚀力计算在python上的实现
  11. 中国移动5G智慧港口独立专网
  12. TextView简介
  13. sql PK FK 区别
  14. 百度同步盘linux客户端,技术|Linux下百度云的Python客户端(支持Unicode)
  15. Windows 10配置阿里云DNS
  16. ubuntu下安装大恒相机驱动并调用程序采集图像
  17. 计算机四级网络工程师考试视频及软件
  18. iphone怎在计算机硬盘打开,如何将数据从iPhone备份到计算机硬盘驱动器的详细方法...
  19. ElasticSearch(ES)介绍
  20. 新版本ubuntu13.10软件安装

热门文章

  1. [Effective C++]条款14:在资源管理类中小心copying行为
  2. 信息系统项目管理师(2022年) —— 第 26 章 知识产权与标准规范
  3. 计算机网络原理——前三章个人总结
  4. VLAN三层交换机配置
  5. 做题记录(2019年2月10日起)
  6. linux 获取硬件时间,Linux的硬件时间及系统时间调用流程--转自网络
  7. 一级计算机怎么给学生备注,2021年全国计算机一级考试重点讲解:(一级WPS)WPS演示中备注添加的两招...
  8. Ubuntu基本命令大全
  9. 1.5-37:雇佣兵
  10. Matlab常用的输出命令disp、fprintf