Commit Graph

137 Commits

Author SHA1 Message Date
joopd
d5dcfbf5f1 feat: add --language flag for non-English TTS voices (Dutch support)
- Add LANGUAGE default (en) to shell.functions
- setup_python_venv downloads Dutch ONNX voices (pim, ronnie, nathalie)
- wake_word_sample_generator uses multiple --model flags for single-speaker
  voices, cycling between them for variety
- train_wake_word accepts and passes --language through the pipeline
- recorder_server.py accepts language in session API
- Web UI adds language dropdown (English/Dutch)
2026-02-25 09:57:46 +01:00
MasterPhooey
747822e856 wsl2 fix 2026-02-01 08:45:12 -06:00
Tater Totterson
f66bf8d76a Update section headers in README.md 2026-01-24 10:37:58 -06:00
Tater Totterson
2222effc6c Update Docker run command in README 2026-01-23 18:52:55 -06:00
Tater Totterson
12b43b610c Update README with Docker instructions and logo
Added Docker image pull instructions and logo to README.
2026-01-22 20:19:09 -06:00
Tater Totterson
407e2d9351 Fix typo in installation instructions 2026-01-22 20:15:59 -06:00
Tater Totterson
8f9d290baf Add Docker image pull instructions to README
Updated README to include Docker image instructions and installation details.
2026-01-22 20:14:09 -06:00
Tater Totterson
49a523d0f6 Add files via upload 2026-01-22 19:36:51 -06:00
MasterPhooey
8ad4b19bc7 debloat 2026-01-21 09:09:06 -06:00
MasterPhooey
98a087c87d fixes 2026-01-21 06:14:32 -06:00
MasterPhooey
423bbd15f5 tweaks 2026-01-21 06:03:57 -06:00
Tater Totterson
cc05f94392 Merge pull request #23 from TaterTotterson/codex/fix-training-errors-with-venv-setup
Improve CUDA/XLA setup and CPU fallback
2026-01-20 20:48:50 -06:00
Tater Totterson
8669ccdfd4 Improve CUDA/XLA setup and CPU fallback 2026-01-20 20:47:58 -06:00
Tater Totterson
e72773f0ef Update README with training behavior section 2026-01-18 08:41:40 -06:00
Tater Totterson
b6f05a6a02 Enhance README with recording flow steps
Added detailed recording flow instructions to README.
2026-01-18 08:40:43 -06:00
Tater Totterson
8ec4c20512 Replace old screenshot with updated image
Updated the image in the README to a new screenshot.
2026-01-18 08:16:04 -06:00
Tater Totterson
0b4727af8b Update README with improved formatting and visuals 2026-01-18 08:14:59 -06:00
Tater Totterson
b7487ffbd7 Enhance README with a screenshot
Added a screenshot to the README for better visualization.
2026-01-18 08:14:06 -06:00
Tater Totterson
4ce9c23b0f Merge pull request #21 from TaterTotterson/recorder-ui
Recorder UI update
2026-01-18 08:09:10 -06:00
MasterPhooey
6eff5ed0d4 readme update 2026-01-18 08:07:49 -06:00
MasterPhooey
551cda9d24 logging update 2026-01-18 07:45:57 -06:00
MasterPhooey
d5e8d187a1 personal samples 2026-01-17 23:01:50 -06:00
MasterPhooey
2b9aa95903 personal samples 2026-01-17 20:24:43 -06:00
MasterPhooey
6392548333 model name 2026-01-17 18:26:55 -06:00
MasterPhooey
a067ed6976 model name 2026-01-17 18:26:55 -06:00
Tater Totterson
38f9821d30 Delete .DS_Store 2026-01-17 16:25:06 -06:00
MasterPhooey
c52f92d3c9 cli + web recorder ui 2026-01-17 16:23:24 -06:00
Tater Totterson
b57fcd9b05 Delete cli/.DS_Store 2026-01-17 01:26:40 -06:00
MasterPhooey
5bc0f12a7f cli + web recorder ui 2026-01-17 01:23:51 -06:00
Tater Totterson
b700bf095c Merge pull request #18 from gtjoseph/main-cli
Train from the command line
2026-01-16 06:20:05 -06:00
Tater Totterson
a78d959474 Update README.md 2026-01-06 19:42:36 -06:00
MasterPhooey
2f9877c745 Suppress Validation Batch in training 2025-12-31 08:43:09 -06:00
MasterPhooey
3dd305e560 training live streaming 2025-12-31 08:24:59 -06:00
MasterPhooey
e47b6c11c2 training cpu fallback 2025-12-31 07:51:06 -06:00
Tater Totterson
4be423b00b Merge pull request #19 from NickM-27/personal-samples
https://github.com/TaterTotterson/microWakeWord-Trainer-Nvidia-Docker/issues/2
2025-12-28 18:50:05 -06:00
Nicolas Mowen
53d858e403 Add support for personal samples 2025-12-28 13:14:48 -07:00
George Joseph
cb81f7f02d Train from the command line
The files in the `cli` directory allow you to train wake words
from the command line without needing to use the Jupyter notebook
or a web browser.  Basically, the logic from the notebook has been
placed in separate shell scripts and python files wrapped by 3 high-level
scripts that do the following:

* setup_python_venv: Creates a Python virtual environment with all the
packages needed to train.  The venv is created in the container's /data
directory and is therefore stored on the host, not in the container's root
docker volume.

* setup_training_datasets: Downloads, extracts and converts the MIT RIR,
FMA, Audioset and Negative training reference datasets.  Also stored in /data.

* train_wake_word: Generates the wake word samples, augments them with the
audio from the training datasets, and finally runs the microwakeword training.
The resulting model tflite and json files are placed in the /data/output
directory.

See the README.md file for much more information.
2025-12-28 12:48:51 -07:00
Tater Totterson
4dd7503248 Delete .DS_Store 2025-12-22 20:24:59 -06:00
MasterPhooey
f1282bef8e piper speaking speeds 2025-12-22 20:03:18 -06:00
MasterPhooey
1f57796858 Revert "piper speaking speeds"
This reverts commit 1c954eb253.
2025-12-22 19:55:11 -06:00
MasterPhooey
1c954eb253 piper speaking speeds 2025-12-22 19:44:09 -06:00
Tater Totterson
99eaaa39cd Merge pull request #15 from gtjoseph/main-fix-notebook
Update notebook to fix issues with environment inheritance.
2025-12-20 14:26:58 -06:00
George Joseph
dc92dc7d8b Update notebook to fix issues with environment inheritance.
Two issues:

* The notebook cell that actually runs model_train_eval was running it in a
  subprocess so while it inherited environment variables from the running
  python kernel, it couldn't inherit the tensorflow environment from it.
  This resulted in the `set_memory_growth(g, True)` and
  `mixed_precision.set_global_policy("mixed_float16")` calls in the previous
  cell to be lost.

* TFlite doesn't support "mixed_float16" anyway and causes the model export to
  fail spectacularly so it's kind of a good thing it wasn't being applied.

So..

* The tensorflow environment variable and memory_growth setting code was moved
  from the notebook cell that also wrote the config yaml to the next cell
  which does the train and test.  This leaves the "config" cell to just write
  the yaml.  This is really just a cosmetic change to group functionality
  better.

* The code that tried to set "mixed_float16" has been removed but since setting
  memory_growth to true is a good thing, the model_train_eval is now run using
  runpy instead in a subprocess.  This way it's run in the same python kernel
  instance and tensorflow environment as the rest of the notebook and inherits
  the memory_growth setting.

Resolves: #14
2025-12-20 10:22:33 -07:00
Tater Totterson
5487f0869e Merge pull request #13 from gtjoseph/main-switch-base-image
Switch from nvidia/cuda to plain ubuntu:22.05 base image
2025-12-20 07:53:32 -06:00
George Joseph
74b36885b5 Switch from nvidia/cuda to plain ubuntu:22.05 base image
Since this is a pure Python environment, the CUDA toolkit isn't really
necessary. The various Python packages that can use CUDA will download
and install the CUDA dependencies they need.  This shaves off at least
8gb from the final image.

The Python package install order needed to be tweaked to ensure onnxruntime,
tensorflow and torch are installed in that order.  Any other order results
in dependent cuda package clashes.

Resolves: #12
2025-12-19 10:14:26 -07:00
Tater Totterson
7c9c6f7a88 Add files via upload 2025-12-05 07:44:13 -06:00
Tater Totterson
efcf8a4add update 2025-11-02 09:53:03 -06:00
Tater Totterson
a78ccba056 Delete mww_tater directory 2025-11-02 09:52:34 -06:00
Tater Totterson
9ad63fef34 fixes 2025-11-02 05:08:13 -06:00
Tater Totterson
31677fa74b fixes
thanks @ mitrokun
2025-11-02 04:44:24 -06:00