使用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“亚瑟大鼠”,“美国 - 中西部普通话(密歇根州)”的剪辑。
答案 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