当前位置:  开发笔记 > 编程语言 > 正文

Google语音识别API:每个字的时间戳?

如何解决《Google语音识别API:每个字的时间戳?》经验,为你挑选了2个好方法。

可以使用Google的语音识别API通过执行请求来获取音频文件(WAV,MP3等)的转录 http://www.google.com/speech-api/v2/recognize?...

示例:我在WAV文件中说过" 一二三五 ".谷歌API给了我这个:

{
  u'alternative':
  [
    {u'transcript': u'12345'},
    {u'transcript': u'1 2 3 4 5'},
    {u'transcript': u'one two three four five'}
  ],
  u'final': True
}

问题:是否可以获得每个单词的时间(以秒为单位)?

用我的例子:

['one', 0.23, 0.80], ['two', 1.03, 1.45], ['three', 1.79, 2.35], etc.

即,
在时间00:00:00.23和00:00:00.80之间已经说过"一个"字样,在时间00:00:01.03和00:00:01.45(以秒为单位)之间说出了"两个"字样.

PS:寻找支持除英语之外的其他语言的API,尤其是法语.



1> deweydb..:

我相信另一个答案现在已经过时了.现在可以使用Google Cloud Search API:https: //cloud.google.com/speech/docs/async-time-offsets



2> Nikolay Shmy..:

谷歌API无法实现.

如果需要单词时间戳,可以使用其他API,例如:

CMUSphinx - 免费的离线语音识别API

SpeechMatics SaaS语音识别API

来自IBM的语音识别API


我们尝试使用IBM BlueMix Speech API来实现此目的,并发现其准确性非常糟糕.甚至像"勺子"这样简单明确的孤立词语也会以"月亮","房间","厄运","绽放","谁"的形式回归.这是在我预先指定了具有低接受概率的关键字设置为("勺子")之后.正如OP所提到的,IBM确实提供了每个单词的开始和停止时间(Google显然没有),但是准确性太低而无法使用.
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有