Edit code for success run

This commit is contained in:
2026-04-12 21:58:40 +03:00
parent 128cc70ab9
commit 0a89bf5105
8 changed files with 111 additions and 101 deletions

48
record_wav.py Normal file
View File

@@ -0,0 +1,48 @@
import sounddevice as sd
import scipy.io.wavfile as wav
import os
import sys
# 1. Проверка аргументов командной строки
if len(sys.argv) < 3:
print("Использование: python record.py <имя_модели> <positive/negative>")
print("Пример: python record.py cosmo positive")
sys.exit(1)
MODEL_NAME = sys.argv[1]
MODE = sys.argv[2]
BASE_DIR = os.path.join("data", "wakewords", MODEL_NAME, MODE)
# Создаем папку, если ее нет
if not os.path.exists(BASE_DIR):
os.makedirs(BASE_DIR)
def get_next_filename(directory):
files = [f for f in os.listdir(directory) if f.endswith('.wav')]
return f"{len(files) + 1:03d}.wav"
def record_sample():
filename = get_next_filename(BASE_DIR)
filepath = os.path.join(BASE_DIR, filename)
sample_rate = 16000
duration = 2
print(f"\n[!] Файл {filename} готов к записи.")
input("Нажмите Enter, чтобы начать запись (2 секунды)...")
print("Запись...")
recording = sd.rec(int(duration * sample_rate), samplerate=sample_rate, channels=1)
sd.wait()
wav.write(filepath, sample_rate, recording)
print(f"Сохранено в: {filepath}")
# 2. Основной цикл записи
print(f"--- Режим записи: {MODEL_NAME} / {MODE} ---")
print("Для выхода нажмите Ctrl+C")
try:
while True:
record_sample()
except KeyboardInterrupt:
print("\nЗапись завершена.")