具有可在解码时动态地设置活动/不活动的语法的Kaldi语音识别

kaldi-active-grammar的Python项目详细描述


kaldi主动语法

< Buff行情>

python kaldi语音识别,语法可以在解码时动态设置为活动/非活动

pypi-状态pypi-版本pypi-python版本pypi-轮子pypi-下载包括电池

< Buff行情>

python包是为实现计算机应用程序的基于上下文的命令和控制而开发的,如蜻蜓语音识别框架中的那样,使用自动语音识别引擎。 < Buff行情>

正在积极开发中

通常,kaldi解码图是单片的,需要昂贵的前期离线编译,并且在解码过程中是静态的。kaldi的新语法框架允许多个不带终结符的独立语法单独编译,并在解码时动态拼接在一起,但所有语法都是始终处于活动状态并能够被识别。

这个项目扩展了这个功能,允许每个语法/规则在每个语句的基础上动态地标记为活动/非活动(设置在每个语句的开头)。然后蜻蜓能够激活当前环境下的适当语法,从而由于可能的识别次数减少而提高了准确性。此外,听写语法可以在所有命令语法之间共享,可以快速编译而不需要直接包含大量词汇的听写。

  • python包包含在linux或windows上解码所需的所有二进制文件。可在pypi上找到
  • 一个兼容的通用英语Kaldi NNET3链模型在大约1200小时的打开音频。可在项目版本下获得。
  • 在My Fork的Kaldi分支中,正在开发一个兼容的蜻蜓后端
    • 您可以使用简单的无安装软件包在Windows上轻松试用:请参见下面的"入门"。
    • 从蜻蜓v0.15.0开始合并了测试版!
    • 对kaldiagv0.5.0的支持已从蜻蜓v0.16.0合并!
      • 用户词典:您可以将新单词/发音添加到模型词典中,以便在语法中识别和使用,并且发音可以显式指定或自动推断。
      • 编译优化:加载语法时编译使用的磁盘更少,对图形进行的传递也更少,因为已对单独的模块进行了自定义和组合。
      • 更好的模式:多50%的培训数据。
    • 对kaldiagv0.6.0的支持已从蜻蜓v0.16.1合并!
      • 施法者:许多大的修正和优化使施法者运行。

我们感谢您的捐赠,以鼓励发展。

捐赠捐赠

开始

想在Windows上快速轻松地开始吗? 可在项目发布版中获得

否则…

设置

要求

安装python包,其中包括必要的kaldi二进制文件:

pip install kaldi-active-grammar

从项目版本中下载兼容的通用英语kaldi nnet3链模型。解压缩模型并将目录路径传递给kaldi活动语法构造函数。

或者用你自己的模型。必须转换标准的kaldi模型才能使用。转换可以自动执行,但尚未完全实现。

故障排除

文档

目前文件严重缺乏。要查看示例用法,请检查蜻蜓的后端。

贡献

欢迎提出问题、建议和功能要求。已考虑拉取请求,但项目结构正在变化。

我们欢迎捐款以鼓励发展。

捐赠捐赠

作者

  • 大卫·祖罗(david zurow)(http://github.com/daanzu" rel="nofollow">@daanzu)

许可证

此项目是根据GNU Affero通用公共许可证V3(AGPL-3.0)授权的,但关联的二进制文件除外,其源文件当前未发布,且仅用于此项目。有关详细信息,请参阅license.txt文件。

如果此许可证对您有问题,请与我联系。

致谢

  • 基于并包括apache-2.0许可证下的kaldi-asr中的代码。
  • 代码来自apache-2.0许可证下的openfst和openfst port for windows。
  • 英特尔数学内核库,版权所有(c)2018英特尔公司,位于英特尔简化软件许可证下。
  • 根据lgpl-3.0许可证,修改了来自Zamia Speech的通用英语Kaldi NNET3链模型。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaHTTP。请求侦听器   java Selenium webdriver遍历行并仅检索某些列   JavaSpring批处理在启动运行方法之前启动SimpleZoblancher运行方法   maven如何使用Maven2从javadoc生成java源代码?   java为什么我的Unicodont(Slick2D)不画画?   java取消对未使用对象的引用是否会提高冗长方法的性能?   java可执行Jar的画布比使用Eclipse Runner的小   为什么我的for循环在Android studio中与eclipse(java)产生不同的结果   java代码段字节数组到端口号   java在DynamoDB范围键中插入项   java 安卓。看法WindowManager$BadTokenException:无法添加窗口,您的活动正在运行吗?   java我想要两个列表视图同时滚动   java测试数据分离   java Saxon:每次重新部署后都需要重新启动Glassfish