问题描述
我目前很难将语音结果从 Microsoft azure 认知服务 API 保存为文本。
这是我的代码。
import azure.cognitiveservices.speech as speechsdk
import time
# Creates an instance of a speech config with specified subscription key and service region.
# Replace with your own subscription key and service region (e.g.,"westus").
speech_key,service_region = "speech_key","region"
speech_config = speechsdk.SpeechConfig(subscription=speech_key,region=service_region)
# Creates a recognizer with the given settings
speech_config = speechsdk.SpeechConfig(subscription=speech_key,region=service_region,speech_recognition_language="it-IT")
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)
speech_recognizer.session_started.connect(lambda evt: print('SESSION STARTED: {}'.format(evt)))
speech_recognizer.session_stopped.connect(lambda evt: print('\nSESSION STOPPED {}'.format(evt)))
speech_recognizer.recognized.connect(lambda evt: print('\n{}'.format(evt.result.text)))
print('Say a few words\n\n')
result = speech_recognizer.recognize_once_async().get()
print(result.text)
speech_recognizer.start_continuous_recognition()
time.sleep(10)
speech_recognizer.stop_continuous_recognition()
speech_recognizer.session_started.disconnect_all()
speech_recognizer.recognized.disconnect_all()
speech_recognizer.session_stopped.disconnect_all()
我想保存从语音到文本 API 转换后的文本。我已经有了订阅密钥和地区,但不知道如何将数据保存到 JSON 文件中。
解决方法
result.Text 在结果中返回识别的文本,您可以保存到文件中。
在 Python 中,这个 repo 添加了一些示例代码来演示 Speech to Text SDK: https://github.com/caiomsouza/Microsoft-Cognitive-Services/tree/master/speech-to-text 和这个 python code 正在转换任何音频文件大小。