我一直在python 3.7.3中进行语音识别。作为基础,我使用了在线获得的Wit.ai的示例代码。我的问题是,我无法增加记录时间。默认情况下为4秒。当我将其更改为10秒或更长时间时,出现以下错误
回溯(最近通话最近): 文件“ C:/ Users / xyx / Downloads / Desktop / python STT / main.py”,第41行,在 文字= RecognizeSpeech('myspeech.wav',15) 在RecognizeSpeech中的文件“ C:/ Users / xyx / Downloads / Desktop / python STT / main.py”第34行 文字=数据['_text'] KeyError:“ _ text”
感谢任何帮助。谢谢。
我的python代码如下:-
import requests
import json
from Recorder import record_audio, read_audio
# Wit speech API endpoint
API_ENDPOINT = 'https://api.wit.ai/speech'
# Wit.ai api access token
wit_access_token = 'MY WIT.AI KEY'
def RecognizeSpeech(AUDIO_FILENAME, num_seconds = 5):
# record audio of specified length in specified audio file
record_audio(num_seconds, AUDIO_FILENAME)
# reading audio
audio = read_audio(AUDIO_FILENAME)
# defining headers for HTTP request
headers = {'authorization': 'Bearer ' + wit_access_token,
'Content-Type': 'audio/wav'}
# making an HTTP post request
resp = requests.post(API_ENDPOINT, headers = headers,
data = audio)
# converting response content to JSON format
data = json.loads(resp.content)
# get text from data
text = data['_text']
# return the text
return text
if __name__ == "__main__":
text = RecognizeSpeech('myspeech.wav', 15)
print("\nYou said: {}".format(text))
答案 0 :(得分:0)
这是wit.ai API的限制。使用与Google不同的API,它们有一个不错的流版本,可以提供快速响应并可以处理更长的输入。