Dmtlant commited on
Commit
c2387e7
1 Parent(s): fd51904

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -44
app.py CHANGED
@@ -1,47 +1,15 @@
1
- import streamlit as st
2
- import pyaudio
3
- import wave
4
 
5
- # Параметры записи
6
- FORMAT = pyaudio.paInt16
7
- CHANNELS = 2
8
- RATE = 44100
9
- CHUNK = 1024
10
 
11
- # Функция записи
12
- def record_audio(duration, output_file="output.wav"):
13
- audio = pyaudio.PyAudio()
14
- stream = audio.open(format=FORMAT, channels=CHANNELS,
15
- rate=RATE, input=True,
16
- frames_per_buffer=CHUNK)
17
- st.write("🎙️ Запись...")
18
- frames = []
19
 
20
- for _ in range(0, int(RATE / CHUNK * duration)):
21
- data = stream.read(CHUNK)
22
- frames.append(data)
23
-
24
- st.write("✅ Запись завершена!")
25
-
26
- # Остановка записи
27
- stream.stop_stream()
28
- stream.close()
29
- audio.terminate()
30
-
31
- # Сохранение файла
32
- with wave.open(output_file, 'wb') as wf:
33
- wf.setnchannels(CHANNELS)
34
- wf.setsampwidth(audio.get_sample_size(FORMAT))
35
- wf.setframerate(RATE)
36
- wf.writeframes(b''.join(frames))
37
-
38
- return output_file
39
-
40
- # Streamlit интерфейс
41
- st.title("🎙️ Простой диктофон на PyAudio")
42
- duration = st.slider("Длительность записи (секунды)", 1, 60, 5)
43
-
44
- if st.button("Начать запись"):
45
- output_file = record_audio(duration)
46
- st.audio(output_file, format="audio/wav")
47
- st.success(f"Файл сохранён: {output_file}")
 
1
+ from scipy.io.wavfile import write
2
+ import sounddevice as sd
 
3
 
4
+ samplerate = 44100 # Частота дискретизации
5
+ duration = 5 # Длительность записи
6
+ filename = "output.wav" # Имя файла
 
 
7
 
8
+ print("🎙️ Начинаем запись...")
9
+ audio = sd.rec(int(samplerate * duration), samplerate=samplerate, channels=2, dtype='int16')
10
+ sd.wait() # Ждём окончания записи
11
+ print("✅ Запись завершена!")
 
 
 
 
12
 
13
+ # Сохраняем в WAV-файл
14
+ write(filename, samplerate, audio)
15
+ print(f"Файл сохранён: {filename}")