我在哪里可以找到有关ARPA语言模型格式的文档?
我正在使用pocket-sphinx STT引擎开发简单的语音识别应用程序.出于性能原因,建议使用ARPA.我想了解我可以做多少来调整我的语言模型以满足我的自定义需求.
我发现的只是一些非常简短的ARPA格式描述:
我是STT的初学者,我很难绕过这个(n-gram等等).我正在寻找更详细的文档.像这里的JSGF语法文档:
我正在尝试使用python学习pocketsphinx,因此我想在我的Mac OSX Lion上安装它.但是,我真的没有在Python中安装软件包和模块的经验,而关于这个的文档对我来说有点混乱.这是我到目前为止所做的.我从以下网站下载了pocketsphinx 0.8版本:http: //sourceforge.net/projects/cmusphinx/files/pocketsphinx/0.8/
我尝试使用macports搜索相同的内容,因此我可以使用macports安装它,但搜索命令找不到pocketsphinx.我知道我的问题可能非常业余,我也提前道歉.
我在这里寻找答案,最接近的问题就是这个: 在Mac OS X中设置PocketSphinx 但问题似乎没有答案.因此,有人可以帮我在我的系统上安装这个软件包吗?
我正在尝试运行sphinx 4 pre aplha的对话框演示,但它会出错.
我正在创建一个实时语音应用程序.
我使用maven导入了项目,并遵循本指南的堆栈溢出:https://stackoverflow.com/a/25963020/2653162
该错误说明有关16 khz和通道为单声道的问题.很明显它是关于抽样的东西.关于麦克风也是如此.
我看了如何将麦克风设置更改为16 khz和16 bit,但在Windows 7中没有这样的选项
:
问题是,HelloWorld和对话框演示在sphinx4 1.06测试版中运行良好,但在我尝试了最新版本后,它会出现以下错误:
Exception in thread "main" java.lang.IllegalStateException: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
at edu.cmu.sphinx.api.Microphone.<init>(Microphone.java:38)
at edu.cmu.sphinx.api.SpeechSourceProvider.getMicrophone(SpeechSourceProvider.java:18)
at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34)
at edu.cmu.sphinx.demo.dialog.Dialog.main(Dialog.java:145)
Caused by: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(DirectAudioDevice.java:513)
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:121)
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:413)
at edu.cmu.sphinx.api.Microphone.<init>(Microphone.java:36)
... 3 more
Run Code Online (Sandbox Code Playgroud)
无法弄清楚如何解决这个问题.
我可以使用Sphinx4附带的en-us东西,没问题:
cfg.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us")
cfg.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict")
cfg.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.bin")
Run Code Online (Sandbox Code Playgroud)
我可以用它来转录英文声音文件录制.
现在我想用德语录音.在网站上,我找到了声学和语言模型的链接.其中有一个档案'德国Voxforge'.我找到声学模型路径的相应文件.但就我所见,它不包含字典或语言模型.
如何在Sphinx4中获取德语的字典和语言模型路径?
我的要求与此问题类似,因为问题现在已经3年了,我正在重新发布具有我特定信息的问题,我想创建一个采用.wav(或任何其他标准音频文件格式)并转换的应用程序它发短信.
对于语音识别,我决定使用sphinx4,我正在尝试增强sphinx提供的Transcriber演示.它很好,但只适用于特定的语法(用.gram和.gxml文件编写).
编辑 能够用英语吗?我正在尝试使用VoxForge_en_0.4进行配置.我的config.XML文件如下: -
<?xml version="1.0" encoding="UTF-8"?>
<!--
Sphinx-4 Configuration file
-->
<!-- ******************************************************** -->
<!-- biship configuration file -->
<!-- ******************************************************** -->
<config>
<!-- ******************************************************** -->
<!-- frequently tuned properties -->
<!-- ******************************************************** -->
<property name="absoluteBeamWidth" value="500"/>
<property name="relativeBeamWidth" value="1E-80"/>
<property name="absoluteWordBeamWidth" value="20"/>
<property name="relativeWordBeamWidth" value="1E-60"/>
<property name="wordInsertionProbability" value="1E-16"/>
<property name="languageWeight" value="7.0"/>
<property name="silenceInsertionProbability" value=".1"/>
<property name="frontend" value="epFrontEnd"/>
<property name="recognizer" value="recognizer"/>
<property name="showCreations" value="false"/>
<!-- ******************************************************** -->
<!-- word recognizer configuration -->
<!-- ******************************************************** -->
<component …
Run Code Online (Sandbox Code Playgroud) 我遇到了用于Java的Sphinx语音识别库的问题.我用它来获取输入并处理它.我第一次得到输入,它的工作原理.第二次,它在我有机会谈话之前立即回答.在那之后,它继续回答自己.我尝试在每次输入之前分配并在每次输入后解除分配,但这似乎不起作用.我能做什么?
代码:
这是处理输入的方法:
public void getInput() {
if (using) return;
using = true;
if (!allocated) {
JTalk.speak("Please hold.");
recognizer.allocate();
allocated = true;
}
JTalk.speak("Speak now.");
Result result = recognizer.recognize();
if (result != null) {
String resultText = result.getBestFinalResultNoFiller();
JDispatcher.getInstance().matchInput(resultText);
}
else {
JTalk.speak("Try again.");
}
using = false;
}
Run Code Online (Sandbox Code Playgroud)
你需要知道的:
MouseListener
for a TrayIcon
.speak(String)
运行say <text>
从Runtime
.matchInput(String)
迭代数组中所有已注册的侦听器并测试匹配.更新2:
根据Nikolay Shmyrev的回答,我尝试在构造函数中分配麦克风,并在适当的时间启动,然后停止麦克风getInput()
.
这是SphinxBridge类:
public class SphinxBridge {
private ConfigurationManager cm; …
Run Code Online (Sandbox Code Playgroud) 我正在寻找德语发音词典,以便用于PocketSphinx/CMU Sphinx.
字典看起来像这样:
BACK B AE K
CALL K AO L
NO N OW
NUMBER N AH M B ER
ONE W AH N
ONE(2) HH W AH N
REPLY R IH P L AY
REPLY(2) R IY P L AY
SEND S EH N D
STOP S T AA P
THREE TH R IY
TWO T UW
YES Y EH S
Run Code Online (Sandbox Code Playgroud)
找到这些用于英语是没有问题的,但我找不到它们用于德语.你知道在哪里找到它吗?
我正在尝试在Ubuntu 12.04中为sphinx4设置环境.在从终端提取lib目录中的JSAPI.JAR时,我收到以下错误:
当试图接受BCL时:
Accept (y/n)?: y
x - creating lock directory
x - extracting jsapi.jar (binary) jsapi.sh: line 257: uudecode: command not found
restore of jsapi.jar failed
jsapi.jar: MD5 check failed
Run Code Online (Sandbox Code Playgroud)
根据这里的教程(https://www.youtube.com/watch?v=CSnjlmfkrG0),如果我收到错误,那么我错过了一些必要的依赖....有谁可以帮助我需要哪些依赖项以及如何安装它们.
注意:我是ubuntu的首发,所以不太了解它,所以请详细解答
谢谢
我有个问题.你看,我正在创建这个程序,我想要语音识别.CMUSphinx 4似乎是最好的选择,所以我只是下载了罐子并将它们作为压缩库添加到我的项目中.所以我从CMUSphinx Wiki获得了这个代码并且我试了一下.这是代码:
Configuration configuration = new Configuration();
// Set path to acoustic model.
configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us");
// Set path to dictionary.
configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");
// Set language model.
configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.dmp");
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎我收到了这个错误:
引起:属性异常组件:'acousticModelLoader'属性:'location' - 找不到资源:/ edu/cmu/sphinx/models/en-us/en-us edu.cmu.sphinx.util.props.InternalConfigurationException:找不到资源:/ edu/cmu/sphinx/models/en-us/en-us
所以,我尝试了故障排除并添加了额外的"/"
configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us/");
Run Code Online (Sandbox Code Playgroud)
这似乎解决了它的一部分,但后来,添加额外的"/"后我又收到了一个错误:
引起:属性异常组件:'dictionary'属性:'fillerPath' - 找不到资源:/ edu/cmu/sphinx/models/en-us/en-us // noisedict edu.cmu.sphinx.util.props .InternalConfigurationException:找不到资源:/ edu/cmu/sphinx/models/en-us/en-us // noisedict
注意那里的额外"/".基本上,是否有人有办法绕过这样一个事实:我有或没有额外的"/"错误?在我看来,sphinx4本身的代码中存在错误.我一直在尝试通过反编译错误中涉及的每个类而没有运气来追踪额外"/"的添加位置.救命?
我想建立新的声学模型,新词典,新语言模型为" Sinhala Language speech recognition
"僧伽罗语言字符是基于Unicode的.例如A =අ,I =ඉ,U =උ,KA =ක,BA =බ.我确实通过了CMUSphinx开发人员教程.但它没有帮助我.它适用于英语.
语言模型应该是ARPA模型.如何将Sinhala Unicode与英语音素映射,以及如何使用不同的声音训练语言模型.有没有可用于生成基于Unicode的语言模型的工具?