当前位置: 首页 > 知识库问答 >
问题:

CMU Sphinx 4的解码速度问题

黄景胜
2023-03-14

我已经使用CMU sphinx 4编写了语音识别应用程序,并遵循了此链接中的详细信息。我对声学、词典和语言模型的定义如下

configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us");

configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");

configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.bin");

使用上述配置,20分钟的wav文件几乎需要20分钟来完成转录。因此,我尝试传递用户定义的config.xml.我没有找到配置管理器选项来传递用户定义的config.xml与当前版本的Sphinx4。然后,我通过扩展AbstractSpeechRecognizer.java类(可能没用)编写了自己的识别器,并更改了config.xml的一些参数,我尝试了一下,但仍然没有改进。

我下载了多源视频和音频,并使用FFMPEG将其转换为WAV文件

命令如下

ffmpeg -i input.mp3 -acodec pcm_s16le -ac 1 -ar 16000 output.wav

环境详细信息:

Java 8

Ubuntu 14.04

RAM 4GB

I5处理器

我想知道的是,我在这里缺少什么,以及如何提高性能?

共有1个答案

融烨华
2023-03-14

语音识别是资源密集型过程。准确的语音识别预计会很慢,您当前的速度1xRT(1分钟需要1分钟解码)是合理的。有一些商业产品使用GPU的加速,可以运行在0.05xRT,但在CPU上,您通常运行速度不超过0.2xRT。所以你仍然需要花时间解码。

如果要更快地处理文件,可以将其拆分为多个部分,并在并行线程或并行计算机上分别对每个部分进行解码。

 类似资料:
  • 本文向大家介绍pycharm 快速解决python代码冲突的问题,包括了pycharm 快速解决python代码冲突的问题的使用技巧和注意事项,需要的朋友参考一下 找到冲突的文件(项目中报红的就是冲突文件),如下 :以下是一个标准的冲突表 说明 * : <<<<<<< HEAD 到 =======里面的内容是自己分支commit的内容 =========到 >>>>>>里面的内容是远程下拉的 根据

  • 现在有三台ES服务器,索引里大概有7000条数据,每条数据是内容放到txt中大概300kb以上,按某个查询条件查询的结果数量是4000多条数据。当size设置成9999的时候,需要查询30秒以上,这是为什么呢,有没有优化方案。

  • 本文向大家介绍Ruby on Rails中jquery_ujs组件拖慢速度的问题解决,包括了Ruby on Rails中jquery_ujs组件拖慢速度的问题解决的使用技巧和注意事项,需要的朋友参考一下 jquery_ujs 对 rails 来说,是一个非常重要的组件,它包含在 rails 的默认组件之中。 jquery ujs 包含一些非常便捷的功能,比如确认对话框、触发 ajax、自动禁用表单

  • 本文向大家介绍6行代码快速解决golang TCP粘包问题,包括了6行代码快速解决golang TCP粘包问题的使用技巧和注意事项,需要的朋友参考一下 前言 什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论。本文使用golang的bufio.Scanner来实现自定义协议解包。 下面话不多说了,来一起看看详细的介绍吧。 协议数据包定义 本文模拟一个日志服务器,该服务器接收客户端传到的数

  • 本文向大家介绍快速解决ajax请求出错状态码为0的问题,包括了快速解决ajax请求出错状态码为0的问题的使用技巧和注意事项,需要的朋友参考一下 今天在使用 ajax 向后台请求数据时出现错误,提示状态码为 0 ,后台采用的是 spring mvc 架构。 状态码为0是什么意思呢?查找了下,原来它意味着 (未初始化)即没有调用到send()方法,我原来代码如下 : 仔细检查,好像没什么不对劲的啊,况

  • 本文向大家介绍快速解决mysql导出scv文件乱码、蹿行的问题,包括了快速解决mysql导出scv文件乱码、蹿行的问题的使用技巧和注意事项,需要的朋友参考一下 工作原因,常常不能实现完全的线上化(即,所有数据都在线上完成,不需要导入导出),而导出Excel常常比修炼成仙还慢,因此,我们将数据库文件导出到本地使用的时候,常常使用的方法的是导成CSV格式。 而csv格式的也常常出现导出的中文乱码,或者