File size: 1,525 Bytes
ccabf63 97148d9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
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) |