1

我使用 Sphinx4 有一段时间了,它确实符合我的需求。我加载一个识别器,将音频数据传递给它,并在我的应用程序中使用识别的字符串。

现在我正在开发一个 C 应用程序(不幸的是 C++ 不是一个选项),我需要类似的东西,并认为我可以使用用 C 编写的 Sphinx3。

问题是我真的不知道它是如何在应用程序中使用的,并且没有 Sphinx4 提供的“Hello World”示例。

我已经编译并安装了 sphinxbase 和 sphinx3,现在我可以在我的应用程序中包含 sphinx 头文件。

现在我的问题:

  • 是否有使用来自 C 环境的 sphinx3 的“简单”且有据可查的示例应用程序?
  • 如何加载 sphinx3 引擎并使用我的二进制音频数据调用识别器?
  • 或者:我是否需要启动像“sphinx3_decode”这样的应用程序并从我自己的应用程序中调用它?如果是这样,是否有一个示例应用程序?

先感谢您!

最好的问候,罗伯特

4

2 回答 2

4

不建议使用 Sphinx3 从网站:

Sphinx-3 是 CMU 的大词汇量语音识别系统。这是我们继续维护的基于 C 的较旧解码器。计划在未来淘汰它,它仍然是大词汇量任务最准确的解码器。我们使用它作为基线来检查识别器的准确性。该解码器仅适用于想要评估 ASR 中的前沿方法(如树搜索方法)的研究人员。

如果你需要使用解码器,你应该使用 pocketsphinx。您可以在网站上找到教程和 API 文档

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

http://cmusphinx.sourceforge.net/api/pocketsphinx/pocketsphinx_8h.html

于 2012-01-05T16:14:22.490 回答
-1

我最近参与了一个关于旁遮普语的综合项目。以下是我们使用的一些步骤...

  • 首先,我们在真空室中以 16000 赫兹的采样率记录旁遮普语音频数据。
  • 然后我们获取记录的数据并使用 Praat 软件将其分割成 2 到 30 秒的小 wav 和原始文件,并将它们保存在名为 train 的文件夹中。
  • 然后我们采用了具有Linux ie 的系统。Ubuntu 并安装了所需的插件,如 autoconfig、automake 等和解压的 Sphinx 3 以及 cmuclmtk、pocketsphinx、sphinxbase、sphinxtrain 4 个包。
  • 然后根据小wav文件我们制作了许多文件,如转录,dic,phone,filler,file id,ccs等。
  • 然后我们打开终端并输入-“sphinx_fe”来检查狮身人面像是否正常工作。
  • 然后我们创建了一个名为“man”的文件夹,然后在终端中写入它的路径。
  • 然后我们运行命令“sphinxtrain –t man setup”。通过运行此命令,将在“man”文件夹中形成一个名为“etc”的文件夹,其中包含文件“feat_paramas”和“config”。
  • 根据我们的数据在配置文件中进行了更改。
  • 然后我们移动了我们之前创建的所有文件,即。转录, dic 在位于 man 文件夹中的 etc 文件夹中。
  • 然后我们将“lang1.sh”脚本放在 etc 文件夹中,剩下的 4 个脚本放在 man 文件夹中。
  • 然后我们在终端打开etc文件夹的路径并运行命令-“lang1.sh”</li>
  • 然后我们在终端中运行一系列命令——“mfcgen2.sh”、“verify3.sh”、“hmm4.sh”,最后是“end-test.sh”以获得最终结果。

休息一下,如果您使用过 Sphinx 4,那么您可能会了解上述步骤中提到的文件。我希望这可以帮助你。

于 2016-04-16T08:54:19.227 回答