flutter:: 我可以在不进行发音校正的情况下使用语音转文本 api 吗?

flutter:: Can I use speech to text api without pronunciation correction?

我正在制作一个应用程序,使用 google 云语音转文本 api with flutter。 由于使用了google speech to text api,感觉这个api并没有把准确的读音转成文字,而是纠正发音转成文字。

例如,如果我发音为'opple',文本将自动转换为'apple'。 我希望文本为 'opple'.

有没有语音转文字的方法api没有纠正发音的功能?

在没有发音校正的情况下,没有使用 Speech-to-Text API 的选项。 Speech-to-Text API 在将音频转录为文本时尝试识别已知单词。使用不存在的词,例如 [Opple, Epple, Ipple, Upple] 会产生类似于 Apple 之类的词。除非您使用的是存在任何这些词的其他语言,否则 API 将自动更正发音。

作为解决方法,您可以使用 语音自适应 功能来帮助 Speech-to-Text 识别特定的单词或短语,而不是建议的其他选项。例如,假设您的音频数据经常包含“天气”一词。当 Speech-to-Text 遇到“天气”一词时,您希望它将该词转录为“天气”而不是“是否”。在这种情况下,您可以使用语音自适应使 Speech-to-Text 偏向于识别“天气”。要提高 Speech-to-Text 在转录您的音频数据时识别单词“天气”的可能性,请在 SpeechContext object. Assign the SpeechContext object to the speechContexts field of the RecognitionConfig object in your request to the Speech-to-Text API. The following snippet shows part of a JSON payload sent to the Speech-to-Text API. The JSON snippet provides the word "weather" for speech adaptation. Please see this doc 的短语字段中传递“天气”以获取更多信息。

"config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["weather"]
    }]
}

默认情况下,语音自适应提供的效果相对较小,尤其是对于单词短语。语音适应 boost 功能允许您通过为某些短语分配比其他短语更多的权重来增加识别模型偏差,以增强语音适应对转录结果的影响(即更高的提升) value 更重视指定的短语。以下代码段显示了 JSON 负载的示例。 JSON 代码段包含一个 RecognitionConfig 对象,该对象使用提升值对单词“fare”和“fair”进行不同的加权。另请注意,“语音自适应提升”是一项 Beta 功能。有关详细信息,请参阅此 doc.

"config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["fare"],
      "boost": 18
     }, {
      "phrases": ["fair"],
      "boost": 2
     }]
  }