Same local network
Set up recognition: models and engines
The program that turns speech into words runs on the computer, not on the phone. The phone only listens and stays connected.
On the official cloud relay, recognition is handled on the cloud side — you do not need this page. What follows is for the same Wi-Fi, when you want hold-to-talk.
First: a speech model for your language
On the same-LAN path, speech turns into words on your own computer, so the computer needs a voice model once. The desktop app ships a catalogue of downloadable models, listed per spoken language — nothing downloads until you ask for it.
- On the PC: FlowMic → Settings → Speech recognition. The card is called Built-in speech model.
- Under Speaking language, pick the language you actually speak. Each language lists its own downloadable models.
- Tap Download the model (one time). The card shows the progress, and an interrupted download can be resumed.
- Optional: the same card has a Download folder you can change when the system drive is short of space. Changing it does not move files you already downloaded.
A UI diagram: the Built-in speech model card with the language picker, one downloadable model row, and the download folder. Trust the card in your app — the model list changes with releases.
Then: which engine answers each language
On the PC: FlowMic → Settings on the left → Speech recognition on the right. Changes save as you make them — there is no Save button to hunt for.
Settings
Changes are saved and take effect immediatelySavedEach language chooses its engine independently; a missing configuration is an explicit error — never a silent fallback.
| Language | Engine preset | Endpoint | |
|---|---|---|---|
zh | Built-in Local (offline) ▾ | (built-in engine — no endpoint) | 🗑 |
* | Built-in Local (offline) ▾ | (built-in engine — no endpoint) | 🗑 |
A new install looks like this: a zh row and a * row (every other language), both on “Built-in Local (offline)”, with no address on the right.
- Language: the factory rows are zh and * (the * row answers every other language) — you usually leave them. Add a language only if one needs its own engine.
- Engine preset: which recognizer to use. The factory preset is “Built-in Local (offline)”.
- Endpoint: the address of the recognition service. The built-in offline row is empty and reads “(built-in engine — no endpoint)”. If you pick a home-built or a cloud API, fill in an address this computer can open.
Then tap “Test connection”. When it succeeds, go back to the phone and hold to talk.
What the preset list contains
The list is grouped: the built-in offline engine first, then engines you run yourself, then cloud services you have your own account with, and finally a Custom entry for anything else that speaks the same protocol. Picking an entry fills in the fields for you; if you pick a self-hosted one, change the Endpoint to your own address — do not copy an example from someone else’s machine.
A diagram. Trust the dropdown on your computer; the address column may show an example — change it to one you can reach.
AI polish / second-pass transcription: also on Speech recognition, further down. Leave them off until talking works.
The language model: for Translate, Organize and AI polish
Speech still becomes text without one. Translate, Organize and AI polish are the three things that need a language model — configure it once and all three use this same pane.
On the PC: FlowMic → Settings → Language model — the pane right under Speech recognition. Open the Model preset menu and pick the service you already use: it fills in the protocol, the address and a sensible model name for you. On a fresh install the menu reads “Please choose”, because nothing is set up yet.
The list of services you can pick
The menu is grouped. Under Cloud services are the providers most people already have an account with; under Self-hosted are the servers you run on your own machine; and Custom is there for any other service that speaks the same protocol.
- These are cloud providers, so the key is yours: you sign up with them, you pay them, and you paste the key here. FlowMic has no account with any of them and never supplies a key.
- These run on your own computer or on a machine at home. Picking one fills in a local address as a starting point — change it if your server listens somewhere else, and change the model name to whichever model you actually loaded.
- Pick Custom for anything else that speaks the OpenAI-compatible protocol, and type the address yourself. Editing any field by hand also switches the menu to Custom, so the name at the top never claims a service you have edited away from.
Settings
Changes are saved and take effect immediatelySavedThe large model used by Organize / Translate; “AI polish” uses this same configuration. Authentication failures or an unavailable model are reported explicitly.
A UI diagram with the OpenAI preset picked: the protocol, the address and the model name arrived with it, and the API key is the reader’s own. Trust the menu in your app — the list grows with releases.
Then tap “Test connection”. It checks the address, the key and the model on the spot, and says which of the three it did not like.
- The API key comes from whoever runs the model — your account with a provider, or your own server if you host it yourself. FlowMic never supplies one. A self-hosted server usually needs no key at all.
- Realtime mode never needs this pane — leave it empty and keep talking. Come back only when you want Translate, Organize or AI polish.
- A rejected key and a model that is not there are reported separately, by name, so you can tell which of the two you are looking at.
You are changing the address this computer will open. If the engine is on another machine, open that address in a browser on this PC first. The phone being online does not mean recognition is ready.
The built-in offline engine needs a speech model on this computer. If the model is not ready, hold-to-talk fails — type and send, or switch to the official cloud relay.