如何利用kaldi搭建说话人识别的例子。仅仅是搭建,具体的很多参数的调整需要大家根据数据集的不同慢慢调整。
-
数据准备:无论使用kaldi来做语音识别还是说话人识别,第一步就是数据准备,对于说话人识别来说,需要准备的几个文件为wav.scp,utt2spk,spk2utt这三个文件。对应的格式如下:
1.1 wav.scp有两列,第一列是key,这个可以一定要唯一;第二列是 wav的路径wavpath;
1.2 utt2spk也有两列,第一列是key,与wav.scp的第一列一样;第二列是对应的说话人信息,叫spk。这个对于说话人识别来说很重要。此外,spk2utt可以根据utils/utt2spk_to_spk2utt.pl来生成。
-
特征提取:使用steps/make_mfcc.sh来进行提取mfcc特征。
-
vad:由于说话人识别里静音会有很大的干扰,所以一般都会进行vad。具体kaldi里也有个简单的根据能量来判断vad的脚本。当然这个越精确越好。
-
训练阶段:主要训练gmm-ubm跟i-vector系统。
sid/train_diag_ubm.sh;sid/train_full_ubm.sh;train_ivector_extractor.sh
- <