Kaldi中特征文件格式的转换

来源:互联网 发布:列车网络控制系统组成 编辑:程序博客网 时间:2024/06/05 18:03
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] <feature-rspecifier> <feature-wspecifier>
               或者: copy-feats [options] <feats-rxfilename> <feats-wxfilename>
               例如: 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的同学们我们可以一起学习,一起讨论。
参考:http://blog.csdn.net/faner1994/article/details/53674394