首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Google Speech-To-Text进行流式音频转录时,时间偏移是否起作用?

在使用Google Speech-To-Text进行流式音频转录时,时间偏移是否起作用?
EN

Stack Overflow用户
提问于 2020-10-31 07:51:18
回答 1查看 111关注 0票数 1

通过Google Speech-To-Text进行流式音频转录的时间偏移量对我来说不起作用。我的配置如下所示:

代码语言:javascript
复制
const request = {
  config: {
    model: 'phoneCall',
    maxAlternatives: 1, // for real-time, we always parse a single alternative.
    enableWordTimeOffsets: true,
    encoding: "MULAW",
    sampleRateHertz: 8000,
    languageCode: "en-GB"
  },
  interimResults: true
};

一旦我们获得了WebSockets连接的句柄,我们就会为转录设置回调:

代码语言:javascript
复制
recognizeStream = client
  .streamingRecognize(request)
  .on("error", console.error)
  .on("data", data => {
    console.log(data.results[0].alternatives[0].transcript);
    for (v in data.results[0].alternatives[0]) {
      console.log(`v=${data.results[0].alternatives[0][v]}`);
    }
    data.results[0].alternatives[0].words.forEach(wordInfo => {
      // NOTE: If you have a time offset exceeding 2^32 seconds, use the
      // wordInfo.{x}Time.seconds.high to calculate seconds.
      const startSecs =
        `${wordInfo.startTime.seconds}` +
        '.' +
        wordInfo.startTime.nanos / 100000000;
      const endSecs =
        `${wordInfo.endTime.seconds}` +
        '.' +
        wordInfo.endTime.nanos / 100000000;
      console.log(`Word: ${wordInfo.word}`);
      console.log(`\t ${startSecs} secs - ${endSecs} secs`);
    });
  });

然后,当我们得到音频块时,我们这样做:

代码语言:javascript
复制
recognizeStream.write(msg.media.payload);

其中,JSON是从WebSockets消息解析的msg对象:

代码语言:javascript
复制
const msg = JSON.parse(message);

不幸的是,数组data.results[0].alternatives[0].words总是空的,即使实时转录工作正常。

有没有人证实过Google Speech-To-Text的时间偏移量确实对流媒体音频转录有效?

顺便说一句,这里是nodejs API for Google Speech-To-Text的git-repo。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-12 05:40:45

大多数证据表明,只有当位is_finalTrue时,才会返回通过谷歌语音到文本转换的单词的时间偏移量。

换句话说,实时转录的时间戳单词边界似乎只有在转录结束时才可用。

我知道我不是唯一一个要求这个特性的API用户。我无法想象这很难做到,而且我怀疑修复不会破坏当前的API。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64617099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档