Files
smart-home-tablet/package.json
Cosmo 522d36d1a2
All checks were successful
Deploy / deploy (push) Successful in 6m33s
feat(voice): wake-word «Космо» в браузере (Шаг 3)
openWakeWord pipeline на onnxruntime-web прямо на планшете. Цепочка:
mic (16kHz, AudioWorklet) → melspectrogram.onnx → embedding_model.onnx
(sliding 76-frame window, stride 8) → cosmo.onnx → score 0..1.

Триггер при score≥0.5 → запускается тот же VAD-flow что и push-to-talk.

- public/wake/ — cosmo.onnx (custom-trained на голос Даниила) +
  melspectrogram.onnx + embedding_model.onnx (~2.9MB вместе).
- lib/wake-word.ts — WakeWordDetector class. ort грузится через
  <script src=/vad/ort.wasm.min.js> на клиенте — обход проблемы next-swc
  с парсингом import.meta.url в onnxruntime-web .mjs билдах.
- VoiceController: тап = активация (нужен для AudioContext user-gesture),
  далее непрерывное слушание wake-word; на детект → MicVAD флоу.
  Долгий тап = выкл. Ручной тап остаётся как fallback.

После деплоя Python-агент на .103 не нужен — можно архивировать
home-voice-assistant. На .103 остаётся только ElevenLabs прокси :8888.
2026-04-27 09:43:53 +00:00

37 lines
849 B
JSON

{
"name": "smart-home-tablet",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start -p 3000",
"lint": "next lint"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.65.0",
"@ricky0123/vad-web": "^0.0.30",
"clsx": "^2.1.1",
"framer-motion": "^11.1.7",
"googleapis": "^171.4.0",
"groq-sdk": "^0.36.0",
"https-proxy-agent": "^7.0.6",
"lucide-react": "^0.376.0",
"next": "14.2.3",
"onnxruntime-web": "^1.24.3",
"react": "^18",
"react-dom": "^18",
"undici": "^7.16.0"
},
"devDependencies": {
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"autoprefixer": "^10.0.1",
"null-loader": "^4.0.1",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"typescript": "^5"
}
}