Hey Yossi: microWakeWord model, v1
A custom "Hey Yossi" wake word for microWakeWord, trained 2026-10-29. It is a streaming, int8-quantised TFLite model of 61 KB. It runs on the device in:
- Android: the Ava satellite app
- ESPHome
micro_wake_word - Home Assistant Voice PE
The openWakeWord version, for the Home Assistant server, the desktop and the Pi, is
danielrosehill/Hey-Yossi-openWakeWord.
This is a first, personal model. It was trained on two voices only, Daniel's (Irish English) and Hannah's, recorded at one laptop desk.
| File | What |
|---|---|
hey_yossi.tflite |
The model. Input [1, 3, 40] int8 (30 ms of 40-band features, 10 ms step); output [1, 1] uint8 |
hey_yossi.json |
The manifest for ESPHome and Ava, in the micro-wake-word-models v2 format |
Settings in hey_yossi.json:
probability_cutoff: 0.97sliding_window_size: 5tensor_arena_size: 30000. This is a margin above the 22,860 that ESPHome's own models of the same architecture use. It was not measured on a device; if ESPHome reports a model-load failure, raise it.
Use
- Ava (Android):
- Put
hey_yossi.tfliteandhey_yossi.jsonin one folder on the phone. - Point Ava's "Custom wake words" setting at that folder, then pick Hey Yossi.
- Ava connects to Home Assistant as an ESPHome device, so "Hey Yossi, turn off the living room AC" runs through your Assist pipeline.
- Put
- ESPHome:
micro_wake_word: models: - model: https://huggingface.co/danielrosehill/Hey-Yossi-microWakeWord/resolve/main/hey_yossi.json
Results (v1)
On held-out real takes (the dataset's test split, never trained on). Each clip was streamed with 1 s of
silence either side, and probabilities were averaged over 5 outputs, as on the device.
| Cutoff | "Hey Yossi" (43) | "Hey Yossi, " (12) | Near-misses fired (20) |
|---|---|---|---|
| 0.90 | 95% | 100% | 15% |
| 0.95 | 95% | 100% | 10% |
| 0.97 | 95% | 100% | 5% |
- Near-misses still firing at 0.97: "Yossi" on its own (0.99). Below 0.97, "Yossi" whispered and "Hey Josie" also fire.
- Missed at 0.97: two of Hannah's three test takes (fast, 0.40; Israeli accent, 0.83).
- Ambient false accepts: microWakeWord's own test on
dinner_party_eval, about 5.3 h of dinner-party conversation, gave 0 false accepts per hour at 0.97 and 0.19/h at 0.88.
Training (lean recipe)
- Positives: 185 real "Hey Yossi" takes from
danielrosehill/Wake-Words, revision90fcadbd906b8cd972b720f027f07a10a482db3f. Each was augmented 50 times with the notebook's augmentation (MIT room impulse responses, AudioSet background noise at -5 to 10 dB SNR, EQ, pitch, distortion, gain). There are no TTS or synthetic voices. - Negatives: 90 real near-miss takes, augmented the same way. Also microWakeWord's precomputed
speech,dinner_partyandno_speechspectrograms (kahrendt/microwakeword), withdinner_party_evalfor the ambient test. - Model: MixedNet with the notebook's defaults: pointwise filters 64,64,64,64; mixconv kernels
[5],[7,11],[9,15],[23]; stride 3. 10,000 steps at lr 0.001, batch 128, negative class weight 20. - Run: microWakeWord commit
4665173, 18.2 min on one Modal T4. - Code:
training/microwakeword/run_mww.shin the private repodanielrosehill/Wake-Words.
Licence: CC BY-NC 4.0. The microWakeWord notebook notes that its augmentation and negative data carry mixed licences, so models trained with them are for non-commercial, personal use.
- Downloads last month
- 10