如何解决Google Cloud语音到文本API响应未返回单词
我正在尝试使用带有Python的Google Cloud Speech-To-Text API在我的应用程序中实现Speech-To-Text。我正确地获得了转录,但是响应仅包含转录本和置信度,而不包含单独的单词。如果我尝试访问这些单词,则会得到一个空列表。
要访问结果,我使用以下代码:
best_alternative = result.alternatives[0]
word = best_alternative
transcript = best_alternative.transcript
confidence = best_alternative.confidence
print(f'Transcript: {transcript}')
print(f'Confidence: {confidence:.0%}')
打印出best_alternative.__dict__
给我成绩单和信心,但没有言语。有什么特殊的方式可以访问抄本中的单词,或者我缺少什么?
更新: 最初,我正在初始化识别配置,如下所示:
config = speech.RecognitionConfig(
encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,sample_rate_hertz=RATE,language_code=lan_code)
streaming_config = speech.StreamingRecognitionConfig(
config=config,interim_results=True,enable_speaker_diarization=True)
使用此配置,返回的响应不包含单词,仅包含成绩单和置信度。然后我将配置更改为此:
config = speech.RecognitionConfig()
config.sample_rate_hertz = 16000
config.language_code = 'en-US'
config.encoding = speech.RecognitionConfig.AudioEncoding.LINEAR16
config.enable_speaker_diarization = True
这最终给了我单词以及成绩单和自信。可以使用以下命令访问这些单词:
response.results[0].alternatives[0].words[i].word
解决方法
根据云语音文本API REST documentation,speech.recognize
方法针对每个转录结果results[]
对象沿SpeechRecognitionResult返回语音识别响应,而{{3 }}在特定假设中检索transcript
,confidence
,words[]
。
通过Python Google SpeechRecognitionAlternative库实现,我承认对于真正的SpeechRecognitionAlternative()
google-cloud-speech,我们可以发现每个已识别单词的单词特定信息列表class
print("Words: {}".format(result.alternatives[0].words[0].word))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。