У меня есть следующий скрипт, который работает при работе в терминале:Можно ли использовать Python SpeechRecognition на Django?
Все это означает, что речь идет об обращении микрофона к тексту.
import speech_recognition as sr
# obtain audio from microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
try:
# for testing purposes, we're just using the default API key
# to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
# instead of `r.recognize_google(audio)`
print("Google Speech Recognition thinks you said " + r.recognize_google(audio))
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
except sr.RequestError as e:
print("Could not request results from Google Speech Recognition service; {0}".format(e))
Возможно ли иметь эту работу на Django после нажатия кнопки? Что-то вроде:
Вид:
import speech_recognition as sr
# Create your views here.
def index(request):
return render(request, 'app/index.html')
def text(request):
r = sr.Recognizer()
with sr.Microphone() as source:
#print("Say something!")
audio = r.listen(source)
try:
# for testing purposes, we're just using the default API key
# to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
# instead of `r.recognize_google(audio)`
speech = r.recognize_google(audio)
except sr.UnknownValueError:
speech = "Google Speech Recognition could not understand audio"
except sr.RequestError as e:
speech = "Could not request results from Google Speech Recognition service; {0}".format(e)
return render(request, 'app/text', {'speech': speech})
Шаблон:
<form action="/text/" method="post">
<input type="button" value="Start listening" />
</form>
Возможно ли это? Я близка или совсем нет?
Если Django работает на той же машине, которая загружает веб-форму, тогда она может работать (хотя, конечно, не так, как это нужно делать). Если, с другой стороны, вы хотите предложить пользователям использовать ваш бэкэнд Django для пересылки данных в API Google, нет - вам нужно собрать аудио на стороне клиента. – zwer