Knightingale · a field guide to dictation
Plate I · The Specimen
rec. 06.vi.2026 · 04:12 · dawn chorus · RTF 0.4 spec. № v0.1.0 · MIT

Knightingale

Luscinia megarhynchos · fam. Muscicapidae · ord. Dictation Daemons

Voice dictation that minds its own business.

View source
Plate II · Acquisition
habitat: linux · windows · macos

One command. No clone, no compile.

Prebuilt binaries for every habitat. Checksums signed with sigstore. The daemon weighs 15–30 MB and sleeps at 10–40 MB resident.

curl -fsSL https://shatilkhan.github.io/knightingale/install.sh | sh
cargo install knightingale
brew install ShatilKhan/tap/knightingale
scoop install https://raw.githubusercontent.com/ShatilKhan/knightingale/main/packaging/scoop/knightingale.json
field recordertty
$
Plate III · Taxonomy of Providers
one http shape · /v1/audio/transcriptions

Nine species, one genus.

Pick a cloud or stay local — swap providers by editing one variable.

i.

Bring your own key

Groq, OpenAI, Deepinfra, Fireworks, Lemonfox, SambaNova, Azure — or any self-hosted OpenAI-compatible server.

ii.

Or run it on-device

whisper.cpp via whisper-rs; vulkan, cuda, and metal flags. tiny.en is real-time on CPU.

iii.

Smart defaults

knightingale model recommend reads your CPU, RAM, GPU and names the right checkpoint for the machine it's on.

ProviderDefault model
01groq type sp.whisper-large-v3-turbo
02openaiwhisper-1
03deepinfrawhisper-large-v3-turbo
04fireworkswhisper-v3-turbo
05lemonfoxwhisper-1
06sambanovaWhisper-Large-v3
07azureper deployment
08customself-hosted
09localwhisper.cpp on-device
Plate IV · The Collector's Oath

No telemetry of any kind. No metrics, no analytics, no phone-home. Audio is sent only to the endpoint you configured, with your key, and nowhere else.

— sworn in the source; grep it for reqwest and count one client.

© Shatil Khan · MIT licensed · set in Fraunces & EB Garamond · no birds were digitised without affection