我试图在我的应用程序中使用Google语音到文本API与Python一起实现语音到文本。我得到了正确的转录,但反应只包含成绩单和信心,而不是单独的单词。如果我试图访问这些单词,我会得到一个空列表。
对于访问结果,我使用以下代码:
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__给了我成绩单和信心,但没有给我文字。是否有什么特别的方式来访问文字记录或我遗漏了什么?
UPDATE:最初,我初始化识别配置如下:
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发布于 2020-10-27 13:51:17
根据云语音到文本API REST 文档,speech.recognize方法对每个转录结果results[]对象沿SpeechRecognitionResult返回语音识别响应,而SpeechRecognitionAlternative在特定假设中检索transcript、confidence、words[]。
通过Python 谷歌-云-演讲库实现,我承认对于真正的SpeechRecognitionAlternative() 班级,我们可以为每个可识别的单词找到一个特定于单词的信息WordInfo列表。
print("Words: {}".format(result.alternatives[0].words[0].word))https://stackoverflow.com/questions/64552555
复制相似问题