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)