标签: cmusphinx

在Android上安装Pocketsphinx

我有关于安装Pocketsphinx和Android手机的一些问题,我无法在CMUSphinx的支持论坛,IRC,现有的StackOverflow帖子或密集的谷歌搜索上找到答案.如果这里有人有一分钟愿意帮忙,我会非常感激.

首先,我很困惑,我是否可以在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
Run Code Online (Sandbox Code Playgroud)

我在构建路径中包含了该jar文件,所以我不确定为什么会引发异常.但话说回来,我甚至不确定我是否应该尝试在Android上安装Sphinx 4.有谁知道我应该怎么做?在此先感谢您的帮助.

2011年5月更新:我尝试让pocketphinx在Android上运行的尝试现在列在CMU Sphinx wiki上,网址http://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/

java android speech-recognition cmusphinx

5
推荐指数
1
解决办法
5799
查看次数

Python语音比较

我有两个.wav文件,我需要比较并确定它们是否包含相同的单词(同样的顺序).

我一直在寻找最好的方法.我无法弄清楚如何让pyspeech使用文件作为输入.我试过让CMU sphinx项目正常工作,但我似乎无法让GStreamer使用Python 27,更不用说他们的项目了.我也和DragonFly搞乱了,没有运气.

我在Python27上使用Win7 64bit.有没有人有任何想法?

任何帮助是极大的赞赏.

python speech-recognition speech-to-text cmusphinx

5
推荐指数
1
解决办法
2533
查看次数

pocketsphinx如何判断出语法词汇

我目前正在使用pocketphix演示(android和visual studio 2010),我已经配置了像这样的jsgf语法

 #JSGF V1.0;
 grammar Names;
 public <popular> = muhammad | ahmed | maria | john | kelley | peter | jacob | jason; 
Run Code Online (Sandbox Code Playgroud)

每当我说出正确的名字时,它在大多数情况下都会检测到它,但是当我说一个名字不在列表中时,它仍然匹配某些东西而我不想要或者至少能够检测到某些东西是否被认为不在语法中(可能是通过一些得分或口袋里的apix)

我相信pocketphinx有一些我不知道的地方.请指教.

谢谢,艾哈迈德

cmusphinx

5
推荐指数
1
解决办法
1232
查看次数

PocketSphinx python并设置声学模型?

我正在阅读这篇关于语音识别的指南,它提到我需要三个语音识别项目:声学模型,语言模型,语音词典.

我想开始玩这个python演示,它使用Gstreamer从麦克风捕获并重采样到8kHz,16位PCM音频.

我看到我可以指定语言模型和语音字典,我使用[由cmu提供]:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20HUB4%20Language%20Model/
Run Code Online (Sandbox Code Playgroud)

但我很困惑,我应该指定声学模型?gstreamer是否有我自己使用的声学模型?我希望使用这里提供的声学模型获得更好的结果:

 http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20HUB4%20Acoustic%20Model/
Run Code Online (Sandbox Code Playgroud)

(抱歉,超链接.我不能发布超过2个链接,代表少于10)

python speech-recognition cmusphinx

5
推荐指数
1
解决办法
1804
查看次数

我们如何使用pocketsphinx 将.wav 文件转换为文本?

我在我的 Linux 机器上正确安装了 Pocketsphinx,现在我想使用 Pocketsphinx 将音频文件 (.wave) 转换为文本,我该怎么做?有没有明确的命令和简短的命令来做到这一点?像这样的命令:

  ./src/programs/pocketsphinx_continuous -samprate 8000 -nfft 2048 -adcdev hw:1,0 -lm 2530.lm -dict 2530.dic myvoice.wav 
Run Code Online (Sandbox Code Playgroud)

以及如何使用 python 做到这一点?提前致谢。

python speech-recognition voice-recognition cmusphinx pocketsphinx

5
推荐指数
1
解决办法
5498
查看次数

Sphinx4无法找到资源

我有个问题.你看,我正在创建这个程序,我想要语音识别.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本身的代码中存在错误.我一直在尝试通过反编译错误中涉及的每个类而没有运气来追踪额外"/"的添加位置.救命?

java speech-recognition sphinx4 cmusphinx

5
推荐指数
1
解决办法
1017
查看次数

Pocketsphinx:捕获-tmic yes的实时输出到.txt

我在Windows上使用pocketsphinx_continuous.将输出重定向到文本文件使用"-infile"参数,但失败并显示"-inmic yes".

正如在问题中所指出的那样,袖珍华丽冲洗了什么?pocketsphinx忽略了stdout(至少在使用-inmic时).

有没有什么方法可以将pocketsphinx_continuous识别的单词"-inmic yes"保存到文本文件中?

具体来说,我希望我的Java程序运行pocketsphinx_continuous.exe并从麦克风输入中识别单词.

使用-backtrace-logfn亚历山大Solovets的建议确实是节省了与日志指定文件中沿结果.但是,日志不会像结果发送到终端那样频繁保存.我希望结果输出尽可能快,所以我从源代码构建了pocketsphinx_continuous.exe,并进行了以下更改continous.c.

在continuous.c中:

hyp = ps_get_hyp(ps, NULL );
if (hyp != NULL)
{
    printf("%s\n", hyp);
    FILE * fp;
    fp = fopen("file.txt", "a+");
    fprintf(fp, hyp);
    fprintf(fp, "\r\n");
    fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)

cmusphinx pocketsphinx

5
推荐指数
1
解决办法
2523
查看次数

如何在帧上分割语音数据并计算MFCC

我理解创建自动语音识别引擎的基本步骤.但是,我需要清楚地了解如何完成分段以及帧和样本是什么.我会写下我所知道的并希望答案在我错误的地方纠正我并引导我进一步.

我所知道的语音识别的基本步骤是:

(我假设输入数据是wav/ogg(或某种音频)文件)

  1. 预先强调语音信号:即,应用将强调高频信号的滤波器.可能类似于:y [n] = x [n] - 0.95 x [n-1]
  2. 找到话语开始和调整剪辑大小的时间.(可与第1步互换)
  3. 将剪辑分段为较小的时间帧,每个段长度为30毫秒.此外,每个分段将有大约256帧,两个分段将有100帧的分离?(即30*100/256毫秒?)
  4. 将Hamming Window应用于每个帧(段的1/256)?结果是一组信号帧.
  5. 快速傅立叶变换由X(t)表示的每帧的信号
  6. Mel Filter Bank Processing :(尚未详细说明)
  7. 离散余弦变换:(尚未详细说明 - 但要知道这将给我一组MFCC,也称为每个输入话语的声学矢量.
  8. Delta Energy和Delta Spectrum:我知道这用于计算MFCC的delta和double delta系数,并不多.
  9. 在此之后,我认为我需要使用HMM或ANN将Mel频率倒谱系数(delta和double delta)分类到相应的音素,并执行分析以将音素与单词和单词与句子匹配.

虽然这些对我来说很清楚,但如果第3步是正确的,我会感到困惑.如果正确,请在3中的步骤中将其应用于每个帧?另外,在第6步之后,我认为每一帧都有自己的MFCC,我是对的吗?

先感谢您!

speech-recognition speech speech-to-text cmusphinx

5
推荐指数
1
解决办法
1617
查看次数

如何在 Python 中使用 recognize_sphinx API 提高语音到文本转换的准确性

如何使用recognize_sphinxPython API提高语音到文本转换的准确性?

请找到下面的代码,需要提高准确率基础!

import speech_recognition as sr

# Obtain path to "english.wav" in the same folder as this script
from os import path
AUDIO_FILE = path.join(path.dirname(path.realpath(file)), "english.wav")
AUDIO_FILE = path.join(path.dirname(path.realpath(file)), "french.aiff")
AUDIO_FILE = path.join(path.dirname(path.realpath(file)), "chinese.flac")

# Use the audio file as the audio source
r = sr.Recognizer()
with sr.AudioFile(AUDIO_FILE) as source:
audio = r.record(source) # Read the entire audio file
# Recognize speech using Sphinx
try:
    print("Sphinx thinks you said " + r.recognize_sphinx(audio))
except sr.UnknownValueError:
    print("Sphinx could not …
Run Code Online (Sandbox Code Playgroud)

python speech-recognition speech-to-text cmusphinx google-speech-api

5
推荐指数
1
解决办法
7755
查看次数

Android离线语音识别,简单的命令/词汇

我正在寻找一些可以让我在Android应用程序中创建离线语音识别的库.将为我的应用程序提供简单的词汇表,最多包含15个短(一个单词)命令.在我的情况下,响应时间至关重要.

有没有可行的离线选项(免费和付费)?我知道Sphinx的离线版本,但它是最快响应的选项(同样,我只需要我的应用程序识别几个命令而不是整个语音到文本功能)?

android voice-recognition cmusphinx

4
推荐指数
1
解决办法
8441
查看次数