这个系列当中的内容会包含俩方面的内容,一个是自己在学习和使用kaldi过程中的实践总结,另一个是kaldi官方文档的简单翻译(这也是我在学习kaldi过程中的一部分吧)Kaldi是一个用c++编写的语音识别工具包,并使用Apache许可证2.0。Kaldi旨在供语音识别研究人员使用。Kaldi与其他语音工具包的对比kaldi在目标和应用范围上与HTK相似。它用c++编写,易于修改和扩展。重要特征包括:有限状态传感器(FSTs)的代码级集成使用了OpenFst工具包进行编译(将其用作一个内部的库)。广泛线性代数支持包括了一个矩阵库,它封装了标准的BLAS和LAPACK。可扩展的设计尽可能以最通用的形式提供其算法。例如,解码器被模板化在一个对象上,该对象提供了从元组索引的分数。这意味着解码器可以使用任何合适的工具实现评分工作,例如神经网络。开放许可证该代码是在Apache2.0下获得许可的,这是限制最少的许可之一。完整解决方案其目标是提供构建语音识别系统的完整方案,这些方案可以从广泛可用的数据库中获得,例如LinguisticDataConsortium(LDC)提供的数据库。Kaldi的文档正在不断完善当中,但是在短期内,可能不如HTK那样拥有如此完整的文档。特别是在HTKBook中有很多介绍性材料,解释了许多语音识别的基础知识,这些可能永远不会出现在Kaldi的文档中。Kaldi的大部分文档更适合语音方面的专家来访问。kaldi的特性强调通用算法和通用配方所谓“通用算法”,我们指的是线性变换之类的东西,而不是某种特定于语音的东西。但是,如果更具体的算法有用,我们不打算对此过于教条。我们想要可以在任何数据集上运行我们的代码。我们更喜欢已经被证明正确的算法kaldi代码经过了彻底的测试。我们尽量保持简单的案例使用。易于理解的代码。kaldi代码易于重用和重构。我们的目标是使工具包尽可能松耦合。一般来说,这意味着任何给定的头文件都需要包括尽可能少的其他头文件。特别是矩阵库,只依赖于另一个子目录中的代码,所以它可以独立于几乎所有的Kaldi使用kaldi项目的状态目前,我们已经有了大多数标准技术的代码和脚本,包括所有标准线性变换、MMI、增强MMI和MCE辨别训练,以及特征空间辨别训练(如fMPE,但基于增强的MMI)。注意:在早期阶段,我们打算对Kaldi(v1等)的主要版本使用版本号,之后我们意识到这些类型的版本与自然开发风格不太协调,因为开发是非常连续的。目前我们只维护“master”开发分支,这是您应该使用的版本。另外,经常做“gitpull”来保持它的最新状态;
转载请注明:http://www.0431gb208.com/sjszyzl/8115.html