1. Tell me the phrase
Type it, pick where it has to run, and give me an email. Recording yourself saying it is optional, but then the report is about your voice instead of a synthetic one.
Custom wake words. You type a phrase, I train a tiny model that hears it, you get a zip.
About 100 KiB, about 1% of one CPU core, ships as ONNX, Core ML and PyTorch with a report of how well it actually works. The first one is free.
Three steps. Only the first one is yours.
Type it, pick where it has to run, and give me an email. Recording yourself saying it is optional, but then the report is about your voice instead of a synthetic one.
The phrase gets synthesized across about a thousand voices, a 34k-parameter detector is trained on it, and then its false alarms are hunted down in hours of real speech and noise and trained back out.
ONNX, Core ML, PyTorch weights, a detector you can run on a file or your mic, and a report with the real numbers. Usually the same day.
One zip. No API to call, no per-request billing, nothing phoning home.
<phrase>_e2e.onnx16 kHz audio in, probability out. Runs anywhere onnxruntime does.
<phrase>_classifier.mlpackageCore ML for iOS and macOS. The mel parameters you need are in the README.
<phrase>.ptPyTorch weights, if you want to keep fine-tuning on your own recordings.
REPORT.mdRecall and false accepts per hour, measured on voices and speech the model never trained on.
reference/A Python detector that runs on a wav file or the microphone, plus Apple and browser notes.
LICENSE, ATTRIBUTION.mdMIT on the weights, and every training-data source with its license.
The first one is free because I want to see if this thing is useful to anyone but me.
$0 your first wake word
Any phrase, every format, the full report. No card, no account. One per email address.
$39 per model
More models, revisions trained on your own recordings, priority, other formats on request. Invoiced after delivery. If it doesn’t work for you, don’t pay.
Something bigger? hello@marco.bschoolland.dev
A phrase and an email is genuinely all I need.
Depends on the phrase, which is why every model comes with a report instead of a promise. Two to four syllables works great. One short word is the hard case, and I’ll tell you if yours is.
Usually the same day. Your status page shows exactly where it is.
16 kHz mono float32, a 1.5 second window scored every 160 ms. The reference code has the ring buffer and the refractory period so one “hey” doesn’t fire four times.
Yes. MIT on the weights, attribution file included, no non-commercial training data anywhere in it.
Send me the audio. It gets mined in as a hard negative and the model is retrained. That’s what a Pro revision is.
An agent (BenBot) drives the pipeline on Ben’s home server. Ben reads the reports. If something breaks, a human hears about it.