|
import streamlit as st |
|
import speech_recognition as sr |
|
|
|
|
|
def record_and_recognize(language="en-US"): |
|
recognizer = sr.Recognizer() |
|
|
|
|
|
with sr.Microphone() as source: |
|
st.write("🎙️ Говорите, запись началась...") |
|
try: |
|
|
|
audio = recognizer.listen(source, timeout=5) |
|
st.write("✅ Запись завершена! Распознаем текст...") |
|
|
|
|
|
text = recognizer.recognize_google(audio, language=language) |
|
return text |
|
|
|
except sr.UnknownValueError: |
|
return "❌ Не удалось распознать речь. Попробуйте снова." |
|
except sr.RequestError as e: |
|
return f"❌ Ошибка сервиса распознавания речи: {e}" |
|
|
|
|
|
st.title("🎙️ Диктофон и Распознавание Речи") |
|
st.write("Это приложение позволяет записывать вашу речь и распознавать её на русском или английском языке.") |
|
|
|
|
|
language = st.radio("Выберите язык для распознавания:", ("Русский", "Английский")) |
|
language_code = "ru-RU" if language == "Русский" else "en-US" |
|
|
|
|
|
if st.button("Начать запись"): |
|
recognized_text = record_and_recognize(language=language_code) |
|
st.write("### Распознанный текст:") |
|
st.write(recognized_text) |