Я пытаюсь запустить 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");