演讲文本沃森中断沉默

时间:2016-09-26 21:54:47

标签: python speech-to-text watson

我们正在使用API​​ Sessionless和python,我们已经将'continue:True'参数设置为:

def make_completed_audio_request(url,API_name = None,language = None,time = None):

username, password, endpoint, lan=select_voice_api(name=API_name, language=language)
audio = get_complete_audio(url, api_name=API_name, time=time)
endpoint=get_post_endpoint(url=endpoint, api_name=API_name)
if audio:
    list_audio=get_speakers_by_audio(audio[1].name)
    headers={'content-type': audio[2]}
    params = {'model': lan,
      'continuous':True,
              'timestamps': True}
    if language and (API_name == 'watson' or API_name == 'WATSON'):
        print 'enviando request'
        response = requests.post(url=endpoint, auth=(username, password), 
            params=params, data=audio[1], headers=headers)
        print 'cladificando error'
        error_clasifier(code=response.status_code)
    else:
        response = requests.post(url=endpoint, auth=(username, password), 
            params=params, data=audio[1], headers=headers)
        error_clasifier(code=response.status_code)
    if response:
    return response, list_audio, True, None
else:
    return None, None, False, None

但它仍然不起作用,它在它发现的第一个沉默中削减了转录

我做错了什么?是否有另一种方式将其发送到API?

1 个答案:

答案 0 :(得分:0)

我正在使用watson_developer_cloud API。它易于使用,更重要的是 - 它的工作原理。这是代码示例:

import json

from os.path import join, dirname

from watson_developer_cloud import SpeechToTextV1

speech_to_text = SpeechToTextV1(
    username="yourusername",
    password="yourpassword",
    x_watson_learning_opt_out=False)

with open(join(dirname(__file__), 'test.wav'), 'rb') as audio_file:

    data = json.dumps(speech_to_text.recognize(audio_file, content_type='audio/wav',  word_confidence=True, continuous=True, word_alternatives_threshold=0, max_alternatives=10))