[转]kaldi基于gmm做分类问题

WELEN WELEN     2022-09-20     165

关键词:

转自:http://blog.csdn.net/zjm750617105/article/details/55211992

对于每个类别的GMM有几种思路: 
第一是将所有训练数据按类别分开每类的数据训练一个GMM模型 
第二是将所有的数据训练一个UBM模型,然后将训练数据按类别分开,用MAP去训练每个类别的GMM(对角UBM的MAP貌似kaldi 没有) 
第三就是将所有的数据训练一个UBM模型,然后不做MAP,直接用训好的UBM所GMM的初始值,然后将所有训练数据按类别分开,训练三个GMM模型在第一种方法的GMM初始化用训好的UBM

准备测试集数据,如果训练GMM是用的是原始的MFCC特征的话,也就是不经过add-delta apply-cmvn selected-voiced 等操作的话,那就直接用测试集的MFCC特征的feats.scp文件就好了。 
但是如果你的特征在训GMM的脚本里经过一些处理,那就是按照相同的处理,意思就是在输入模型之前特征的前端处理必须保持一致 
比如:

select-voiced-frames scp:feats.scp scp:vad.scp ark:- | compute-cmvn-stats ark:- ark:- | apply-cmvn --norm-vars=false ark:- scp:feats.scp ark:- | add-deltas --delta-window=3 --delta-order=2 ark:- ark:- | select-voiced-frames ark:- scp:vad.scp ark,t:final_feats.txt
#经过处理之后的特征在final_feats.txt中,可以直接vim打开验证一下维度对不对.

训好三个diag_GMM之后, 可以直接用kaldi的工具进行计算对数似然值

#这个可以,计算的每一帧的似然值
gmm-global-get-frame-likes final.dubm scp:feats.scp ark,t:F_likes  
#对每一帧的似然值取平均,每句话得到一个似然值
gmm-global-get-frame-likes --average=true final.dubm scp:feats.scp ark,t:F_likes  
#由于上面测试集的数据是 final_feats.txt,那么我们的脚本就是:
gmm-global-get-frame-likes --average=true final.dubm ark,t:final_feats.txt ark,t:F_likes  
#得到的输出文件F_likes,内容格式: uttId score

 

计算似然值的公式也很简单,很多现有值在GMM的模型里已经算出来了, weights , gconst , invvars, means_invvars直接根据这些结果只进行计算就可以了。

训练得到的diag gmm 模型是 final.dubm ,可以用转化成文本

gmm-global-copy --binary=false final.dubm final_dubm.txt

 

[转]kaldi语音识别

转:http://ftli.farbox.com/post/kaldizhong-wen-shi-bie Kaldi语音识别1.声学建模单元的选择1.1对声学建模单元加入位置信息2.输入特征3.区分性技术4.多音字如何处理?5.NoiseRobustASR6.DeepLearning[DNN/CNN替换GMM]7.在手机等资源受限设备author:Feiten... 查看详情

如何用kaldi做孤立词识别三

这次wer由15%下降到0%了,后面跑更多的模型LOG(apply-cmvn[5.2.124~1396-70748]:main():apply-cmvn.cc:162)Appliedcepstralmeannormalizationto20utterances,errorson0200_001_001espressoLOG(gmm-latgen-faster[5.2.124~1396-70748] 查看详情

[转]如何用kaldi训练好的模型做特定任务的在线识别

转自:http://blog.csdn.net/inger_h/article/details/52789339 在已经训练好模型的情况下,需要针对一个新任务做在线识别应该怎么做呢?一种情况是,用已有的声学模型和新训练的语言模型。语言模型可以同srilm等工具训练,但是怎样... 查看详情

[kaldi]alignment对齐(音素级和词级)(代码片段)

...ff0c;如果没有kaldi基础,建议优先考虑MFA😀音素级基于GMM-HMM模型,很容易得到音素级的对齐。主要使用ali-to-phones首先使用step/align_si.sh得到对齐文件steps/align_si. 查看详情

使用 GMM 和 MATLAB 进行分类

】使用GMM和MATLAB进行分类【英文标题】:ClassifyusingGMMwithMATLAB【发布时间】:2014-08-0701:48:07【问题描述】:我想在MATLAB中使用高斯混合模型对两个类进行分类。我通过使用函数gmdistribution.fit创建两个模型来进行训练NComponents=1;forcl... 查看详情

[转]决策树在kaldi中如何使用

...://blog.csdn.net/chenhoujiangsir/article/details/51613144说明:本文是kaldi主页相关内容的翻译(http://kaldi-asr.org/doc/tree_externals.html)。目前网上已经有一个翻译的版本,但翻译的不是很清楚,导致我在刚学这部分内容的时候产生了一些误解... 查看详情

基于kaldi搭建seg集群

 内容说明:成功在自己电脑上安装虚拟机搭建集群,以及多个服务器上搭建集群。http://note.youdao.com/noteshare?id=dea1a52697dd0e6146aff9f348833fca如果自带环境是python2可以升级python3参考 查看详情

[转]kaldiasr:dnn训练

...者获得授权,非商业转载请注明出处。 本文通过简单kaldi源码,分析DNN训练声学模型时神经网络的输入与输出。在进行DNN训练之前需要用到之前GMM-HMM训练的模型,以训练好的mono模型为例,对模型进行维特比alignement(对齐)... 查看详情

[转]kaldi命令词识别

转自:http://www.jianshu.com/p/5b19605792ab?utm_campaign=maleskine&utm_content=note&utm_medium=pc_all_hots&utm_source=recommendationhttp://www.jianshu.com/p/6338fab6bd0a刚刚拿到一个简单语料库练手,发现只有语音和对 查看详情

[转]kaldi中的在线识别----onlinerecognizers

转自:http://blog.csdn.net/wbgxx333/article/details/24932533本文是kaldi学习联盟中@冒顿翻译的,下面是@冒顿的翻译结果,在这里感谢@冒顿的辛勤劳动,希望更多的人加入到这个翻译上来,为更多的人学习…… 因为我们翻译的文档都有u... 查看详情

kaldi在线识别

首页 联系我们搜索基于KALDI的THCHS30训练实践  基于KALDI的THCHS30训练实践V1.56-24-2019_SLIP_V1.06-25-2019_SLIP_V1.16-26-2019_SLIP_V1.26-28-2019_SLIP_V1.37-1-2019_SLIP_V1.47-8-2019_SLIP_V1.5首先在老师给的机器上看一下,到/voic 查看详情

[kaldi]alignment对齐(音素级和词级)(代码片段)

...ff0c;如果没有kaldi基础,建议优先考虑MFA😀音素级基于GMM-HMM模型,很容易得到音素级的对齐。主要使用ali-to-phones首先使用step/align_si.sh得到对齐文件steps/align_si.sh--cmd"$train_cmd"--nj10\\data/testdata/langexp/tri3aexp/tri3a_ali_... 查看详情

04基于上下文相关的gmm-hmm声学模型2之参数共享

1.三音素建模存在的问题问题一:很多三音素在训练数据中没有出现(尤其跨词三音素)问题二:在训练数据中出现过的三音素有相当一部分出现的频次较少因此,三音素模型训练时存在较严重的数据不足问题 2.参数共享1)何为... 查看详情

基于kaldi的ios实时语音识别(本地)+03+音频采集传输

参考技术AiOS在线识别:https://www.jianshu.com/u/3c2a0bd52ebckaldi静态库集成到项目中没问题后,现在就需要采集音频发送给解码器去解码。我这里对音频的传输采用的是GStreamer的库,我们也可以采用自己的方式去传输音频,GStreamer的好... 查看详情

基于半监督学习算法的文本分类(自训练)

...跑的,详情大家可以看以上两篇文章。本文主要讲述的是基于自训练的半监督学习算法做文本分类,自训练算法是半监督学习中比较常见的方法之一,但是自训练方法有一个很大的问题,在 查看详情

gmm-hmm声学模型

参考技术A语音识别框架中的经典的声学模型是:基于隐马尔可夫(HMM)的声学模型本文总结GMM-HMM在声学模型的对应关系及作用,不对GMM和HMM做过多介绍。一个声学模型是一组HMMHMM参数:初始概率、转移概率、观察概率基于HMM的... 查看详情

retrivalandclustering:week4gmm&em笔记(代码片段)

...学机器学习笔记。 k-means的局限性  k-means是一种硬分类(hardassignment)方法,例如对于文档分类问题,k-means会精确地指定某一文档归类到某一个主题,但很多时候硬分类并不能完全描述这个文档的性质,这个文档的主题是... 查看详情

sklearn 中 GMM 的意外性能不佳

...-02-1012:54:57【问题描述】:我正在尝试使用scikitlearn的DPGMM分类器对一些模拟数据进行建模,但性能不佳。这是我正在使用的示例:fromsklearnimportmixtureimportnumpyasnpimportmatplotlib.pyplotasp 查看详情