[kaldi] 特征文件格式转换

20190108 qzd


1. kaldi中的ark文件与htk中的mfcc文件的互相转换

(1)ark转mfcc
使用底层命令copy-feats-to-htk
Save features as HTK files:
每个发音会转化为一个对应的htk格式的特征文件,后缀可以自己定义

用法: copy-feats-to-htk [options] in-rspecifier
比如: copy-feats-to-htk --output-dir=/tmp/HTK-features --output-ext=fea scp:feats.scp
--output-ext是扩展名,一般写mfcc,可以自己定义。

(2)mfcc转ark
使用命令行copy-feats

Copy features [and possibly change format]
用法: copy-feats [options]
或者: copy-feats [options]
例如: copy-feats --htk-in=true scp:mfcc.scp ark,scp:foo.ark,foo.scp

这里的输入是mfcc文件的地址文件,这样作为一个输入流传到copy-feats中转化为ark格式的kaldi文件。

2. ark文件与txt文件互相转换

这个很简单,也只需要用到copy-feats命令

copy-feats ark:train.ark ark,t:/train.txt ark转化为txt
copy-feats ark,t:train.txt ark:train.ark txt转化为ark

总结: 主要的文件转化是通过copy-feats这个命令,它的主要功能是将文件变成数据流,这样方便对数据进行处理。
比如你想查看kaldi中提取的mfcc特征到底是什么样子,同样可以用copy-feats,如:

copy-feats ark:train.ark ark,t:- | less

通过一个管道用less来查看ark里面的内容。
其他的和特征有关的命令还可以再src/featbin/中自己查看,还有很多很有用的命令。比如copy-matrix可以把矩阵的特征转化成ark格式。

你可能感兴趣的:([kaldi] 特征文件格式转换)