Dmtlant commited on
Commit
bb122a6
·
verified ·
1 Parent(s): af20c67

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -22
app.py CHANGED
@@ -1,28 +1,37 @@
1
  import streamlit as st
2
- import sounddevice as sd
3
- from scipy.io.wavfile import write
4
- import numpy as np
5
 
6
- # Интерфейс приложения
7
- st.title("🎙️ Простой диктофон")
8
- st.write("Запишите свой голос, прослушайте его и сохраните в формате WAV.")
9
 
10
- # Настройки записи
11
- samplerate = 44100 # Частота дискретизации
12
- duration = st.slider("Длительность записи (секунды):", 1, 60, 5) # Ползунок для выбора длины записи
13
- filename = "recorded_audio.wav" # Имя файла для сохранения
 
 
 
14
 
15
- # Кнопка для начала записи
16
- if st.button("Начать запись"):
17
- st.write("🎙️ Идёт запись...")
18
- # Запись аудио
19
- audio = sd.rec(int(samplerate * duration), samplerate=samplerate, channels=2, dtype='int16')
20
- sd.wait() # Ожидание завершения записи
21
- st.write("✅ Запись завершена!")
 
22
 
23
- # Сохранение аудиофайла
24
- write(filename, samplerate, audio)
25
- st.write(f"📁 Аудиофайл сохранён: {filename}")
26
 
27
- # Показ плеера для воспроизведения
28
- st.audio(filename, format="audio/wav")
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
+ import speech_recognition as sr
 
 
3
 
4
+ # Функция для записи и распознавания речи
5
+ def record_and_recognize(language="en-US"):
6
+ recognizer = sr.Recognizer()
7
 
8
+ # Используем микрофон как источник
9
+ with sr.Microphone() as source:
10
+ st.write("🎙️ Говорите, запись началась...")
11
+ try:
12
+ # Захват аудио
13
+ audio = recognizer.listen(source, timeout=5)
14
+ st.write("✅ Запись завершена! Распознаем текст...")
15
 
16
+ # Распознавание речи
17
+ text = recognizer.recognize_google(audio, language=language)
18
+ return text
19
+
20
+ except sr.UnknownValueError:
21
+ return "❌ Не удалось распознать речь. Попробуйте снова."
22
+ except sr.RequestError as e:
23
+ return f"❌ Ошибка сервиса распознавания речи: {e}"
24
 
25
+ # Интерфейс Streamlit
26
+ st.title("🎙️ Диктофон и Распознавание Речи")
27
+ st.write("Это приложение позволяет записывать вашу речь и распознавать её на русском или английском языке.")
28
 
29
+ # Выбор языка
30
+ language = st.radio("Выберите язык для распознавания:", ("Русский", "Английский"))
31
+ language_code = "ru-RU" if language == "Русский" else "en-US"
32
+
33
+ # Кнопка для начала записи
34
+ if st.button("Начать запись"):
35
+ recognized_text = record_and_recognize(language=language_code)
36
+ st.write("### Распознанный текст:")
37
+ st.write(recognized_text)