问题标签 [cmusphinx]

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.

0 投票
1 回答
853 浏览

cmusphinx - PocketSphinx output nothing

I want to do a Chinese speech recognition application. I build a language model(using CMUCLMTK) and an acoustic model base on the tutorial

http://cmusphinx.sourceforge.net/wiki/tutoriallm

http://cmusphinx.sourceforge.net/wiki/tutorialam

But I got nothing output while using the

The output just like

I've checked my wav files' format, it's 16it 16KHz mono. And also use ./scripts_pl/decode/slave.pl command and the result is 40% Error rate.(My model and training set is very small). My devices are running well because I've test pocketSphinx in English model and it performs very well.

What other may lead to that strange result?

0 投票
1 回答
239 浏览

speech-recognition - 使用 OpenEars / PocketSphinx 标记声门闭合

我刚刚在搜索可以帮助识别声门闭合的库时发现了 CMUSphinx。

在 PocketSphinx 或其相关的 OpenEars 中解决此问题的方法是什么?

在标记该信息时,是否可以轻松获取语音的其他属性?

0 投票
1 回答
1309 浏览

machine-learning - 将 CMU Sphinx 的置信度分数转换为概率时的偏差

我正在尝试将 CMU Sphinx 识别器的输出(即列表 < 假设(即短语)、分数(在日志中)> 通过调整 test_ps_nbest.c 获得)转换为以下形式:列表 < 假设(即短语)、“概率”(介于0 和 1) >

我现在使用的一个简单方法如下:

  1. 将每个置信度分数除以语言权重(例如:11)
  2. 标准化对数域中的置信度得分列表
  3. 输出概率 = exp(归一化置信度得分)

问题是上述方法的输出概率是有偏差的。你有什么建议可以用来获得概率偏差吗?

我必须实施以纠正偏差的示例方法:

矢量<双> getBias(矢量<字符串>短语,矢量<双> logConfidenceScores)

上述讨论的示例输入:

<“他在我们的头部心脏肺中做了标记”,-43278 >

< “他在我们班上拿了钱,他做了标记”,-43449 >

<他在心脏和肺上得到了能量并且他做了标记”,-43368 >

0 投票
3 回答
1285 浏览

android - PocketSphinx 在 Windows 上为 android 编译

我必须为 android 构建和运行 PocketSphinx 示例

我在 Windows 7 + Eclipse 中的 android 开发系统

我已经安装了 NDK 和 Cygwin 我的 Cygwin 现在没有 gcc 或 g++。你在 cygwin 中需要这些编译器吗?

我已经把这些模块——bison——make——automake——libiconv——libtool——python解释器

在上面。

我很困惑是否需要对 sphinxbase 和 pocketsphinx 执行以下步骤?按照建议http://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/comment-page-2/#comments

./autogen.sh ./configure make make install

如果是这样,我需要在 cygwin 上使用 gcc 或 g++ 吗?

请指教,

谢谢,艾哈迈德

0 投票
2 回答
789 浏览

speech-recognition - 使用pocketsphinx提取音素

是否可以在 pocketsphinx 的帮助下提取口语的音素?

0 投票
1 回答
7580 浏览

speech-recognition - 正确配置 Pocketsphinx

我一直在运行 Debian Squeeze 的 VM 上安装 Pocketsphinx0.7。这工作得很好,我可以尝试从文件中识别语音。有了这个我已经构建了一些 python 脚本来识别我得到的一堆文件,然后估计单词错误率。这些使用 gstreamer,如本教程中所述。

到目前为止,我使用的是pocketsphinx tarball中的原始hmm,这是一个字典,其中仅包含我的测试数据中的单词和我从教授那里获得的优化语言模型。这应该可以工作,因为它也在生产系统中运行。我现在的问题是识别性能仍然很糟糕。我的单词错误 (WER) 率约为 85%。

我想知道的是如何改进 WER。我可以采取哪些步骤?

发生并可能影响性能的另一件事是,pocketsphinx 告诉我它没有访问 hmm 的权限,尽管我让每个人都可以读取、写入和执行 hmm。

有谁知道这可能来自哪里?我很感激任何帮助。如果您需要更多信息,请告诉我。


编辑:

我创建了一个小型测试集并运行了 pocketsphinx。在这里您可以找到文件和结果。我被允许给你一些来自原始测试集的例子。你可以在这里找到它
这些是最糟糕的例子。1-2个单词的简短表达效果很好。抱歉,到目前为止我无法创建一个大的测试集,我的时间非常有限。

0 投票
1 回答
1238 浏览

speech-recognition - 使用有限状态语法 (JSGF) 为 CMU Sphinx 训练声学模型

我需要训练自己的声学模型。在官方 wiki 上,这个过程是针对 DMP 格式的 ngramm 模型描述的,但是我需要使用以 JSGF 格式提供的(语法)语言模型。有这种可能吗?如果是这样,你能提供一个关于这个主题的教程吗?

0 投票
1 回答
487 浏览

java - 如何在 java swing 应用程序中包含 sphinx 4

谁能告诉我如何将 sphinx4 包含到我的 java swing 项目中,而且我无法找到如何安装 gson 和 json .. 我正在使用 netbeans 7.1.2

0 投票
1 回答
385 浏览

linux - 使用它的音频源和开源工具有效地生成预转录语音的时间索引

在 TED.com 上,他们有转录,当点击转录的一部分时,他们会转到视频的相应部分。

我想在带有 OSS 的 Linux 上完成 80 小时的音频和转录。

这是我正在考虑的方法:

  1. 从 30 分钟的样本开始
  2. 将音频分成 2 分钟的 WAV 文件格式的块,即使它打断了单词
  3. 在每个块上运行来自 CMU Sphinx 的长音频对齐器的短语检测器,并带有成绩单
  4. 获取在每个位中找到的已识别单词/短语的时间索引,并计算原始音频文件中 ngram 的实际估计时间。

这看起来是一种有效的方法吗?有没有人真的这样做过?

是否有其他值得尝试的方法,例如可能足够准确的哑字计数?

0 投票
1 回答
1073 浏览

voice-recognition - 耳语时的简单语音识别

我正在尝试使用pocketsphinx(。语法非常简单,例如:

例如:

产量

我调整了声学模型(考虑到我的外国口音),之后我获得了不错的表现(准确率约为 94%)。我使用了约 3 分钟的训练数据集。现在我正试图做同样的事情,但通过对着麦克风耳语。在没有训练的情况下,准确率显着下降到约 50%。通过口音训练,我得到了约 60%。我尝试了其他想法,包括去噪和提高音量。我阅读了整个文档,但想知道是否有人可以回答一些问题,以便我可以更好地了解我应该在哪个方向上提高性能。

1) 在教程中,您正在调整 hub4wsj_sc_8k 声学模型。我猜“8k”是一个采样参数。使用 sphinx_fe 时,您使用“-samprate 16000”。是否故意使用 16k 采样率的数据来训练 8k 模型?为什么没有使用 8k 采样的数据?对性能有影响吗?

2) 在 sphinx 4.1 中(与 pocketsphinx 相比)有不同的声学模型,例如 WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar。这些模型可以与pocketsphinx一起使用吗?具有 16k 采样率的声学模型通常会在具有 16k 采样率的数据中具有更好的性能吗?

3)当使用数据进行训练时,我应该使用普通口语模式(仅适应我的口音)还是低语模式(适应耳语和我的口音)?我想我尝试了这两种情况,并没有注意到任何差异来得出任何结论,但我不知道袖珍狮身人面像的内部结构,所以我可能做错了什么。

4) 我使用下面的脚本来记录适应教程中的训练和测试数据:

我注意到每次我按下 Control-C 时,这个按键在录制的音频中都是不同的,这会导致错误。有时修剪音频有助于纠正或导致其他错误。有没有要求每个录音在说话前后都有几秒钟的相当?

5)当累积观察计数时,我可以修改任何设置以提高性能吗?

6)半连续和连续模型有什么区别?pocketsphinx 可以使用连续模型吗?

7) 我注意到 sphinx4 中的“mixture_weights”文件与您在 pocketsphinx-extra 中获得的文件相比要小得多。它有什么不同吗?

8)我尝试了不同的去除白噪声的组合(使用'sox'工具包,例如sox noise.wav filtered.wav noisered profile.nfo 0.1)。根据最后一个参数,有时它会有所改善(~3%),有时会变得更糟。消除噪音是好事还是pocketsphinx也这样做?我的环境很安静,只有白噪声,我猜当音频录制耳语时可以有更多的声音。

9)我注意到大多数时候单独提高音量(增益)只会使性能稍微变差,尽管对于人类来说更容易区分单词。我应该避免吗?

10) 总的来说,我尝试了不同的组合,我得到的最好结果是仅去除噪声时约为 65%,因此只有轻微的 (5%) 改进。以下是一些统计数据:

我所做的那些处理只是为了测试数据。是否应该以相同的方式处理训练数据?我想我试过了,但几乎没有任何区别。

11) 在所有这些测试中,我使用了 ARPA 语言模型。当使用 JGSF 结果通常更糟(我有最新的 pocketsphinx 分支)。这是为什么?

12)因为每个句子的最大数量是'999'并且不超过3个名字,我修改了JSGF并通过手动重复括号中的内容来替换重复符号'+'。这一次的结果更接近 ARPA。语法中有没有办法像正则表达式一样告诉最大重复次数?

13)当使用 ARPA 模型时,我使用所有可能的组合生成它(因为字典是固定的并且非常小:~15 个单词),但随后测试我仍然有时会收到非法结果,例如 Tom Anna(没有任何必需的数字)。有没有办法使用 ARPA 模型来强制执行某些结构?

14) 字典是否应该仅限于大约 15 个单词,或者只是完整的字典只会影响速度而不影响性能?

15) 修改字典(音素)是提高耳语识别率的方法吗?(我不是专家,但当我们耳语时,我猜有些词可能听起来不同?)

16) 任何其他提高准确性的技巧都会非常有帮助!