diff --git a/README.md b/README.md index 553b4ec..d432353 100644 --- a/README.md +++ b/README.md @@ -171,7 +171,7 @@ Starting a new session does not clear samples. Use the clear buttons in `Samples For each new wake-trigger clip sent to the trainer: -1. Faster Whisper transcribes the audio locally. +1. The selected local STT engine transcribes the audio. 2. If the transcript contains the configured wake phrase, the clip stays in `Captured Audio` for manual review by default. 3. If speech was transcribed but the wake phrase is absent, the clip moves to `/data/negative_samples/` as an auto-reviewed hard negative. 4. Empty transcripts, VAD-blocked captures, and captures for another wake word stay out of the automatic negative path. @@ -183,7 +183,7 @@ Two optional cleanup rules are available: A close miss with an empty transcript or without the configured phrase stays in `Captured Audio`; it is never turned into a negative automatically. Saving Auto Training settings also scans existing eligible captures. Enabling close-miss promotion reviews previous unreviewed close misses, while enabling cleanup removes previously confirmed good wakes without transcribing them a second time. -The default `small.en` model uses CUDA with `float16` when CTranslate2 can see an NVIDIA GPU, and falls back to CPU with `int8`. Choose a multilingual Faster Whisper model such as `small` when the wake phrase is not English. Downloaded STT models are cached in `/data/auto_train_models/`. +Auto Training exposes only an engine selector. Faster Whisper is the recommended default and uses CUDA with `float16` when CTranslate2 can see an NVIDIA GPU, with a CPU `int8` fallback. The trainer manages `small.en` for English and `small` for other languages. Parakeet ONNX uses the managed INT8 `nemo-parakeet-tdt-0.6b-v3` model with CUDA and CPU fallback. Downloaded STT models are cached in `/data/auto_train_models/`. Scheduled training runs only after the configured number of new automatic negatives has accumulated. A successful run securely publishes the trained wake-word name and JSON URL to the linked Tater instance. Tater saves it as the global satellite wake word and pushes the updated setting to every connected satellite, so no satellite firmware change is required. diff --git a/VERSION b/VERSION index 98d9bcb..3c03207 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -17 +18 diff --git a/WHATS_NEW.md b/WHATS_NEW.md index ebf2aa8..cde4096 100644 --- a/WHATS_NEW.md +++ b/WHATS_NEW.md @@ -1,2 +1,3 @@ -- Fixed the training-status endpoint crashing after a training log was created because its log-tail limits were missing. -- Restored bounded, incremental training-log updates so the UI can continue showing live progress without repeatedly reading the entire log. +- Added Parakeet ONNX as a second local Auto Training STT engine alongside Faster Whisper. +- Replaced manual model, device, and compute fields with a simple engine selector and managed language-aware models. +- Added CUDA-enabled ONNX Runtime with CPU fallback, runtime reporting, and model-cache cleanup when switching engines. diff --git a/run.sh b/run.sh index 53ef07f..1d61a41 100644 --- a/run.sh +++ b/run.sh @@ -33,8 +33,11 @@ install_ui_deps() { "silero-vad>=5.0.0" \ "numpy>=1.24.0" \ "faster-whisper>=1.0.0" \ + "onnx-asr[hub]>=0.12.0" \ "nvidia-cublas-cu12" \ "nvidia-cudnn-cu12==9.*" + ${PIP} uninstall -y onnxruntime + ${PIP} install "onnxruntime-gpu[cuda,cudnn]<1.27" } # ----------------------------- @@ -82,11 +85,13 @@ minimum = { "silero-vad": "5.0.0", "numpy": "1.24.0", "faster-whisper": "1.0.0", + "onnx-asr": "0.12.0", "nvidia-cudnn-cu12": "9.0.0", } present = ( "torch", "nvidia-cublas-cu12", + "onnxruntime-gpu", ) for package, expected in exact.items(): @@ -97,6 +102,10 @@ for package, minimum_version in minimum.items(): raise SystemExit(1) for package in present: md.version(package) + +import onnxruntime as ort +if "CUDAExecutionProvider" not in ort.get_available_providers(): + raise SystemExit(1) PY then echo "UI dependencies missing or stale; installing recorder dependencies" diff --git a/static/index.html b/static/index.html index fb69d6d..d6c08e4 100644 --- a/static/index.html +++ b/static/index.html @@ -1348,7 +1348,7 @@ - -