lnenad/lipwise

Private voice dictation for Windows, macOS and Linux. Hold a shortcut, talk, and Lipwise types what you meant into any app: speech recognition runs on your computer, and an AI editor understands "scratch that", lists and rewrites. Works with local AI, Claude or OpenAI.

Rust

24

6 commits

updated Oct 13, 2026

See the code

See what people are saying

SourceMessageScoreDate

Lipwise - Smart dictation with processing built in (r/LocalLLaMA)

Lipwise is a [yet another] dictation app for Windows, macOS and Linux. You hold a hotkey, talk, and it types into whatever app has focus but with a twist. Since most of us that speak to our computers also use LLMs to do transformations I've thought why not do both in the same turn. I've played…

3

Oct 13, 2026

I literally today pushed v0.1 of my dictation app that does both in a single package. You can connect either to a cheap LLM but I've set it up out of the box to use Qwen3.5 9b which does the job well for free, and everything stays local, no telemetry. You can also use Claude/OpenAI/Local providers.…

on Whistle: Speech to Text in 16.9 MB

0

Oct 8, 2026

README

Lipwise app icon

Lipwise

Speak naturally. Lipwise types what you meant.
Private voice dictation for every app on your computer, with an AI editor that understands “scratch that”.

Latest release Build Windows, macOS and Linux MIT license

Download · What it does · Features · Screenshots · FAQ · Build from source

Dictating an email: Lipwise turns “um so the meeting is on tuesday no wait thursday at ten new paragraph can you bring the slides question mark” into two clean sentences, then translates the selected text to Spanish on command.

Hold a shortcut, talk, let go. Lipwise transcribes your voice on your own computer and types the result wherever your cursor is: email, Slack, your editor, a browser form. Before it types, an AI editor cleans up what you said and carries out the instructions you gave along the way. Fillers disappear, corrections stick, and “new paragraph” starts a new paragraph.

What it does

You sayLipwise types
“Let's meet on Tuesday, no wait, Wednesday at three”Let's meet on Wednesday at three.
“Shopping list new line milk new line eggs make it a list”Shopping list:
- Milk
- Eggs
“hey can you send the report scratch that please send the report by Friday make it formal”Could you please send the report by Friday?
(text selected) “translate this to German”The selection, in German
(text selected) “reply saying yes but not before Monday”A reply, written for you

Three shortcuts cover everything:

Windows & LinuxmacOSWhat it's for
DictateCtrl+Shift+Space⌥⇧SpaceTalk, with commands mixed in. The AI applies them and tidies the text.
CommandCtrl+Alt+Space⌃⌥SpaceSelect text anywhere and say what to do with it: shorten, fix, translate, reply.
PlainCtrl+Alt+Shift+Space⌃⌥⇧SpaceExactly what you said, no AI. Ideal for code, names and anything verbatim.

Hold to talk, or tap once to go hands-free until you tap again. Esc cancels. All shortcuts can be changed.

Features

  • 🔒 Your voice stays on your computer. Speech recognition runs locally. Only the transcript goes to the AI, and with local AI not even that.
  • 🧠 An AI editor in the loop. Understands “scratch that”, “no wait…”, “replace X with Y”, “make it friendlier”, spoken punctuation, lists and translation, plus commands you define yourself.
  • 💻 One-click local AI. Lipwise checks your hardware, downloads llama.cpp and a Qwen3.5 model that fits, and runs it in the background. No account, no API key, nothing leaves the machine.
  • ☁️ Or bring any model. Claude, OpenAI or any OpenAI-compatible API, Ollama, LM Studio, vLLM or your own llama.cpp server.
  • 🎙️ 69 speech models, 100+ languages. Parakeet, Whisper, Canary, Moonshine, SenseVoice, Qwen3-ASR, Voxtral, GigaAM, Granite and more, all through transcribe.cpp. Downloads resume if interrupted and are SHA-256 verified.
  • 🗣️ Your words, your commands. Teach it names and jargon, set a writing style (“British spelling, no em dashes”), and add voice commands such as “sign off” → your email closing.
  • 🧪 Playground. Type what you'd say and see exactly what would be typed, without touching the microphone.
  • 🛟 Never loses a word. If the AI is unreachable, the raw transcript is typed instead, and History shows what happened.
  • ✨ Stays out of the way. Lives in the tray, shows a small status pill that never steals focus, restores your clipboard after pasting, and updates itself.
  • 🪶 Small and native. Built with Rust and Tauri: about a 5 MB installer, not a 100 MB browser bundle.

Screenshots

Lipwise overview: ready status, shortcuts, and the speech model and AI editor in use

History: every dictation with what was heard and what was typed
History: what you said next to what was typed
Speech Models: recommended models with size, languages, speed and accuracy
Speech Models: pick by speed, accuracy and language
AI Editor: run the AI on this computer or use Claude, OpenAI, Ollama or a local server
AI Editor: on your computer, or the provider you choose
Voice Commands: built-in commands and your own
Voice Commands: built in, plus your own

Download

Get the latest version from the Releases page.

PlatformFileNotes
Windows…_x64-setup.exeInstalls for your user, no admin needed. If SmartScreen warns about a new app, choose More info → Run anyway.
macOS
Apple Silicon
…_aarch64.dmgSigned and notarized. On first use, allow Microphone and Accessibility (needed to type into other apps).
Linux.AppImage, .deb or .rpmWorks best on X11. On Wayland, global shortcuts and typing depend on your compositor.

Then:

  1. Open Lipwise and download a speech model. The recommended ones are 200–800 MB.
  2. Choose an AI editor: On This Computer for fully private editing, or connect Claude, OpenAI or a local server. You can also turn AI off and use Lipwise as plain dictation.
  3. Hold Ctrl+Shift+Space (⌥⇧Space on a Mac) in any app and start talking.

Private by design

  • Audio never leaves your computer. Transcription always runs locally.
  • The AI sees only the transcript, and only when you've chosen a cloud provider. With local AI, your own server, or AI turned off, nothing is sent anywhere.
  • No account, no telemetry. History and settings are stored in your user profile. API keys are kept in the system credential store (Keychain on macOS, Credential Manager on Windows, the Secret Service keyring on Linux), or come from ANTHROPIC_API_KEY / OPENAI_API_KEY.
  • Network access is limited to downloading models and llama.cpp, the AI provider you configure, and checking GitHub for updates (which you can turn off).

Local AI

Choose AI Editor → On This Computer → Set Up Local AI, and Lipwise does the rest: it detects your GPU and memory, downloads a matching llama.cpp build and model (checksums verified), and runs it hidden in the background.

ModelDownloadGood for
Standard: Qwen3.5 4B2.7 GBEvery kind of spoken edit, including style rewrites like “make it formal”. Quick on a graphics card or Apple Silicon.
Best: Qwen3.5 9B5.7 GBThe most accurate rewrites and translations, for computers with a graphics card or plenty of unified memory.

It uses Metal on Apple Silicon, Vulkan on any GPU with 2 GB or more of its own memory (NVIDIA, AMD or Intel), and the CPU otherwise. The model starts with Lipwise, stops when you quit, and Remove Local AI deletes everything it downloaded.

How it works

 shortcut ──► microphone ──► speech model ──► AI editor ──► typed into your app
                             (on device)          │
                                                  └─ AI off or unreachable? The raw transcript is typed instead.
LayerBuilt with
AppTauri 2 (Rust) with a React + TypeScript interface
Speech to texttranscribe.cpp (ggml): CPU everywhere, Metal on macOS, optional Vulkan and CUDA
Audiocpal, resampled to 16 kHz with rubato
TypingThe clipboard plus a synthetic paste (arboard + enigo), then your clipboard is restored
AIClaude through the Messages API; everything else through any OpenAI-compatible /chat/completions endpoint

FAQ

How is this different from Handy?

Handy is excellent local dictation, and Lipwise builds on its model catalog. Lipwise adds the AI editing step: spoken corrections, formatting, rewrites, command mode on selected text, and custom voice commands. Plain dictation still works exactly like Handy, and the default shortcuts differ so both apps can run side by side.

Does it work offline?

Yes. Once a speech model is downloaded, transcription is entirely offline. With the local AI editor (or AI turned off), the whole pipeline runs without an internet connection.

Which AI should I pick?

For privacy, use On This Computer. The 4B model handles every built-in command and is quick on a GPU or Apple Silicon. For the best results on long rewrites and translations, use Claude or the 9B local model. Any model that follows instructions well will work.

What if the AI misunderstands me?

Use Plain dictation for anything that must be verbatim. To stop ordinary sentences being read as commands, set a wake word in Voice Commands; only speech that starts with it is treated as an instruction. Every dictation in History shows what was heard next to what was typed.

How do updates work?

Lipwise checks GitHub Releases now and then, downloads new versions in the background, and installs them the next time it restarts. You can turn this off in Settings → Updates.

Contributing

Bug reports, model results on your hardware, and pull requests are very welcome. See CONTRIBUTING.md for building from source, running the tests and the project layout.

Credits

The speech model catalog and the transcribe.cpp integration approach come from Handy by CJ Pais (MIT). Local AI runs on llama.cpp and the Qwen3.5 models.

License

MIT

lnenad/lipwise

Private voice dictation for Windows, macOS and Linux. Hold a shortcut, talk, and Lipwise types what you meant into any app: speech recognition runs on your computer, and an AI editor understands "scratch that", lists and rewrites. Works with local AI, Claude or OpenAI.

Rust

24

6 commits

updated Oct 13, 2026

See the code

See what people are saying

SourceMessageScoreDate

Lipwise - Smart dictation with processing built in (r/LocalLLaMA)

Lipwise is a [yet another] dictation app for Windows, macOS and Linux. You hold a hotkey, talk, and it types into whatever app has focus but with a twist. Since most of us that speak to our computers also use LLMs to do transformations I've thought why not do both in the same turn. I've played…

3

Oct 13, 2026

I literally today pushed v0.1 of my dictation app that does both in a single package. You can connect either to a cheap LLM but I've set it up out of the box to use Qwen3.5 9b which does the job well for free, and everything stays local, no telemetry. You can also use Claude/OpenAI/Local providers.…

on Whistle: Speech to Text in 16.9 MB

0

Oct 8, 2026

README

Lipwise app icon

Lipwise

Speak naturally. Lipwise types what you meant.
Private voice dictation for every app on your computer, with an AI editor that understands “scratch that”.

Latest release Build Windows, macOS and Linux MIT license

Download · What it does · Features · Screenshots · FAQ · Build from source

Dictating an email: Lipwise turns “um so the meeting is on tuesday no wait thursday at ten new paragraph can you bring the slides question mark” into two clean sentences, then translates the selected text to Spanish on command.

Hold a shortcut, talk, let go. Lipwise transcribes your voice on your own computer and types the result wherever your cursor is: email, Slack, your editor, a browser form. Before it types, an AI editor cleans up what you said and carries out the instructions you gave along the way. Fillers disappear, corrections stick, and “new paragraph” starts a new paragraph.

What it does

You sayLipwise types
“Let's meet on Tuesday, no wait, Wednesday at three”Let's meet on Wednesday at three.
“Shopping list new line milk new line eggs make it a list”Shopping list:
- Milk
- Eggs
“hey can you send the report scratch that please send the report by Friday make it formal”Could you please send the report by Friday?
(text selected) “translate this to German”The selection, in German
(text selected) “reply saying yes but not before Monday”A reply, written for you

Three shortcuts cover everything:

Windows & LinuxmacOSWhat it's for
DictateCtrl+Shift+Space⌥⇧SpaceTalk, with commands mixed in. The AI applies them and tidies the text.
CommandCtrl+Alt+Space⌃⌥SpaceSelect text anywhere and say what to do with it: shorten, fix, translate, reply.
PlainCtrl+Alt+Shift+Space⌃⌥⇧SpaceExactly what you said, no AI. Ideal for code, names and anything verbatim.

Hold to talk, or tap once to go hands-free until you tap again. Esc cancels. All shortcuts can be changed.

Features

  • 🔒 Your voice stays on your computer. Speech recognition runs locally. Only the transcript goes to the AI, and with local AI not even that.
  • 🧠 An AI editor in the loop. Understands “scratch that”, “no wait…”, “replace X with Y”, “make it friendlier”, spoken punctuation, lists and translation, plus commands you define yourself.
  • 💻 One-click local AI. Lipwise checks your hardware, downloads llama.cpp and a Qwen3.5 model that fits, and runs it in the background. No account, no API key, nothing leaves the machine.
  • ☁️ Or bring any model. Claude, OpenAI or any OpenAI-compatible API, Ollama, LM Studio, vLLM or your own llama.cpp server.
  • 🎙️ 69 speech models, 100+ languages. Parakeet, Whisper, Canary, Moonshine, SenseVoice, Qwen3-ASR, Voxtral, GigaAM, Granite and more, all through transcribe.cpp. Downloads resume if interrupted and are SHA-256 verified.
  • 🗣️ Your words, your commands. Teach it names and jargon, set a writing style (“British spelling, no em dashes”), and add voice commands such as “sign off” → your email closing.
  • 🧪 Playground. Type what you'd say and see exactly what would be typed, without touching the microphone.
  • 🛟 Never loses a word. If the AI is unreachable, the raw transcript is typed instead, and History shows what happened.
  • ✨ Stays out of the way. Lives in the tray, shows a small status pill that never steals focus, restores your clipboard after pasting, and updates itself.
  • 🪶 Small and native. Built with Rust and Tauri: about a 5 MB installer, not a 100 MB browser bundle.

Screenshots

Lipwise overview: ready status, shortcuts, and the speech model and AI editor in use

History: every dictation with what was heard and what was typed
History: what you said next to what was typed
Speech Models: recommended models with size, languages, speed and accuracy
Speech Models: pick by speed, accuracy and language
AI Editor: run the AI on this computer or use Claude, OpenAI, Ollama or a local server
AI Editor: on your computer, or the provider you choose
Voice Commands: built-in commands and your own
Voice Commands: built in, plus your own

Download

Get the latest version from the Releases page.

PlatformFileNotes
Windows…_x64-setup.exeInstalls for your user, no admin needed. If SmartScreen warns about a new app, choose More info → Run anyway.
macOS
Apple Silicon
…_aarch64.dmgSigned and notarized. On first use, allow Microphone and Accessibility (needed to type into other apps).
Linux.AppImage, .deb or .rpmWorks best on X11. On Wayland, global shortcuts and typing depend on your compositor.

Then:

  1. Open Lipwise and download a speech model. The recommended ones are 200–800 MB.
  2. Choose an AI editor: On This Computer for fully private editing, or connect Claude, OpenAI or a local server. You can also turn AI off and use Lipwise as plain dictation.
  3. Hold Ctrl+Shift+Space (⌥⇧Space on a Mac) in any app and start talking.

Private by design

  • Audio never leaves your computer. Transcription always runs locally.
  • The AI sees only the transcript, and only when you've chosen a cloud provider. With local AI, your own server, or AI turned off, nothing is sent anywhere.
  • No account, no telemetry. History and settings are stored in your user profile. API keys are kept in the system credential store (Keychain on macOS, Credential Manager on Windows, the Secret Service keyring on Linux), or come from ANTHROPIC_API_KEY / OPENAI_API_KEY.
  • Network access is limited to downloading models and llama.cpp, the AI provider you configure, and checking GitHub for updates (which you can turn off).

Local AI

Choose AI Editor → On This Computer → Set Up Local AI, and Lipwise does the rest: it detects your GPU and memory, downloads a matching llama.cpp build and model (checksums verified), and runs it hidden in the background.

ModelDownloadGood for
Standard: Qwen3.5 4B2.7 GBEvery kind of spoken edit, including style rewrites like “make it formal”. Quick on a graphics card or Apple Silicon.
Best: Qwen3.5 9B5.7 GBThe most accurate rewrites and translations, for computers with a graphics card or plenty of unified memory.

It uses Metal on Apple Silicon, Vulkan on any GPU with 2 GB or more of its own memory (NVIDIA, AMD or Intel), and the CPU otherwise. The model starts with Lipwise, stops when you quit, and Remove Local AI deletes everything it downloaded.

How it works

 shortcut ──► microphone ──► speech model ──► AI editor ──► typed into your app
                             (on device)          │
                                                  └─ AI off or unreachable? The raw transcript is typed instead.
LayerBuilt with
AppTauri 2 (Rust) with a React + TypeScript interface
Speech to texttranscribe.cpp (ggml): CPU everywhere, Metal on macOS, optional Vulkan and CUDA
Audiocpal, resampled to 16 kHz with rubato
TypingThe clipboard plus a synthetic paste (arboard + enigo), then your clipboard is restored
AIClaude through the Messages API; everything else through any OpenAI-compatible /chat/completions endpoint

FAQ

How is this different from Handy?

Handy is excellent local dictation, and Lipwise builds on its model catalog. Lipwise adds the AI editing step: spoken corrections, formatting, rewrites, command mode on selected text, and custom voice commands. Plain dictation still works exactly like Handy, and the default shortcuts differ so both apps can run side by side.

Does it work offline?

Yes. Once a speech model is downloaded, transcription is entirely offline. With the local AI editor (or AI turned off), the whole pipeline runs without an internet connection.

Which AI should I pick?

For privacy, use On This Computer. The 4B model handles every built-in command and is quick on a GPU or Apple Silicon. For the best results on long rewrites and translations, use Claude or the 9B local model. Any model that follows instructions well will work.

What if the AI misunderstands me?

Use Plain dictation for anything that must be verbatim. To stop ordinary sentences being read as commands, set a wake word in Voice Commands; only speech that starts with it is treated as an instruction. Every dictation in History shows what was heard next to what was typed.

How do updates work?

Lipwise checks GitHub Releases now and then, downloads new versions in the background, and installs them the next time it restarts. You can turn this off in Settings → Updates.

Contributing

Bug reports, model results on your hardware, and pull requests are very welcome. See CONTRIBUTING.md for building from source, running the tests and the project layout.

Credits

The speech model catalog and the transcribe.cpp integration approach come from Handy by CJ Pais (MIT). Local AI runs on llama.cpp and the Qwen3.5 models.

License

MIT