← getparlando.com

Parlando capabilities

Parlando 0.2.0 (build 111), dictation for Mac by Epiphani Studios. Last updated Sunday, October 4, 2026. Every row names the mechanism and a way to check it. Requirements: macOS 26 or later on Apple silicon (the shipped binary reports minos 26.0 and architecture arm64).

Dictation

CapabilityHow it worksDefaultVerify
Hold-to-talk dictation into any appA listen-only key monitor watches one modifier key; on release, the finished text is inserted at the focused text field through the macOS Accessibility API.Right Option. Right Command or Globe selectable.Hold the key in any text field, speak, release.
Hands-free latchTap the key (under 0.30 s), then press again within 0.45 s; dictation continues until the next press.OnThe panel shows "Latched".
On-device speech recognitionApple SpeechAnalyzer on macOS 26 with two modules: DictationTranscriber biased by your vocabulary ("Personal") or SpeechTranscriber ("General").PersonalMenu bar > Speech model.
Streaming panelA non-activating floating panel shows partial words and a level meter; it never takes keyboard focus.On, Medium, bottom of screenSettings > While you are speaking.
Text insertionAutomatic: up to 200 characters typed as keystrokes; longer text pasted, with the clipboard restored about 0.35 s later. Always-type and always-paste selectable.AutomaticMenu bar > Insert text by.
Smart spacing and capitalizationReads at most 12 characters before the cursor at insertion time to choose leading space and capitalization; keeps "I", acronyms, camelCase, and dictionary words.OnDictate mid-sentence and at the start of a line.
CleanupRemoves whole-word fillers (um, uh, erm, uhm, hmm, mm, mhm, er, ah), capitalizes the first word, closes sentences at the transcriber's pauses with a period or a question mark, and applies "new line" and "new paragraph".LightHistory shows what you said beside what was typed.
Recovery when nothing is focusedIf no text field has focus, nothing is typed; a card shows the text with a Copy button, and the dictation is saved to history.OnClick the desktop, then dictate.
LanguageUS English by default; macOS installs a missing speech model on first use through its AssetInventory service.en-USRun Parlando --locales to list installed models.

Personalization

CapabilityHow it worksDefaultVerify
Recognition vocabularyPlain words (names, brands) are passed to the Personal module as contextual strings, biasing recognition before it decides.Empty until addedDictionary pane, Words filter.
Corrections"Heard, written" pairs applied on whole words, longest phrase first, case-insensitive unless flagged; "at Name" becomes "@Name".Empty until addedDictionary pane, Corrections filter.
SnippetsSay a short trigger phrase and the stored long text is typed.None until addedSnippets pane.
Import from a fileOne entry per line: heard -> written, comma or tab separated, or a bare word; lines starting with # or // skipped.ManualDictionary > Import.
Import from Wispr FlowReads ~/Library/Application Support/Wispr Flow/flow.sqlite read-only and merges corrections, vocabulary, snippets, and mentions, keeping existing entries and listing every skipped row with a reason.ManualMenu bar > Import from Wispr Flow.
Style by kind of writingFour surfaces (personal messages, work messages, email, other) each take a tone: Formal, Casual, very casual (personal only), or Excited!. Changes punctuation and capitalization only; never a word. Runs locally.Formal everywhereStyle pane, one tab per surface.
Per-app rulesPer application bundle: fillers, spoken commands, capitalize-first, leading space, and smart spacing, each inheriting the global setting when unset. Suggested rules offered for Claude, ChatGPT, Slack, Messages, and Mail.No rulesSettings > Per-app rules.

Transforms and cloud features (your own key)

CapabilityHow it worksDefaultVerify
Transforms on a keySelect text in any app and press Option plus 1 to 8; the selection is replaced by the model's result, or left untouched if anything fails. Built in: Polish, Prompt Engineer, Bullets, Slack, Email, Professional, Strip the AI, My voice; create your own instruction and key.Keys bound; needs a key to runTransforms pane.
ProvidersAnthropic (api.anthropic.com/v1/messages) or OpenAI (api.openai.com/v1/chat/completions) with the user's own API key and chosen model; the key is stored in ~/.parlando/cloud.json with file mode 0600.No provider setSettings > Cloud, Test it.
Cloud repunctuationSends finished transcript text (never audio) for punctuation; any result that changes a word is discarded and the on-device text is used.OffSettings > Cleanup engine.
Medium cleanup and re-processRewrites for clarity and concision through the chosen provider; the original is kept and can be restored.Off (Light is default)Settings > Auto cleanup; Dictations row menu.

History, insight, and automation

CapabilityHow it worksDefaultVerify
HistoryEach dictation (text, destination app bundle id, duration, word count, delivered or not, and raw text when different) appended to ~/.parlando/history.jsonl.Kept 24 hours; three days, seven days, or forever selectableDictations pane; Settings > History.
InsightsDictations, words, minutes, words per minute, day streak, a per-day chart, and a per-app breakdown, computed from local history.AvailableInsights pane.
Menu bar recentsThe 12 newest dictations, click to copy; undelivered ones marked.AvailableMenu bar > Recent dictations.
Model Context Protocol (MCP) serverJSON-RPC 2.0 over stdio, started by an assistant with Parlando --mcp. Nine tools: get_preferences, set_preference, add_substitutions, add_vocabulary, remove_entries, set_app_rule, list_app_rules, remove_app_rule, search_history.Runs only when a client starts itAdd the binary path with --mcp to an MCP client.
Usage countersLocal counters over a closed list of event ids plus total seconds and characters, in ~/.parlando/stats.json; not uploaded.OnParlando --stats.

Distribution and updates

CapabilityHow it worksVerify
Signed, notarized downloadDeveloper ID Application: JASON PAEZ (34MSZG2KRW), hardened runtime, notarized, and stapled; the disk image is signed and notarized too.spctl -a -vv /Applications/Parlando.app reports "Notarized Developer ID".
Automatic updatesReads https://updates.belstone.com/parlando/appcast.json about 20 s after launch and every 6 hours; verifies SHA-256, a strict deep code signature, and Team ID before installing; waits for any dictation in progress.Menu bar > Check for Updates now.
PermissionsMicrophone and Accessibility only; entitlement com.apple.security.device.audio-input.System Settings > Privacy & Security.
Audio path build checkThe build refuses to compile if any networking symbol appears in the six source files that capture, transcribe, format, or insert dictation.Source build script, network-symbol gate.
Latency build checkEvery build runs the shipped binary on a 2.79-second recording and refuses to finish if the tail from end of speech to final text exceeds 350 milliseconds (a regression tripwire, far above the measured 0.06 to 0.09 seconds).On every buildSource build.sh, step "latency regression".

Measured performance

MeasurementResultConditions
Speech engine final text after a 2.79 s recording ends0.061, 0.067, 0.072, 0.092 sParlando 0.2.0 (111), --bench at real-time pace, MacBook Pro M1 Max, macOS 26.6.2, load average 85 on 10 cores, October 4, 2026
First partial words, same runs0.535 to 0.551 sSame
Speech engine final text after a 14.96 s recording0.167, 0.172, 0.175, 0.198 sSame
Proper nouns, one six-name sentencePersonal 5 of 6; General 2 of 6452-word personal vocabulary, M5 MacBook Air, August 3, 2026, as Detto
Proper nouns, 40 real recordings (37 names)Personal 30 (81%); General 25 (68%)456-word personal vocabulary, one speaker, August 4, 2026, as Detto

Where to find it

Download: getparlando.com/download (the current build, read from the same feed the app updates from). Machine-readable: /download/latest.json. Previously named Detto; dettodictation.com redirects here.