Запустите API распознавания речи Google через Flask и JS - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь запустить Google Speech Recognition API через Flask и JS. Всякий раз, когда нажимается кнопка (через JS), она вызывает перенаправление страницы, и в колбе я выполняю API. Когда я запускаю код локально, он работает нормально, но после размещения кода я получаю сообщение об ошибке как

GET http://studentspeech.pythonanywhere.com/recognize 500 (ОШИБКА ВНУТРЕННЕГО СЕРВЕРА)

Вот ссылка на размещенный сайт: Речь студента

JS FILE

function microphoneClicked(){
if(!flag){
    if(!micClicked){

        recordingStarted();
        var xhr = new XMLHttpRequest();

        xhr.onreadystatechange = function () {
            if(this.readyState!=4) {
                return;
            }
            recordingEnded();
            if (this.status == 200) {
                recognizedSentence.innerHTML = matchSentence(document.getElementById("Sentence").textContent, this.responseText);
                if(!anyWrong){
                    alert("Well done! You got it.");
                    nextSentence();
                }
            }else{
                alert("Please speak again. Audio cannot be captured.");
            }

        };

        xhr.open('GET', '/recognize', true);
        xhr.send();
    }
}

}

Колб файл

@app.route('/recognize')
def recognize():
    try:
        text = speechRecognizer.recognizeSentence()
        print(text)
        return text;
    except:
        raise Exception

Функция распознавания предложений

import speech_recognition as sr

def recognizeSentence():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        #For better adjustment
        # r.adjust_for_ambient_noise(source, duration=1)
        print("Say something!")
        audio = r.listen(source,phrase_time_limit=5)
try:
    response = r.recognize_google(audio)
    return response
except:
    raise Exception("Audio Not Captured");
...