pupil-- 2023-04-20 13:37
浏览 26
已结题

基于gmm的声纹识别——matlab仿真

代码如下:%初始化GMM_order = 10;train_path = './train'; test_path = './test';train_info = dir(train_path);n_speakers = length(train_info)-2;test_info = dir(strcat(test_path, '/*.wav'));% MFCC特征features = cell(1,n_speakers); for i=1:n_speakers tem_info = dir(strcat(train_info(2+i).folder, '/', train_info(2+i).name)); for j=1:length(tem_info) - 2 [voice_data, Fs] = audioread(strcat(tem_info(2 + j).folder, '/', tem_info(2 + j).name)); if j==1 mfcc_features = get_features(voice_data, Fs); else mfcc_features = [mfcc_features;get_features(voice_data, Fs)]; end features{i} = mfcc_features; endend%模型训练GMModels = cell(1, n_speakers);options = struct('MaxIter',{2000});epochs = 10;for i=1:n_speakers GMModels{i} = fitgmdist(features{i}, GMM_order,'SharedCov',true,'CovType','diagonal','Regularize',0.001,'Options',options);end%测试过程for i=1:length(test_info) [voice_data, Fs] = audioread(strcat(test_info(i).folder, '/', test_info(i).name)); mfcc_features = get_features(voice_data, Fs); [d1, log1] = posterior(GMModels{1}, mfcc_features); [d2, log2] = posterior(GMModels{2}, mfcc_features); if log1 < log2 fprintf(test_info(i).name);fprintf(' label: 1'); fprintf('\n'); else fprintf(test_info(i).name); fprintf(' label: 2'); fprintf('\n'); endend
出现的警告为

img


大概是数据的输入出现了问题 但是也不知道怎么解决 我的数据是train和test文件 里面包含了8个说话人 每个说话人说3次 一共24个音频 但是train中每次运行是对应的struct中都有2个空行

img


希望能解决bug并成功仿真出来

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 4月20日
    • 创建了问题 4月20日

    悬赏问题

    • ¥15 问题遇到的现象和发生背景 360导航页面千次ip是20元,但是我们是刷量的 超过100ip就不算量了,假量超过100就不算了 这是什么逻辑呢 有没有人能懂的 1000元红包感谢费
    • ¥30 计算机硬件实验报告寻代
    • ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
    • ¥15 用C语言判断命题逻辑关系
    • ¥15 原子操作+O3编译,程序挂住
    • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
    • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
    • ¥15 AD9910输出波形向上偏移,波谷不为0V
    • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
    • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘