【问题标题】:Webkit Speech Recognition API: Single SyllablesWebkit 语音识别 API:单音节
【发布时间】:2020-07-11 20:57:47
【问题描述】:

我正在尝试使用 Webkit Speech Recognition API 来识别单个音节,而不是完整的单词或句子。 由于这个API需要“语法”定义,不知道有没有办法实现单音节识别。类似“ah”或“bi”。

谢谢

【问题讨论】:

标签: javascript speech-recognition webkitspeechrecognition


【解决方案1】:

很遗憾,Web Speech API 无法做到这一点。尽管您可以创建自定义语法(它们是单词的集合),但您不能定义自定义字典或词汇表(它们是单词本身)。在您的情况下,您需要定义一个自定义词汇表,其中包含单个音素作为单词,然后将您的语法限制为仅从您的自定义词汇表中选择单词。有一些付费的基于云的服务可以让您做到这一点。

例如,使用 IBM Watson,您可以先create a custom language model,然后再add words to the model(在您的情况下,每个音素都是一个“单词”)。通常,自定义语言模型与通用语言模型混合在一起,但您不希望这样,因此您可以将set the customization weight 设置为 1.0(这意味着它使用您的自定义语言模型)。

您还可以通过其他方式来解决此问题,但我怀疑您会找到不涉及付费服务的纯基于 Web 的解决方案。如果您能够迁移到本机平台(或在服务器上创建自己的基于 Web 的服务),那么您还有更多选择。例如,CMUSphinx 将允许您create a custom dictionary 与服务器上的 Sphinx4 或移动设备上的 PocketSphinx 一起使用。尽管 CMUSphinx 不是用于大词汇表应用程序的最准确系统,但您的自定义词汇表会很小,因此 CMUSphinx 的性能会非常好。

【讨论】:

  • 感谢大卫的详细回答。据我了解,我将不得不创建自己的网络服务(可能托管在某处的云上)并通过网络浏览器发送语音音节的简短录音。对吗?
  • @Forepick 如果您需要在网络上(不是原生移动或桌面),那么是的,您需要在服务器上进行语音识别(无论是您自己的还是云服务) .我会在服务器上设置 Sphinx4,然后使用 WebSockets 将音频数据实时流式传输到服务器。然后您可以通过同一个套接字将识别响应发回。
猜你喜欢
  • 2014-05-10
  • 2013-06-07
  • 2014-01-05
  • 2023-04-08
  • 2019-02-23
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 2011-07-24
相关资源
最近更新 更多