首页 > 解决方案 > Google Speech to Text 最佳值

问题描述

我正在尝试优化 Node.js 应用程序中的 Speech to Text 调用值。我正在尝试确定它们是否是当前的最佳实践。

我了解 Speech to Text 推荐采用 16,000Hz 采样率的 LINEAR16 编码,但这对于以 8000hz 发送且目前 Twilio 仅提供 MULAW 编码的 VOIP 是不可能的。

我想知道的是用于“模型”“use_enhanced”和“信心”的值是好的?

if (this.newStreamRequired()) {
  if (this.stream) {
    this.stream.destroy();
  }

  var request = {
    config: {
      encoding: "MULAW",
      sampleRateHertz: 8000,
      languageCode: "en-US",
      model: 'phone_call',
      use_enhanced: true,
      confidence: 1.0
    },
    single_utterance: false,
    interimResults: false,
    is_final: true
    
  };

  this.streamCreatedAt = new Date();
  this.stream = speech
    .streamingRecognize(request)
    .on("error", console.error)
    .on("data", (data) => {
      const result = data.results[0];
       if (result === undefined || result.alternatives[0] === undefined) {
         return;
       } 
      this.emit('transcription', result.alternatives[0].transcript);
    });
}

标签: google-cloud-platformspeech-to-textgoogle-speech-to-text-api

解决方案


一般来说,很难评估您的选择是否确实是最好的。您可以采取的最佳方法是研究替代方案,运行几个测试并坚持产生最佳结果的参数。

无论如何,让我们检查一下您的特殊情况:

  • 型号:8000Hz 的最佳型号如此phone_call所述。其他替代方案更适合 16000Hz 音频。
  • Use_enhanced:唯一的选项是真/假。使用这两种方法运行测试应该很容易。在纸面上,使用增强模型应该会产生更好的结果,尤其是对于phone call模型(请参阅)。
  • 信心:这个字段通常是响应中的一个值,我不认为它可以包含在默认请求配置中。请注意,流式配置基于默认配置。

总而言之,我认为您的请求参数具有正确的值,但置信度值可能不适合请求参数。


推荐阅读