ViolaWake documentation
Start here if you want to use the SDK rather than the marketing site.
Quickstart
pip install "violawake[oww]"
from violawake_sdk import WakeDetector
with WakeDetector(model="temporal_cnn", threshold=0.80) as detector:
for chunk in detector.stream_mic():
if detector.detect(chunk):
print("Wake word detected")
break
Important SDK facts
- The canonical package import is "violawake_sdk".
- Wake detection requires the OpenWakeWord runtime backbone. Install the "oww" extra unless your environment already provides it.
- The default wake head is a TemporalCNN ONNX model.
- Detection runs locally on device.
- The SDK includes wake detection, async detection, VAD, optional STT/TTS paths, confidence helpers, power management, and model discovery.
Primary references
- GitHub README
- API docs
- Python package quickstart
- Training CLI reference
- Web Console README
- SDK __init__.py public API
Training custom wake words
Use the Console if you want a browser workflow. Use the CLI if you want local control:
violawake-train --word "jarvis" --positives samples/jarvis --output models/jarvis.onnx
For production, collect more than the minimum. Include multiple speakers, microphones, rooms, and hard negatives.
Evaluation tools
ViolaWake documents EER, FAR, FRR, ROC AUC, d-prime, and streaming false alarms per hour. Run evaluation on your own target audio before product deployment.