import streamlit as st import speech_recognition as sr import os # Функция для распознавания речи из загруженного файла def recognize_speech_from_file(file, language="en-US"): recognizer = sr.Recognizer() # Читаем аудио-файл with sr.AudioFile(file) as source: audio = recognizer.record(source) # Загружаем запись try: # Распознаём речь text = recognizer.recognize_google(audio, language=language) return text except sr.UnknownValueError: return "❌ Не удалось распознать речь. Попробуйте снова." except sr.RequestError as e: return f"❌ Ошибка сервиса распознавания речи: {e}" # Интерфейс Streamlit st.title("🎙️ Веб-диктофон и распознавание речи") st.write("Запишите звук прямо в браузере, загрузите его и распознайте текст.") # Выбор языка для распознавания language = st.radio("Выберите язык для распознавания:", ("Русский", "Английский")) language_code = "ru-RU" if language == "Русский" else "en-US" # HTML и JavaScript для записи звука st.markdown("""
Нажмите "Start Recording", чтобы начать запись, и "Stop Recording", чтобы завершить.
Внимание: После завершения записи появится кнопка для сохранения аудио.
""", unsafe_allow_html=True) # Загрузка записанного файла uploaded_file = st.file_uploader("Загрузите записанный аудиофайл для распознавания:", type=["wav"]) if uploaded_file is not None: st.audio(uploaded_file, format="audio/wav") # Воспроизведение загруженного файла st.write("🔍 Распознаём текст из аудиофайла...") recognized_text = recognize_speech_from_file(uploaded_file, language=language_code) st.write("### Распознанный текст:") st.write(recognized_text)