|
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}' сохранен.") |
|
|
|
|
|
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) |