199f762616
- PipeWire/pw-record backend (no PortAudio needed) - tested mic live - VAD: Energy (immediate) + Silero (torch CPU) switchable - Wakeword: openWakeWord TFLite hey_jarvis 0.4 - STT: faster-whisper base int8 CPU - model loads OK on i3 - SpeakerID: ECAPA embeddings + fallback stats, enrollment store - Vision: OpenCV Haar + face_recognition + webcam cam0 640x480 verified - LLM: ollama/qwen2.5:3b, gemini_cli, hermes_api, echo strategies - TTS: Piper + espeak + echo fallbacks - Core pipeline: IDLE -> WAKE -> RECORDING -> STT -> SpeakerID/FaceID fusion -> LLM -> TTS -> followup window - Config via jarvis.yaml, soul.md persona - CLI tools: run, devices, enroll-speaker, enroll-face, test-vad, test-mic - Systemd user service ready - Tested on iMac 2010 i3 550 15GB Ubuntu 26.04 CPU-only
70 lines
1.2 KiB
Plaintext
70 lines
1.2 KiB
Plaintext
audio:
|
|
device: null
|
|
samplerate: 16000
|
|
block_size: 512
|
|
channels: 1
|
|
|
|
vad:
|
|
engine: "silero"
|
|
threshold: 0.5
|
|
min_speech_ms: 250
|
|
min_silence_ms: 800
|
|
|
|
wakeword:
|
|
enabled: true
|
|
models: ["hey_jarvis"]
|
|
threshold: 0.45
|
|
cooldown_sec: 1.0
|
|
pre_roll_sec: 0.8
|
|
allow_followup_without_wake: true
|
|
|
|
stt:
|
|
engine: "faster-whisper"
|
|
model: "base"
|
|
language: "en"
|
|
device: "cpu"
|
|
compute_type: "int8"
|
|
vad_filter: false
|
|
|
|
speaker:
|
|
enabled: true
|
|
enrollment_dir: "data/speakers"
|
|
threshold: 0.60
|
|
embedding_model: "speechbrain/spkrec-ecapa-voxceleb"
|
|
|
|
vision:
|
|
enabled: true
|
|
camera_id: 0
|
|
check_on_wake: true
|
|
continuous_interval_sec: 0
|
|
threshold: 0.55
|
|
enrollment_dir: "data/faces"
|
|
|
|
llm:
|
|
provider: "ollama"
|
|
model: "qwen2.5:3b"
|
|
system_prompt_file: "data/soul.md"
|
|
ollama_host: "http://localhost:11434"
|
|
max_history: 8
|
|
temperature: 0.7
|
|
|
|
conversation:
|
|
followup_timeout_sec: 12
|
|
max_followup_turns: 5
|
|
silence_timeout_sec: 7
|
|
listening_sound: true
|
|
idle_timeout_sec: 0
|
|
|
|
tts:
|
|
engine: "piper"
|
|
voice: "en_US-lessac-medium"
|
|
volume: 0.9
|
|
|
|
logging:
|
|
level: "INFO"
|
|
file: "data/jarvis.log"
|
|
transcription_dir: "data/transcriptions"
|
|
|
|
daemon:
|
|
user_service: true
|