问题标签 [sphinx4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
voice-recognition - CMU Sphinx 有语法库吗?
我正在编写一个(离线)语音识别应用程序。我有 CMU Sphinx4 设置并使用一些包含的演示词典工作。但是,它们的范围有限(例如……数字、城市等)。
有没有更全面的语法可用?或者也许是更多这些有限语法的存储库?在创建自己的选项之前,我试图用尽所有其他选项。
谢谢
eclipse - 使用语音控制电机
我的目标是使用用户的语音输入来控制电机。因此,对于语音识别部分,我将 Sphinx 4 库与 Eclipse JAVA IDE(标准版)一起使用。我的操作系统是 windows 7。我的识别部分已经结束,所以 sphinx 4 程序将输出用户所说的字符串。下一部分是实现与控制平台(微控制器)的通信。为此,我打算使用 Arduino Duemilanove 或 Arduino UNO。但我无法弄清楚如何与 Arduino 板通信,甚至无法将识别的字符串发送到 Arduino 板。如果有人能帮助我解决这个问题,我将不胜感激。
eclipse - 通过 eclipse 构建时 sphinx 中的编译错误
我正在尝试使用 Eclipse IDE 构建 sphinx 源。但是当我尝试运行 build.xml 文件时它失败了。它会导致 100 个编译错误。有人可以帮忙吗?
构建失败
总时间:26秒
java - Java Sphinx“自己回答”
我在使用 Java 的 Sphinx 语音识别库时遇到问题。我正在使用它来获取输入并处理它。我第一次得到输入时,它起作用了。第二次,它在我有机会说话之前立即回答。在那之后,它只是继续回答自己。我尝试在每次输入之前分配并在每次输入之后取消分配,但这似乎不起作用。我能做些什么?
代码:
这是处理获取输入的方法:
你需要知道的:
- 这是从 a
MouseListener
for a调用的TrayIcon
。 speak(String)
从.say <text>
_Runtime
matchInput(String)
遍历数组中所有已注册的侦听器并测试匹配。
更新 2:
根据 Nikolay Shmyrev 的回答,我尝试在构造函数中分配麦克风,并在getInput()
.
这是 SphinxBridge 类:
但是,这仍然行不通。首先,它工作正常。然而,对于随后的所有时间,它同时表示Speak now
和Try again
。
解决方案:
从上面的代码中,我简单地添加了
在开始录制的行上方。
speech-recognition - 使用 Sphinx-4 听写的语法
我正在使用 Sphinx-4 将语音转换为文本,但我需要应用程序识别语法,然后识别一系列单词。
例如,具有以下语法:
如果我说“Hello”然后是 Joan(或任何其他名字),我打算返回文本“Hello Joan”
我看到主题Dictation Application using Sphinx4但如果我更改设置将始终返回<unk>
。这是正确的一步吗?如果是,我做错了什么?
java - Java Sphinx 动态设置语法规则
我正在使用 Sphinx 库开发一个项目,我想动态修改语法规则。例如,假设我想添加规则open (Safari|Firefox)
,但我只想在发生某些事情后添加它。在我在JSGFGrammer
源文件中看到这条评论之前,我认为这是不可能的:
与 JSAPI 识别器不同,JSGF 语法只维护一个规则语法。未来可能会放宽这一限制。在识别过程中不应修改语法对 JSGFGrammar.loadJSGF 的调用将加载一个全新的语法,丢弃任何旧语法或更改。不需要调用 commitChanges(尽管在这种情况下这样的调用是无害的)。可以通过调用 RuleGrammar.setEnabled 和 RuleGrammar.setRule 来修改 RuleGrammars。为了使这些更改发生,必须在进行所有语法更改后调用 JSFGGrammar.commitChanges。
我试图将其添加到我的 Sphinx 相关对象的构造中:
我想添加这个词test
作为一个规则,所以它会识别它。但是,当我开始时,我得到一个 NullPointerException 导致与jsgfGrammar
. 我该如何正确地做到这一点?
更新 1:
在做了一些调整之后,我现在在这条线上得到了一个 NPE:
我做了一些测试,结果getRuleGrammar()
是返回null。我该怎么办?
更新 2:
我发现我可以通过分配语法来摆脱 NPE。但是,我现在得到了这个异常:
这是新代码:
sphinx4 - 从 result.getTimedBestResult() 获取 wordToken 时间戳
我正在为通用视频创建字幕生成器。一个主要的障碍是让每个单词的时间戳与视频保持一致,这让我现在有点想死。结果类有一个 getTimedBestResult() 函数,它应该以 word(timestamp) 的形式返回一些东西,例如:the(0:20-0:22)。在我调用它的那一刻,我得到一个输出,如下所示:“WordToken one null”其中一个是被识别的单词,null 应该是时间戳。我已经阅读了文档,但目前无法找到解决方案。
我使用 hub4 模型和 CMUdict0.6,如果这很重要的话,还有 wordPruningBreadthFirstSearchManager(lexTree 语言学家)。我不知道我在 config.xml 中是否做错了什么,
谢谢您的回复
macos - sphinx4 如何接受更多句子
我通过终端在我的 mac osx 10.9.1 上使用 Sphinx4 版本 4-1.0beta6。我还是这个 SR 应用程序的新手。我已经运行了 HelloWrold 示例并在 gram 文件中添加了一些新单词,并且它起作用了。现在,我想使用规则或其他有助于接受用户说出的更多句子的东西。我的问题是:
- 我怎样才能让我的 HelloWorld 做到这一点?我应该使用规则吗?如果是这样,有什么例子吗?
- 如果我使用了规则,如何将口语问题打印回给用户?
提前致谢。
speech-recognition - 听写使用哪种语言模型
我打算在听写模式下使用 sphinx4,但我对语言模型有疑问。我的应用程序将有一个非常大的词汇量,也就是说,它可以使用所有的英语单词,我不知道会说哪些短语。那么我应该使用哪种模型语言?Sphinx4 有针对这些情况的特定语言模型吗?
cmusphinx - 精度差的Sphinx4
我打算使用 sphinx4 将语音转换为文本。我一直在阅读一些教程和评论以提高准确性,并且我正在使用以下改编:
使用通用声学模型和通用语言模型是由于不知道将要说什么词。
我正在使用以下代码:
发生的情况是响应很慢,可能是由于语言模型的大小,我几乎永远无法得到想要的结果。例如,如果我说“你好”,输出将是“哦”。
我做错了什么?我知道要提高准确性,我必须有一个特定的模型语言,但是这种方式对于使用这个应用程序并不实用。