Marco

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.

How it works

Three steps. Only the first one is yours.

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.

2. I train it

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.

3. You get a zip

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.

What you get

One zip. No API to call, no per-request billing, nothing phoning home.

<phrase>_e2e.onnx

16 kHz audio in, probability out. Runs anywhere onnxruntime does.

<phrase>_classifier.mlpackage

Core ML for iOS and macOS. The mel parameters you need are in the README.

<phrase>.pt

PyTorch weights, if you want to keep fine-tuning on your own recordings.

REPORT.md

Recall 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.md

MIT on the weights, and every training-data source with its license.

Price

The first one is free because I want to see if this thing is useful to anyone but me.

Free

$0 your first wake word

Any phrase, every format, the full report. No card, no account. One per email address.

Pro

$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

Order

A phrase and an email is genuinely all I need.

Two to six words. Two to four syllables works best.

Where the link and the zip go. Nothing else, ever.

Where will it run
Say it a few times optional

Three to ten takes, different tones. I test on them and never train on them unless you ask.

First one on an email is free. After that it’s Pro, $39, invoiced once you say it works.

Questions

How good is it?

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.

How long does it take?

Usually the same day. Your status page shows exactly where it is.

What does the model need?

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.

Can I use it in a product?

Yes. MIT on the weights, attribution file included, no non-commercial training data anywhere in it.

It fires when it shouldn’t.

Send me the audio. It gets mined in as a hard negative and the model is retrained. That’s what a Pro revision is.

Who actually runs this?

An agent (BenBot) drives the pipeline on Ben’s home server. Ben reads the reports. If something breaks, a human hears about it.