对于结果中的某些单词,时间戳似乎允许持续0秒,这是一个错误吗?

时间:2017-08-31 07:40:27

标签: google-cloud-speech

使用google云语音API时,新的word accurate timestamps/timecode feature似乎允许结果中的某些字词的持续时间 ... { startTime: '48.800s', endTime: '48.800s', word: 'a' }, { startTime: '48.800s', endTime: '49.200s', word: 'kindly' }, ... 秒,这是一个示例

S = 1

这是一个错误吗?

为了测试,我使用了来自audio archive“亚瑟大鼠”,“美国 - 中西部普通话(密歇根州)”的剪辑。

2 个答案:

答案 0 :(得分:1)

使用返回的时间戳,你可以获得比第二精度更好的效果。

从包含单词的结构中获取开始时间,您可以按以下方式输出:

start_time.seconds + start_time.nanos * 1e-9

答案 1 :(得分:0)

大卫·安德森(David Anderson)的回答是正确的,我只是想详细说明一下,因为我最初认为响应只是对第二精度的要求,而不是文档描述的100ms。

从2018年7月开始,向包括词时间偏移量的Google云语音API发送请求将返回一个响应对象,其中response.results中的每个词结果具有以下结构:

start_time {
  seconds: 24
  nanos: 100000000
}
end_time {
  seconds: 24
  nanos: 700000000
}
word: "of"

nanos字段使您可以将开始时间和结束时间精确到100毫秒。这样您就可以像这样获得开始时间和结束时间:

print(start_time.seconds + start_time.nanos * 1e-9)
print(end_time.seconds + end_time.nanos * 1e-9)

==== Output ====

24.1
24.7