Image / app.py
Dmtlant's picture
Update app.py
97148d9 verified
raw
history blame
1.53 kB
import streamlit as st
import sounddevice as sd
from scipy.io.wavfile import write
import time
# Настройки диктофона
SAMPLE_RATE = 44100 # Частота дискретизации
CHANNELS = 2 # Количество каналов (стерео)
# Функция для записи аудио
def record_audio(filename):
# Запись аудио
recording = sd.rec(frames=None, samplerate=SAMPLE_RATE, channels=CHANNELS)
st.write("Идет запись...")
# Ожидание окончания записи
while True:
time.sleep(0.1)
if st.button("Остановить запись", key=f"stop_{filename}"):
break
sd.stop() # Остановка записи
st.write("Запись завершена.")
# Сохранение записи в файл
write(filename, SAMPLE_RATE, recording)
st.write(f"Файл '{filename}' сохранен.")
# Пользовательский интерфейс Streamlit
st.title("Диктофон")
if st.button("Начать запись"):
# Генерация уникального имени файла
filename = f"recording_{int(time.time())}.wav"
record_audio(filename)
# Воспроизведение записи
st.audio(filename)
# Отображение списка сохраненных записей
st.subheader("Сохраненные записи:")
for filename in st.session_state.get("recordings", []):
st.audio(filename)