Установить время записи для API речи wit.ai - PullRequest
0 голосов
/ 31 марта 2019

Я работал с распознаванием речи в Python 3.7.3. В качестве основы я использовал пример кода с использованием Wit.ai, который я получил в Интернете. Моя проблема в том, что я не могу увеличить время записи. По умолчанию это 4 с. Когда я изменяю это на 10 секунд или больше, я получаю ошибку ниже

Traceback (последний вызов был последним): Файл "C: / Users / xyx / Downloads / Desktop / python STT / main.py", строка 41, в text = RecognizeSpeech ('myspeech.wav', 15) Файл "C: / Users / xyx / Downloads / Desktop / python STT / main.py", строка 34, в RecognizeSpeech текст = данные ['_ текст'] 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))

1 Ответ

0 голосов
/ 31 марта 2019

Это ограничение API-интерфейса wit.ai. Используйте другой API, такой как у Google, у них хорошая потоковая версия, которая обеспечивает быстрый отклик и может обрабатывать более длинные входные данные.

...