我正在尝试使用带有 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