Tag: cmusphinx

一起运行Pocketsphinx和Google TTS

我想开始一个新的活动,从一开始就识别语音,并且可以在活动开始后立即读取传入的消息。 此代码是从默认值合并的代码。 它在默认情况下运行良好。 但我想删除按钮作为触发器,而是使用语音来触发SMSReaderMain.java进一步操作。 因此,我使用pocketphinx for Android来实现它。 pocketSphinxAndroidDemo-preAlpha项目 Android文本到Speech Tutorial项目 它没有给我任何错误,但是当它在实际设备上运行时,它强制关闭。 Log cat显示这些错误 03-16 23:09:15.330: E/cmusphinx(8505): ERROR: “kws_search.c”, line 158: The word ‘/1e-60/’ is missing in the dictionary 03-16 23:09:15.330: E/cmusphinx(8505): ERROR: “kws_search.c”, line 158: The word ‘/1e-60/’ is missing in the dictionary 03-16 23:09:15.330: I/cmusphinx(8505): INFO: kws_search.c(417): KWS(beam: -1080, plp: -23, default threshold -450) […]

转换CMU Sphinx 4输入的音频文件

我有一大堆文件,我想在使用CMU Sphinx 4时获得认可.Sphinx需要以下格式: 16千赫兹 16位 单 小尾数 我的文件类似于44100 khz,32位立体声mp3文件。 我尝试使用Tritonus,然后使用更新版本JavaZoom,使用bakuzen中的代码进行转换。 但是, AudioSystem.getAudioInputStream(File)抛出UnsupportedAudioFileException ,我无法弄清楚原因,所以我继续前进。 现在我正在尝试ffmpeg。 命令ffmpeg -i input.mp3 -ac 1 -ab 16 -ar 16000 output.wav似乎应该做的伎俩(小端除外),但是当我用Audacity检查输出时,它仍然将其标记为“32 -bit float“。 我在这个网站上找到的命令也使用了-acodec pcm_s16le ,它的名字似乎输出了16位小端; 但是,Audacity仍然告诉我输出是32 bit float 。 谁能告诉我如何将音频文件转换为CMU Sphinx 4所需的格式?

如何使用CMU Sphinx 4将语音转换为带有英语voxforge模型的文本

我正在试图弄清楚如何使用sphinx4或pocketsphinx与英国voxforge模型,但我不能让它工作。 我试过阅读doc页面(比如这个http://cmusphinx.sourceforge.net/sphinx4/doc/UsingSphinxTrainModels.html ),但它对我没有帮助。 我想要的是一个可执行文件,我可以在其中指定要使用的模型和要用作源的音频文件,并将可执行文件打印出来,最好猜测录制内容的声音。 我喜欢运气:pocketsphinx_continuous -infile recording.wav 2> / dev / null 但它会在转录完整的音频文件之前中止,并且默认模型可以通过几个单词来创建音频中的可读文本。 我已经编译并测试了sphinx4源程序包中的演示,但所有示例似乎都只有很少的单词,并且需要一个模型来使用voxforge对我有用。 我怎么设置它?

如何查看Pocketsphinx字典中是否存在单词?

我只想查看字典文件中是否存在字符串。 (问题底部的字典文件) 我想检查语音识别器是否能识别一个单词。 例如,识别器将无法识别ahdfojakdlfafiop的字符串,因为它未在字典中定义。 那么, 我可以检查一个单词是否在pocktsphinx的字典中? 就像是: if(myString.existsInDictionary){ startListeningBecauseExists(); }else( //Doesn’t exist in dictionary!!! } 我只是想要一种方法来判断识别器是否可以监听我想要它听的内容。 这是字典文件: https://raw.githubusercontent.com/cmusphinx/pocketsphinx-android-demo/master/app/src/main/assets/sync/cmudict-en-us.dict 谢谢, Ruchir

在sphinx4 5prealpha中运行Dialog演示时无法访问麦克风

我正在尝试运行sphinx 4 pre aplha的对话框演示,但它会出错。 我正在创建一个实时语音应用程序。 我使用maven导入了项目,并在堆栈溢出时遵循本指南: https : //stackoverflow.com/a/25963020/2653162 该错误说明有关16 khz和通道为单声道的问题。 很明显它是关于抽样的东西。 关于麦克风也是如此。 我看了如何将麦克风设置更改为16 khz和16 bit,但在Windows 7中没有这样的选项 : 问题是HelloWorld和对话框演示在sphinx4 1.06 beta中运行良好,但在我尝试了最新版本后,它会出现以下错误: 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.(Microphone.java:38) at edu.cmu.sphinx.api.SpeechSourceProvider.getMicrophone(SpeechSourceProvider.java:18) at edu.cmu.sphinx.api.LiveSpeechRecognizer.(LiveSpeechRecognizer.java:34) at edu.cmu.sphinx.demo.dialog.Dialog.main(Dialog.java:145) Caused by: javax.sound.sampled.LineUnavailableException: line with format […]

使用Sphinx4进行关键字或关键短语识别

我正在尝试使我的java代码(使用eclipse)执行某些function,如果说某些事情。 我正在使用Sphinx4库,这是我目前拥有的: 我想要它做的是在它说: IF (TRUE) someFunction(); 如果我的演讲是Hello Computer,Hello Jarvis,Good Morning Computer或Good Morning Jarvis,那就是运行该function。 或者换句话说,如果语音与.gram文件中的“public ”代码行匹配,则运行该函数。 更具体的是,如果我的演讲符合该语法规则,则返回“问候”。 如果这没有意义,我很抱歉…… 这是我的listener.java文件: package speechRecognition; import java.io.File; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import edu.cmu.sphinx.frontend.util.Microphone; import edu.cmu.sphinx.recognizer.Recognizer; import edu.cmu.sphinx.result.Result; import edu.cmu.sphinx.util.props.ConfigurationManager; public class Listener { public void someFunction(){ System.out.println(“Did Something”); } public static void main(String[] args) { ConfigurationManager cm; if […]

在Android上安装Pocketsphinx

我有关于安装Pocketsphinx和Android手机的一些问题,我无法在CMUSphinx的支持论坛,IRC,现有的StackOverflowpost或密集的Google搜索上找到答案。 如果这里的任何人有一分钟并且愿意提供帮助,我将非常感激。 首先,我很困惑我是否可以在Android上安装Pocketsphinx。 我相信我需要Java分区才能在Android上运行,所以我尝试安装Sphinx 4.为了测试程序,我做了一个空活动并将HelloWorld演示文件移动到onCreate方法中。 然后,我将以下库添加到构建路径: js.jar JSAPI-1.0-base.jar JUnit的-4.8.1.jar sphinx4.jar tags.jar WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar 代码部署在运行Android 2.2的Droid 2上,但是我在运行时遇到以下错误: ERROR/AndroidRuntime(11567): Caused by: Property exception component:’wsjLoader’ property:’location’ – Can’t locate resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz 我在构建路径中包含了该jar文件,所以我不确定为什么会引发exception。 但话说回来,我甚至不确定我是否应该尝试在Android上安装Sphinx 4。 有谁知道我应该怎么做? 在此先感谢您的帮助。 2011年5月更新:我尝试让pocketphinx在Android上运行的尝试现在列在CMU Sphinx维基上, url为http://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/

无法启动服务? (语音识别)

我想在服务中不断地使用pocketsphinx来听取hello这个词 我收到了错误。 这是完整的堆栈跟踪 。 这是它的一小部分。 Unable to create service curlybrace.ruchir.myApp.MyService: java.lang.RuntimeException: new_Decoder returned -1 这是由于: setupRecognizer(assetDir); //SETUP 和这个: .getRecognizer(); 在我的onCreate : Log.v(TAG, “Voice recognition activated!”); //Register voice recog listener 🙂 Assets assets = null; try { assets = new Assets(MyService.this); File assetDir = assets.syncAssets(); setupRecognizer(assetDir); //SETUP Log.v(TAG, “Set up listener”); } catch (IOException e) { […]