0

我正在尝试优化 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);
    });
}
4

1 回答 1

0

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

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

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

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

于 2021-02-26T11:48:14.540 回答