Initial commit: Cosmo voice assistant

Полностью локальный голосовой ассистент на Python.

Стек:
- Wake word: openWakeWord (onnxruntime)
- STT: RealtimeSTT + faster-whisper + Silero VAD (CUDA)
- LLM-агент: smolagents ToolCallingAgent + Ollama qwen2.5:7b
- TTS: Silero V4 (torch.hub) + sounddevice
- Shell: Git Bash (Windows) / bash (macOS)

Поддерживает Windows и macOS. Агент с памятью и tool calling —
находит программы самостоятельно, запоминает пути, выполняет
произвольные shell-команды.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
d.klimov
2026-04-10 15:58:12 +03:00
commit 6010816f1d
23 changed files with 1969 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
#!/bin/bash
set -e
echo "============================================"
echo " Обучение wake word модели 'Hey Cosmo'"
echo "============================================"
CONFIG="/app/cosmo_config.yaml"
OWW="/openWakeWord/openwakeword/train.py"
# Шаг 1: Генерация синтетических аудио примеров через TTS
echo ""
echo "[1/3] Генерирую синтетические примеры через TTS..."
python "$OWW" --training_config "$CONFIG" --generate_clips
echo " Готово."
# Шаг 2: Аугментация (шумы, реверберация, разные условия)
echo ""
echo "[2/3] Аугментирую примеры (шумы, реверберация)..."
python "$OWW" --training_config "$CONFIG" --augment_clips
echo " Готово."
# Шаг 3: Обучение модели
echo ""
echo "[3/3] Обучаю модель..."
python "$OWW" --training_config "$CONFIG" --train_model
echo " Готово."
# Копируем результат
echo ""
echo "============================================"
if ls /output/hey_cosmo*.onnx 1>/dev/null 2>&1; then
echo " Модель обучена успешно!"
echo " Файлы в папке models/:"
ls -lh /output/*.onnx 2>/dev/null || true
ls -lh /output/*.tflite 2>/dev/null || true
else
echo " ОШИБКА: .onnx файл не найден в /output"
echo " Проверь логи выше."
exit 1
fi
echo "============================================"