以前遇到的问题:
1 想使用新的方法或技术
2 希望别人使用你的想法或实现。
3 你发现HTK,CMUSphinx难用
4 HTK的许可不允许你发布你的改进。
kaldi项目
开源 apache许可
用OpenFst来构建解码图
用BLAS和 LAPACK 库来支持线性代码
KALDI的愿景
1 使用者和贡献者的分布式社区
对原始贡献者(如代码集成)是有控制的。使用者可以fork这个项目并完成自己的修改。
2 在公共数据集上的 完整的 一流水平的 脚本。
3 代码简单易懂。
4 完成的测试和文档
kaldi 的结构:
1 两个外部开源库 OpenFST, BLAS/LAPACK
2 核心函数/功能用C++实现。 矩阵,工具,特征,GMM, SGMM, 变换,解码器,语言模型,决策树,FST ext, HMM,Decodable
3 提供了许多命令行工具 c++ Executable
4 shell脚本的例子。
KALDI支持的声学建模技术
1 前端支持 MFCC /PLP, 倒谱均值和方差规整。
LDA, STC, MLLT, HLDA, VTLN等等
2 HMM/GMM声学模型,音素决策树。
3 SGMM , 指数变换。
4 没有语言模型,但提供了ARPA到FSTs的 语言模型转换工具。
5 基于WFST 的解码器,
6 基于MMI,fMPE的区分性训练