Kaldi-MFCC模块源码主流程分析

那么趁着这个机会,研究一下kaldi源码中MFCC部分的内容。不说废话,我们从 compute-mfcc-feats.cc开始讲解,这里是个main函数,需要携带参数,具体使用样例如下:

1.compute-mfcc-feats:

其实看到这里我是一脸懵逼的,并不知道该如何用,没办法硬着头皮往下看。

这句看起来好似定义了一个类,要想知道它到底在干什么,我们找到ParseOptions中。【这里注意一下,关于这些子类,我不做细节介绍,只做整体查看,不然细节太多,文章篇幅会很大。】ParseOptions如下:

看这个类应该对命令有关的操作,所以我理解ParseOptions仅仅是对用户输入的命令进行各种执行转化显示解析等操作,不做细节讲解,泛化概念上先如此理解。

 


我们接着往下看:

这是个结构体,比较重要。先整体看一下结构体的组成:

这个结构体定义了MFCC使用到的一些参数,并对其进行了初始化操作。这里又涉及到一个MelBanksOptions,具体如下:

他是对梅尔滤波器组进行操作所需的参数和方法的结构体。关于这里的Register函数,我个人认为是类似于某种map映射类型的操作,保存变量的值,具体理解是否正确后面会再次说明。

下面主要是一些变量的声明,群体贴出来。不具体讲每个变量的意义,很大一部分我都不知道干什么的,不过不影响我们继续往下看。

接下来定义了一个Mfcc:

不过Mfcc只不过是一个宏定义,其真实类型是OfflineFeatureTpl,其定义如下:

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
copy-feats --compress=true --write-num-frames=ark,t:exp/features/mfcc/data_mfcc_23_pitch_seg/log/utt2num_frames.1 ark:- ark,scp:/work/VPR/subtools_1229/exp/features/mfcc/data_mfcc_23_pitch_seg/raw_mfcc_pitch_seg.1.ark,/work/VPR/subtools_1229/exp/features/mfcc/data_mfcc_23_pitch_seg/raw_mfcc_pitch_seg.1.scp paste-feats --length-tolerance=2 'ark:compute-mfcc-feats --write-utt2dur=ark,t:exp/features/mfcc/data_mfcc_23_pitch_seg/log/utt2dur.1 --verbose=2 --config=subtools/conf/sre-mfcc-23.conf scp,p:exp/features/mfcc/data_mfcc_23_pitch_seg/log/wav_seg.1.scp ark:- |' 'ark,s,cs:compute-kaldi-pitch-feats --verbose=2 --config=subtools/conf/pitch.conf scp,p:exp/features/mfcc/data_mfcc_23_pitch_seg/log/wav_seg.1.scp ark:- | process-kaldi-pitch-feats ark:- ark:- |' ark:- compute-mfcc-feats --write-utt2dur=ark,t:exp/features/mfcc/data_mfcc_23_pitch_seg/log/utt2dur.1 --verbose=2 --config=subtools/conf/sre-mfcc-23.conf scp,p:exp/features/mfcc/data_mfcc_23_pitch_seg/log/wav_seg.1.scp ark:- VLOG[2] (compute-mfcc-feats[5.5]:main():compute-mfcc-feats.cc:182) Processed features for key 001_20230623160347_0319007398_mentianyu-1 compute-kaldi-pitch-feats --verbose=2 --config=subtools/conf/pitch.conf scp,p:exp/features/mfcc/data_mfcc_23_pitch_seg/log/wav_seg.1.scp ark:- ERROR (compute-kaldi-pitch-feats[5.5]:main():compute-kaldi-pitch-feats.cc:88) Sample frequency mismatch: you specified 16000 but data has 8000 (use --sample-frequency option). Utterance is 001_20230623160347_0319007398_mentianyu-1
最新发布
07-15
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值