Lumbridge Voice

Gated · opens on November 13, 2026

Lumbridge Voice Speech to text on your own machines.

Lumbridge Voice turns audio into words. An HTTP front sits in front of an open speech-recognition model running on your own GPU box, and clients send it recordings: a macOS app that dictates while you hold a key, the phone app, or any script with curl. It is for teams that want dictation and meeting transcripts without sending audio to someone else’s service.

Lumbridge Voice
A terminal where lumbridge-voice add stores three terms, lumbridge-voice fix maps two misheard phrases to their correct spelling, and lumbridge-voice vocab prints the listA terminal where lumbridge-voice add stores three terms, lumbridge-voice fix maps two misheard phrases to their correct spelling, and lumbridge-voice vocab prints the list
Teach it your names: add terms, fix a word it mishears, print the vocabulary.Open full sizeOpen full size

Tour

See Voice at work.

Vocabulary

Teach it your names.

Add terms, fix a word it mishears, then print the list. Shown in both themes.

Light
A finished lumbridge-voice session with three added terms, two fixes and the vocabulary printed
Dark
A finished lumbridge-voice session with three added terms, two fixes and the vocabulary printed
FIG. 1 — From a held key to text at the cursor

01 · What it does

What Voice does today.

Hold-a-key dictation on macOS

Hold right Option to talk, or tap it for hands-free. The app records, asks the front for the words and pastes them into the app you are in. A small pill on screen shows what it is doing.

Transcription and translation

POST a file to /v1/audio/transcriptions and get JSON, plain text, or verbose JSON with a start and end time for every word. /v1/audio/translations returns the speech in another language.

Who said what

Add diarization=true and each word carries a speaker number. The front finds the speaker turns, cuts the recording at them and transcribes each turn on its own. /v1/audio/diarizations returns the turns alone.

Custom vocabulary

Tell it your names once: lumbridge-voice add spells a term the same way every time, and fix replaces a word it keeps mishearing. The list travels with each dictation as instructions to the model.

Live streaming

A second service takes raw audio over a WebSocket at /v1/stream and sends back partial and final text as you speak. It ends an utterance on trailing silence and boosts the words listed in a vocabulary file.

Still works when the server is away

The Mac app tries the dictation route, then the plain transcription route. If the GPU box cannot be reached at all, it uses the recognizer built into macOS, set to on-device only.

02 · How it works

A front, a model and clients

The front holds no model. It speaks a stable HTTP API to callers and one adapter to whatever speech model sits behind it.

  1. 2.1

    The front

    One HTTP service with readiness, transcription, diarization, translation and dictation routes. The front in service today is Python. A Rust front with the same API is in the repo, tested against recorded answers of the Python one, with the model behind a Transcriber trait and a mock adapter for trying it without a GPU.

  2. 2.2

    The model servers

    The transcription model runs on vLLM on loopback, so only the front can call it. The streaming service loads a smaller model in its own process. Both are started by launch scripts and service units kept in the repo.

  3. 2.3

    The Mac app

    A Swift menu-bar app. It watches the key, records 16 kHz audio, cuts it into phrases, sends each to the front with your vocabulary, applies your fixes and pastes. It keeps a local history of recent dictations.

  4. 2.4

    The command

    lumbridge-voice on the Mac shows status and recent dictations, edits the vocabulary, and runs a nightly learn step that proposes new terms from what you dictated.

03 · Use it

Transcribe a file, then teach it your words

Any HTTP client can call the front. The lumbridge-voice command on the Mac manages the dictation vocabulary.

The front’s routes from a shell, then the vocabulary commands on the Mac.
# is the front up and the model ready?
curl http://gpu-box:8806/ready

# a meeting recording, with word times and speakers
curl http://gpu-box:8806/v1/audio/transcriptions \
  -F file=@meeting.wav -F response_format=verbose_json -F diarization=true

# speech in another language, written in English
curl http://gpu-box:8806/v1/audio/translations -F file=@call.wav -F language=English

# on the Mac: vocabulary and recent dictations
lumbridge-voice add Lumbridge
lumbridge-voice fix "lum bridge" Lumbridge
lumbridge-voice last 5

04 · Docs

The Voice manual.

These pages are in the repository and open with it. Until then, the Guide covers the same ground and is readable now.

  1. 01

    HTTP API

    Every route of the front, its fields, responses and errors, with real answers from a running service.

  2. 02

    Streaming protocol

    The WebSocket at /v1/stream: options, the messages in each direction, endpointing and word boosting.

  3. 03

    The Mac app

    Keys, the pill, the settings file, building and installing, and the three background agents it runs.

  4. 04

    Settings

    The front’s TOML file and environment variables: listen address, adapter, upload limit, model address.

  5. 05

    Verbatim and clean wording

    Why verbatim is the default instruction, with the measurements on repeated digits that decided it.

  6. 06

    The Rust front

    The adapter trait, the mock model, and the listed places where it answers differently from the Python front.

  7. 07

    Evaluation

    The openly licensed test corpus, how to rebuild it, and the scripts that measure word errors after a change.

Read the Guide chapter: VoiceRequest access to the repository

05 · Works with

One part of one system.

Not yet

  • A dictation client for Linux or Windows. The hold-a-key app is macOS only.
  • Authentication on the front. It has none, so keep it on a network you trust.
  • Streaming on the main front. A request with stream set is answered in one piece.
  • A signed download of the Mac app. Today you build it from source.
FIG. 2 — Where Voice sits in Lumbridge

Questions

Questions about Voice.

Does my audio leave my machines?

No. The front calls only the model server you run, and the Mac app’s fallback is the macOS recognizer with on-device recognition required. Nothing in the repo calls an outside speech service.

Is audio stored on the server?

The front stores nothing. The streaming service has an optional capture mode that keeps audio and transcripts for 30 days so you can review mistakes. It is off unless you turn it on, and it records only the callers you list.

Which platforms does it run on?

The front and the model servers run on Linux with a GPU. The dictation app is for macOS. Anything that can send an HTTP request can transcribe, so the phone app and scripts on any system are clients too.

How fast is it?

That depends on your GPU and the model you run, so we do not quote a figure here. Dictation sends short phrases, so text arrives phrase by phrase rather than after a long recording. The same audio can come back with a word heard differently between runs.

What is the license, and can I run another model?

Apache-2.0. The repository opens on November 13, 2026. In the Rust front the model sits behind one trait, so a different speech model is a new adapter and the API stays the same.

Want Voice running for your team?

Self-host it, or talk to us about setting it up with you.