# AI Enhancement
Source: https://docs.vowen.ai/ai-features/ai-enhancement
Automatically polish your transcriptions with AI.
AI Enhancement is a light cleanup pass that runs after transcription. It fixes spelling, grammar, and formatting, then gets out of the way.
API key required. AI Enhancement runs on a third-party provider (OpenAI, Anthropic, Google Gemini, Groq, and six others). Connect your own key under Configure your AI in the sidebar, then turn on Enhance transcription with AI on the Configuration tab. Groq and Google Gemini both offer generous free tiers that cover most daily use; other providers may require a paid plan.
## What it does
### Cleanup
Spelling and grammar
"i think wee should go tommorow"
↓
"I think we should go tomorrow."
Punctuation and capitalization
"hey are you free tomorrow"
↓
"Hey, are you free tomorrow?"
Self-corrections
"let's meet at 3 actually 4"
↓
"Let's meet at 4."
### Formatting
Spoken numbers to digits
"three thousand dollars"
↓
"3000 dollars"
Phone numbers
"five five five one two three four"
↓
"555-1234"
Spoken formatting commands
"price colon ten dollars"
↓
"Price: 10 dollars"
### Structure
List formatting
"buy milk call mom send report"
↓
1. Buy milk 2. Call mom 3. Send report
Email structure
"hi sarah thanks for the update regards john"
↓
Hi Sarah, Thanks for the update. Regards, John
Paragraph splitting
"we met today anyway tomorrow we ship"
↓
We met today.
Anyway, tomorrow we ship.
**Two things remove filler words, and they are not the same list.**
**Vowen's output filter** runs first, on every transcription, with or without an AI provider connected. It strips a fixed short list of sounds only: `uh`, `um`, `uhm`, `umm`, `uhh`, `uhhh`, `hmm`, `mmm`, `mh`, `ehh`, `hm`, plus the German `äh`, `ähm`, and `öhm`. Phrases like "you know" and "like" are **not** in it. Toggle it in **Settings > General > Remove filler words**.
**AI Enhancement** then removes fillers more broadly, including "like" and "you know", while deliberately keeping personality markers such as "I think", "I mean", and "And then that's it".
## How it works
When you record with AI Enhancement enabled, your speech moves through three stages. AI Enhancement is the middle one.
Step 1
Transcription
Your speech is transcribed by your selected local or cloud model. Filler words are stripped by Vowen's output filter, and any matching Threads are applied.
Step 2
AI Enhancement
The cleaned transcription is sent to your AI provider, which fixes errors and applies formatting without rewriting your sentences. Your custom instructions, if you have set any, apply here too.
Step 3
Auto-Paste
The polished output is pasted into whatever app has focus, using your selected text insertion method.
## Voice formatting commands
Speak any of these and Vowen applies the symbol or formatting instead of writing the words.
Punctuation
period.
comma,
question mark?
exclamation point!
colon:
semicolon;
Line breaks
line break, new line↵
new paragraph↵↵
Quotes
quote"
apostrophe'
Symbols
asterisk\*
ampersand&
percent sign%
ellipsis...
slash/
at sign@
hashtag#
Brackets and dashes
open / close parenthesis( )
open / close bracket\[ ]
open / close brace
dash, hyphen-
em dash—
Math and special
plus+
minus-
equals=
degree sign°
degrees celsius°C
Vowen also converts spoken email addresses ("john at gmail dot com" becomes `john@gmail.com`) without needing an explicit command.
## Per-shortcut override
Each dictation shortcut carries its own AI setting, shown as a two-sided pill in [Settings > Shortcuts](/features/shortcuts):
| Setting | Behavior |
| ------------------- | --------------------------------------------------------------------------------- |
| **Enhance with AI** | This shortcut enhances the transcription. Still requires a connected AI provider. |
| **Off** | This shortcut never enhances, even with the global toggle on. |
Keep one shortcut for raw transcription (code, AI prompts) and another for polished output (writing). Leave your main shortcut on **Enhance with AI** and set a second one to **Off**, or the other way round. Any key combination works, and you can bind mouse buttons too.
The pill appears on the **transcription** and **hands-free** shortcuts only. The Command Mode shortcut has no AI setting of its own, because Command Mode always runs on your AI provider.The AI pill on your primary shortcut is free on every plan. Adding a *second, alternate* shortcut to the same action requires Pro.
See [Shortcut Patterns](/features/shortcut-patterns) for example setups.
## Custom instructions
Directly beneath **Enhance transcription with AI** on the Configuration tab, there is a **Custom Instructions** toggle. Turn it on and a text area appears where you can write rules that apply to every AI Enhancement pass. Click **Save Changes** to apply them.
Custom Instructions for dictation are **free on every plan**. (Custom instructions for *meeting-note summaries* are a separate, Pro-only setting inside Notes.)
Examples:
* "Always use Oxford commas"
* "Write in active voice"
* "Keep paragraphs to two or three sentences"
* "Output everything in lowercase"
How a custom instruction shapes the output
The rule you set
"Write in passive voice with a formal, report-style tone."
You say
"planned obsolescence is when companies make products that break on purpose so people keep buying new stuff and it's really wasteful because everything ends up in landfills and it's bad for sustainability"
↓
AI Enhanced output
"Planned obsolescence refers to the practice by which products are deliberately designed by manufacturers to fail prematurely. As a result, consumers are compelled to make repeated purchases, and discarded items are accumulated in landfills, undermining broader sustainability efforts."
See the [full guide](/ai-features/custom-instructions) for recommended phrasings.
## Pass screen as context BETA
Speech recognizers mangle names they have never heard. **Pass screen as context** gives the enhancer a second chance at them. When you start dictating, Vowen reads the names visible in the window in front of you and offers them to the AI as possible corrections for words it may have misheard.
* Appears as a nested row under **Enhance transcription with AI** on the Configuration tab, and only when a provider is connected.
* **macOS only.** There is no Windows or Linux equivalent yet.
* **Off by default, and opt-in on purpose.** It sends words from whatever window is in front to your AI provider. That is the same provider already receiving your dictation, but a screen is not a dictation, so it is your call rather than a default.
* Uses **Accessibility**, not Screen Recording. No screenshot is taken and no new permission prompt appears.
* It only ever runs when AI Enhancement runs. With enhancement off, nothing is read.
A word is only substituted when it is clearly a mis-hearing of one on the list, so the two have to sound alike. A substitution that strays too far from what you actually said is reverted before the text reaches your document.
## When enhancement fails
**Your words are never lost.** If the enhancement call fails for any reason (the provider is down, the key is rejected, the request is rate-limited, the response is unusable), Vowen keeps the pre-enhancement transcript and pastes that instead.
You get an **AI Enhancement Failed** banner explaining what went wrong, with a **"Switch to:"** row of chips, one per configured provider. Click one and Vowen re-runs the enhancement on that provider using your original transcript, so you never have to dictate it again.
Two more things are caught before they can reach your document:
A provider can succeed but come back with no usable text, most often a reasoning model that spends its whole budget thinking and never answers. Vowen treats that as a failure, so you get your raw transcript and a banner instead of an empty document.
Cheap and fast model tiers sometimes read a short imperative dictation as an instruction addressed to them and *answer* it. Say "Use this template below" and you could get back "I don't see any transcript content to clean. Please provide the actual transcript..." pasted verbatim into your document.
Vowen recognises that kind of reply and throws it away, carefully enough that a genuine dictation about transcripts is not mistaken for one. You get your own words, never an apology addressed to you.
## Speed
Reasoning effort is the single biggest lever on how long enhancement takes, and Vowen sets it for you. There is no user-facing control.
Enhancement is deterministic cleanup, not a reasoning task, so Vowen asks each model for the lowest amount of thinking it will accept.
Measured on Gemini 3.6 Flash, leaving thinking at its default cost 9,279ms per dictation versus 1,337ms at the minimum. It was also less accurate. The thinking-on model truncated a 305-word dictation to a median of 153 words, where every other model returned 93 to 96 percent of the input.
If enhancement feels slow, the fix is a smaller or faster model, not a settings change. Groq and Cerebras both serve large models at sub-second latency on their free tiers.
## More examples
### Example 1: Email structure
You say:
> "Hi Donna comma new line I'm writing to follow up on our meeting yesterday period I wanted to confirm the next steps period new paragraph Regards comma new line John"
You get:
```
Hi Donna,
I'm writing to follow up on our meeting yesterday. I wanted to confirm the next steps.
Regards,
John
```
### Example 2: Numbered list
You say:
> "I need three things first buy groceries second call mom and third finish the report"
You get:
```
I need 3 things:
1. Buy groceries
2. Call mom
3. Finish the report
```
### Example 3: Phone number
You say:
> "my office number is plus one eight hundred five five five zero one zero one extension two three four"
You get:
```
My office number is +1-800-555-0101 ext. 234
```
### Example 4: Email address
You say:
> "send the report to alex at example dot com"
You get:
```
Send the report to alex@example.com
```
## Best practices
1. **Match your model to your need.** For light cleanup, the smallest tier is fast and accurate: **GPT-5.4 Nano**, **Gemini 2.5 Flash-Lite**, **GPT-OSS 20B** on Groq, or **Claude Haiku 4.5**. For complex custom instructions, step up to **GPT-5.4**, **Claude Sonnet 4.6**, or **Gemini 3.5 Flash**.
2. **Speak naturally.** AI Enhancement is built to handle filler words, false starts, and casual phrasing. You do not need to over-articulate.
3. **Use formatting commands sparingly.** Let auto-detection handle normal sentences. Reach for explicit commands only when you need a specific symbol or paragraph break.
4. **Keep custom instructions short and specific.** "Use Oxford commas" works better than "Make my writing better".
5. **Set up Per-app Tones for repeated context switches.** If you want different behavior in different apps (formal in email, casual in Slack, off in code editors), [Per-app Tones](/ai-features/tones) is more sustainable than toggling the global setting.
6. **Choose latency-conscious providers.** If AI Enhancement feels slow, switch to Groq or Cerebras. Both serve large models at sub-second latency on the free tier.
## Languages
AI Enhancement runs in the same language as the transcription. Most providers handle major world languages well, but the smallest, cheapest tier of any provider can produce uneven results in low-resource languages.
For best non-English results:
* Pair a multilingual speech model (Whisper Large v3, Groq Whisper) with a capable multilingual AI model such as **Claude Sonnet 4.6**, **GPT-5.4**, or **Gemini 3.5 Flash**.
* Avoid `.en` speech models for non-English input.
* Set your language explicitly in **Settings > Language** instead of relying on auto-detect.
See [Languages](/transcription/languages) for the full list of supported speech languages.
***
Running into issues with AI Enhancement? See [AI & API Issues](/troubleshooting/ai-issues) for symptom-driven fixes.
Connect Groq, OpenAI, Anthropic, Gemini, or any of 10 supported providers.
# Setting up AI
Source: https://docs.vowen.ai/ai-features/ai-setup
Connect an AI provider to enable enhancement, Command Mode, and meeting summaries.
## Overview
Vowen uses AI in three places:
1. **[AI Enhancement](/ai-features/ai-enhancement)** polishes your transcriptions (spelling, grammar, formatting).
2. **[Command Mode](/ai-features/command-mode)** turns spoken instructions into text transformations and real actions.
3. **[Meeting summaries](/meeting-notes/summaries)** turn a recorded transcript into structured notes.
You bring your own API key. Vowen never charges you for AI usage; you pay your provider directly, and several have free tiers that cover ordinary daily use.
## Where the settings live
In the left sidebar, under **Vowen AI**, click **Configure your AI**. The page has three tabs:
| Tab | What it holds |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **Configuration** | The provider grid, the **Enhance transcription with AI** toggle, **Pass screen as context**, and global **Custom Instructions** |
| **Command Mode** | The Command Mode on/off checkbox, **Context-awareness**, **Drag to capture region**, and the utility cards |
| **Memory** | Your saved [Memory](/features/memory) items |
There is no "AI Setup" item in the sidebar and no Settings > AI section. Everything on this page is reached through **Configure your AI**.
## Supported providers
The provider grid lists 10 providers as selectable cards. Click a provider name below to go directly to the page where you generate an API key.
| Provider | Free tier | Best for | Recommended model |
| ------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------ | --------------------- |
| [**OpenAI**](https://platform.openai.com/api-keys) | No (paid) | Best overall quality | GPT-5.4 Nano |
| [**Anthropic**](https://console.anthropic.com/settings/keys) | No (paid) | Nuanced writing | Claude Haiku 4.5 |
| [**Groq**](https://console.groq.com/keys) | Yes (generous) | Fast responses, free usage | GPT-OSS 20B |
| [**Google**](https://aistudio.google.com/app/apikey) | Yes (generous) | Image and video context, free usage | Gemini 2.5 Flash-Lite |
| [**DeepSeek**](https://platform.deepseek.com/api_keys) | Yes (limited) | Budget-friendly | DeepSeek V4 Flash |
| [**OpenRouter**](https://openrouter.ai/keys) | Varies | One key, hundreds of models | Gemini 3.5 Flash-Lite |
| [**Azure**](https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI) | No (paid) | Enterprise compliance | GPT-4.1 Nano |
| [**Cerebras**](https://cloud.cerebras.ai/platform) | Yes (limited) | Ultra-fast inference | GPT-OSS 120B |
| [**AWS Bedrock**](https://us-east-1.console.aws.amazon.com/bedrock/home#/api-keys) | No (paid) | Enterprise, regional | Amazon Nova Lite |
| **Custom API** | Varies | Self-hosted or OpenAI-compatible endpoints | Your choice |
Model catalogs move. Vowen refreshes its model lists from the app, so the dropdown on your machine is the source of truth. If a model named here is not in the dropdown, pick the one marked **(Recommended)** instead.
Some names that circulated in older documentation are not offered by any provider in Vowen. There is no Llama model in the Groq or Cerebras catalogs, and GPT-4, GPT-4o, GPT-4o Mini, Gemini Pro and an unversioned "Claude Sonnet" are not selectable options.
### Card states
The grid tells you a provider's status at a glance:
| What you see on the card | Meaning |
| ------------------------ | ---------------------------------------------------------------------- |
| A **Setup** badge | Not configured yet. Click the card to add a key. |
| A **gear icon** | Configured. Click the gear to edit the key or model, or to disconnect. |
| A **checkmark** | Your active provider. Everything runs on it. |
Only unconfigured cards show the Setup badge. Once you configure a provider the gear replaces the badge, and clicking the card body makes that provider active.
## Setup steps
Sidebar > **Vowen AI** > **Configure your AI**, on the **Configuration** tab.
Cards with a **Setup** badge open the configuration panel straight away.
Enter the key from the provider's dashboard. The panel has a link that opens the provider's API key page in your browser.
Your API key is encrypted on your machine and is never sent to Vowen. It goes only to the provider it belongs to.
Choose from the dropdown. The recommended model is pre-selected.
Azure has no dropdown. It asks for a **Resource Name**, a **Deployment ID**, and an **API Version** instead, because the model is whatever you deployed. AWS Bedrock asks for an **AWS Region** and loads its model list from your account once a key is entered. OpenRouter loads its catalog live.
Vowen verifies the key and saves it. The card gains a checkmark, meaning it is now the active connection.
### Custom API
The **Custom API** card works with any OpenAI-compatible endpoint: Ollama, LM Studio, vLLM, self-hosted models, internal gateways. Its panel has one extra field.
* **API Key (optional)**: leave blank if your endpoint doesn't require auth.
* **Base URL** (required): point at your endpoint, for example `http://localhost:11434/v1` for Ollama.
* **Model**: a free-text field, because only your endpoint knows what it serves. Type the model identifier exactly as your endpoint expects it.
**Fully local AI:** install Ollama, run a model, point Base URL at `http://localhost:11434/v1` and leave the API key blank. No data leaves your machine.
#### Multiple named Custom API entries
Below the provider grid there is a dotted **Add Custom API** card. It creates an *additional*, separately named Custom API entry with its own name, key, base URL, and model. Keep a local Ollama, a work gateway, and a staging endpoint side by side, each as its own card in the grid, each switchable in one click. Delete a named entry from its own card.
The single built-in **Custom API** card is free. Creating **extra named** Custom API entries is a Pro feature.
### Local coding agents (Claude Code and Codex)
If you have the `claude` or `codex` CLI installed and signed in, Vowen detects it on disk and offers it as an AI provider. There is no key to paste and no card to configure. Availability is a property of your machine, so Vowen re-detects it rather than asking you to enter anything. Runs go through your existing subscription with your own default model, and no key ever reaches Vowen.
Claude Code and Codex are available for **meeting summaries and the Ask AI panel inside Notes only**.
They do **not** appear in the provider grid on this page, and they **cannot** be used for AI Enhancement or Command Mode. Installing Claude Code does not give you key-free dictation enhancement. For that you still need one of the 10 providers above.
They show up where a summary provider is chosen (Notes settings and the per-note provider picker). The run is a plain completion with every built-in tool disabled and no MCP servers loaded, so it cannot touch your filesystem, network, or connectors, and Claude Code runs with session persistence off so meeting transcripts stay out of its history.
### Disconnecting a provider
Open a configured provider's panel with its gear icon. A **Disconnect** button sits at the bottom right. Disconnecting removes the key and, if that provider was active, offers a configured fallback to switch to.
## Where to get API keys
### Free tier
Generous free tier. Ideal for daily dictation.
Generous free tier with multimodal support.
Free tier with ultra-fast inference.
Free tier with limited monthly tokens.
### Paid
Requires a payment method. Top overall quality.
Requires funded credits.
Requires an Azure subscription. Enterprise compliance.
Requires an AWS account. Enable models, then create a key.
Most paid providers let you cap monthly spend per API key. Set it to your daily-use ceiling so a runaway loop can't drain your wallet.
### Multi-provider gateways
One key, hundreds of models. Vowen loads the live catalog once a key is entered.
### Self-hosted
Point Vowen at any OpenAI-compatible endpoint. Works with Ollama, LM Studio, vLLM, and self-hosted models.
## Switching providers
Configuring more than one provider is worth the two minutes. AI APIs go down and rate-limit, and a second configured provider means switching in one click instead of setting up a key mid-outage.
* The active provider shows a checkmark on its card
* Click any configured card to make it active
* Keys stay saved, so switching back needs no re-entry
* When an enhancement or Command Mode run fails, the failure banner offers a chip per configured provider so you can retry without leaving your app
Set up Groq plus Google as a backup. Both have free tiers, so a redundant configuration costs nothing.
## Model selection
Click the gear on a configured card to change its model. Models vary in:
* **Speed**: how quickly responses come back
* **Quality**: how well the model follows instructions and formats text
* **Cost**: per-token pricing on paid providers
AI Enhancement is a light cleanup pass, and the smallest model a provider offers usually handles it well. Command Mode has to follow instructions and emit clean JSON for tool calls, so it benefits from a step up.
Rather than running one expensive model for everything, keep a small fast model as your default and use a [Tone](/ai-features/tones) to switch to a stronger one in the apps where you need it. A tone can override both the AI provider and the model.
## Rate limits
If you hit rate limits, especially on free tiers:
* Switch to a second configured provider (Groq and Google alternate well)
* Move to a model with higher limits on the same account
* Wait a few minutes for the window to reset
* Move to a paid tier for heavy usage
## Security
Your API keys are:
* **Encrypted on your machine**, and never sent to Vowen
* **Never sent to Vowen servers**, only to the provider you selected
* **Stored locally**, never on our infrastructure
Generate a separate API key just for Vowen. If it ever leaks through a synced screenshot or a posted env file, you can revoke that one key without breaking anything else on the same account.
# Command Mode
Source: https://docs.vowen.ai/ai-features/command-mode
Speak instructions to AI: transform text, convert files, run real actions.
Command Mode runs are capped at **5 per day** on the Free plan. Pro removes the cap.
## What is Command Mode?
Command Mode lets you speak **instructions** to an AI model instead of transcribing your words verbatim. It handles two kinds of work:
* **Text transformations** on selected text. Summarize, rewrite, translate, fix grammar, adjust tone, draft replies, format as lists, and more.
* **Real actions** on files and your system. Convert images, audio, video, config files, text and Markdown. Zip and unzip archives. Merge PDFs. Compress images. Set timers. Extract color palettes from your screen. Open apps, websites, editors, and macOS settings panels.
Speak naturally and Vowen routes your command to the right action.
**Default shortcut:** `Alt + Shift` on both macOS and Windows.
**If the Command Mode toggle is off, pressing the shortcut does nothing at all.** No banner, no sound, no recording indicator, no error. Command Mode is deliberately silent when disabled, so a dead shortcut looks identical to a broken install.
Before troubleshooting anything else, open **Configure your AI > Command Mode** and confirm both of these:
1. An AI provider is connected (the tab shows a "Connect an AI provider" card if not).
2. The **Command Mode** checkbox at the top of the tab is ticked.
The same checkbox is greyed out once a free user has used up their daily runs, which produces the same silent shortcut.
## Turning it on
In the left sidebar, under **Vowen AI**, click **Configure your AI**. The page has three tabs: **Configuration**, **Command Mode**, and **Memory**.
Command Mode needs an AI provider. See [Setting up AI](/ai-features/ai-setup).
The master checkbox sits at the top of the tab, above the screen-context options and the utility cards. It is **not** in Settings > Shortcuts. That page only rebinds the key.
## How it works
Hold `Alt + Shift` (or your own binding). See [Ways to start a command](#ways-to-start-a-command) for the alternatives.
Tell the AI what you want done. Be specific and natural.
The AI processes your command, and either the result appears in a confirmation banner or an action runs (converting a file, merging PDFs, opening an app).
### Ways to start a command
Hold-to-talk is the default, but it is not the only trigger.
| Trigger | How it behaves |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Hold the shortcut** | Record while held, process on release. The default. |
| **Tap-to-toggle** | Set the shortcut's mode to **Toggle** in Settings > Shortcuts. One tap starts, the next tap stops. Nothing stays held. |
| **The idle pill** | Click the command button on the floating idle pill. This starts a Command Mode recording as a toggle with no key held at all; stop it with the pill's stop button. |
| **A mouse button** | Bind Command Mode to a mouse button instead of a key combination. |
| **Alternative shortcuts** | Add a second binding for the same action. Multiple shortcuts per action is a Pro feature. |
Every one of these paths is subject to the master toggle above. With Command Mode off, the mouse button, the tap-toggle and the idle-pill button are all equally silent.
## Reviewing and refining the result
For text results, Command Mode shows a confirmation banner before anything is pasted, so you can review the output, copy it, refine it, or discard it.
* **Paste:** press `Tab` to paste the result into your focused app
* **Copy everything:** click the copy button in the banner's action bar
* **Copy part of it:** select any portion of the response text inside the banner and press `Cmd+C` (macOS) / `Ctrl+C` (Windows). Only the highlighted text is copied; with nothing selected, your clipboard is left untouched
* **Dismiss:** press `Esc` to close the banner without pasting
The banner renders Markdown (headings, lists, bold, code, links) when the response looks like Markdown, and keeps plain dictation as plain text. Any links in the output open in your default browser instead of taking over the banner.
### Follow-up questions
You don't have to start over to refine a result. While the banner is open, **hold the Command Mode shortcut again** and speak a follow-up like *"make it shorter"* or *"more formal."* Vowen sends your follow-up along with the original request and previous response as context, reuses the same selected text, screenshot, and tone (nothing is re-captured), and replaces the banner with the updated version.
* A **`Hold [shortcut] for follow-up`** hint appears in the banner whenever a Command Mode shortcut is assigned
* Once you have two or more versions, a version pager (`1/2`, with prev/next arrows) appears so you can cycle back through earlier versions. **`Tab` pastes whichever version you're currently viewing**, not necessarily the newest
* While a follow-up is processing (`Thinking`), press `Esc` to cancel it. The banner reverts to the previous reply and stays open; press `Esc` again to dismiss it
Follow-ups are not an unbounded chat.
* Each follow-up sends the **original request** plus the **latest reply**, not the whole thread. Refinements build on the most recent version, so a detail you dropped three versions ago is gone.
* The saved thread caps at **30 request/response pairs**. Past that, the oldest turns drop off the stored entry.
* Follow-ups produce plain-text refinements only. If a follow-up triggers a tool call (a file action, a timer, and so on), the refinement session ends.
### Switching models on failure
If a Command Mode run or a [custom utility](#custom-utilities) fails, including when a provider returns a rate-limit error, the banner shows a **"Switch to:"** row with a chip for each of your other configured AI providers. Click one to retry the same request against a different model. The retry reuses the original prompt (so a moved selection or clipboard won't break it), and the provider you pick becomes your new default.
## Context awareness
Command Mode automatically pulls context from several places so the AI knows what you're talking about without you having to spell it out.
### Selected text
If you have text selected on screen when you activate Command Mode, that selection is included as context. Phrases like "this", "it", "the text" automatically refer to the selection. This is the most common way to give the AI something to operate on.
**Example workflow:**
1. Select a paragraph of text in any app
2. Hold `Alt + Shift`
3. Say "Make this more concise"
4. Release, then press `Tab` to paste the rewrite over your selection.
### Selected files
If you have one or more files selected (in Finder on macOS, Explorer on Windows), Command Mode passes the filenames to the AI. This is what unlocks the file-action tools below (compress this image, merge these PDFs, zip these, convert to webp, and so on).
### Screen context
Command Mode can capture a screenshot and send it to the AI for visual context. This requires **two** things:
1. **Screen Recording permission** granted to Vowen (macOS only)
2. **Configure your AI > Command Mode > Context-awareness** toggled on
Until the permission is granted on macOS, the Context-awareness row is disabled and a **Grant Screen Recording Permission** button sits over it.
With both active, you can ask things like *"What's the error message on screen?"* or *"Draft a reply to this email."*
The old path "Settings > Recording > Include screenshot" no longer exists. The toggle lives on the Command Mode tab and is named **Context-awareness**.
#### Drag to capture a region
By default the screenshot captures your whole screen. To pick exactly what the AI sees, turn on **Drag to capture region**, directly beneath Context-awareness on the same tab. With it enabled, starting a Command Mode recording shows a transparent overlay. Click and drag to select one or more rectangles.
**Captured regions replace the automatic full-screen shot for that command.** They are not added on top of it, so you can point the AI at a single chart, error dialog, or paragraph instead of the entire desktop. The overlay needs the same Screen Recording permission as full-screen capture, and it stays open for multiple selections until you finish the command or press `Esc`.
### Memory
Your saved [Memory](/features/memory) notes are automatically included as context.
**Example:** if you have a "My Writing Style" note in Memory, say *"Rewrite this in my style"* and the AI will reference it.
Memory reaches **Command Mode and Custom Utilities only**. It is never sent to AI Enhancement, meeting summaries, or Ask AI.
### Connectors
If you've linked any [Connectors](/integrations/connectors) (Pro, experimental), Command Mode can **read** from them while it works, for example looking up a Linear issue or a Notion page.
Connectors are read-only in Command Mode. Only read-shaped tools (`list_*`, `get_*`, `search_*`, `fetch_*`, `read_*`, `find_*`, `view_*`, `query_*`, `count_*`, `show_*`, `retrieve_*`) are exposed to the model. Every mutating tool (create, update, delete, add, remove, set, archive, send, post) is filtered out before the model ever sees it. Command Mode cannot create a Linear issue, edit a Notion page, or send anything on your behalf.
### Other automatic context
Command Mode also passes the following to the AI on every call:
* **The 10 most recently added vocabulary entries** from your [Dictionary](/features/dictionary), so the AI spells your domain terms correctly. The selection is by recency, not by any ranking. The store is sorted alphabetically, so taking "the top 10" would only ever show the model the start of the alphabet.
* **Active app name** and the matching **Tone directive** (if [Tones](/ai-features/tones) match), so output adapts to the app you're working in
* **Language code** from your transcription settings, so the AI responds in your language
## Actions
Beyond text manipulation, Command Mode ships **17 tools** it can call. Speak any of these naturally and Vowen runs the matching one. Every file tool operates on whatever you have selected in Finder or Explorer.
### Image conversion
### Config file conversion
### Audio conversion
### Video conversion
### Merge PDFs
### Image compression
### Zip files
### Unzip files
### Text to Markdown
### Markdown to PDF
### Open in an editor
### Open an app
Vowen resolves app names differently on each platform, which matters if a launch fails:
Vowen hands the name to LaunchServices. Common spoken shorthands map to real bundle names first. "vs code" and "code" become Visual Studio Code, "chrome" becomes Google Chrome, "word" becomes Microsoft Word, "excel" becomes Microsoft Excel, "powerpoint" becomes Microsoft PowerPoint, "outlook" becomes Microsoft Outlook, "teams" becomes Microsoft Teams, "photoshop" becomes Adobe Photoshop, and "vlc" becomes VLC. Anything else is tried verbatim.
Windows resolves programs through PATH and the App Paths registry, which register **executable names**, never display names. Asking for "Google Chrome" would fail on a machine that has Chrome installed, so Vowen translates to the exe name first and only then tries the spoken name verbatim.
| You say | Vowen launches |
| ----------------------------------- | ----------------------------- |
| chrome, google chrome | `chrome` |
| edge, microsoft edge | `msedge` |
| firefox, mozilla firefox | `firefox` |
| brave / opera / vivaldi | `brave` / `opera` / `vivaldi` |
| vs code, vscode, visual studio code | `code` |
| word | `winword` |
| excel | `excel` |
| powerpoint | `powerpnt` |
| outlook | `outlook` |
| notepad | `notepad` |
| explorer, file explorer | `explorer` |
| calculator | `calc` |
| paint | `mspaint` |
| task manager | `taskmgr` |
| control panel | `control` |
| cmd, command prompt | `cmd` |
| powershell | `powershell` |
| terminal | `wt` (Windows Terminal) |
**Microsoft Store and UWP apps** have no `.exe` on PATH, so none of the above can find them. When every direct attempt fails, Vowen falls back to searching the Start Menu for an app whose name contains what you said, then launches it by its AppUserModelID through the shell Apps folder. This is what makes Store-installed apps reachable by voice.
Vowen resolves the `.desktop` entry through `gtk-launch`, falling back to running the bare command name.
Never use "open an app" to reach a website. Say the address instead and Vowen uses the **Open a website** tool below, which respects your default browser. Asking to "open Chrome" launches the browser at whatever it was showing.
### Open a website
### Timer
### Translation
### Open macOS settings
### Color palette
## Custom utilities
Custom utilities are voice-free AI shortcuts. Each one is a saved prompt bound to its own keyboard shortcut. Press the shortcut and Vowen runs that prompt against whatever you have selected (or on your clipboard), without recording anything.
They live on the same **Configure your AI > Command Mode** tab, below the built-in utility cards.
The Free plan includes **one** custom utility. Additional utilities require Pro. Custom utilities also require Command Mode to be connected and enabled. Unlike the Command Mode shortcut itself, a utility that can't run tells you so with a notification.
The dotted card at the end of the utility grid.
The name shows on the card and in shortcut-conflict warnings.
Six presets ship, free on every plan: **Polish text**, **Rewrite as email**, **Fix grammar & spelling**, **Make professional**, **Summarize**, and **Bullet points**.
The **Custom prompt** card in the same gallery lets you write the prompt yourself. That card is Pro.
A shortcut is required, and it must include at least one modifier plus one regular key (for example `Option+1` or `Ctrl+Shift+P`). Vowen refuses a combination already used by another utility, a tone, or a built-in shortcut.
### Prompt variables
Custom prompts support two variables, both captured automatically every run:
| Variable | Resolves to |
| ------------------- | ------------------------------------------ |
| `{{selected_text}}` | Whatever is highlighted in the focused app |
| `{{clipboard}}` | The current clipboard text |
If your prompt needs selected text and nothing is selected, Vowen tells you to highlight something first rather than sending an empty prompt. Same for an empty clipboard.
### What happens to the result
**The result appears in the paste confirmation banner**, exactly as a Command Mode result does. There is one output path and no setting to change it. `Tab` pastes it, `Cmd+C` / `Ctrl+C` copies a selection from it, `Esc` dismisses it. Nothing is written anywhere until you accept it, so a utility can never overwrite your selection behind your back.
`Esc` also cancels a run in flight, and a result that arrives after you canceled is discarded rather than shown.
Custom utilities are the one place besides Command Mode that reads your [Memory](/features/memory). The **Polish text** preset is the exception: it runs on the strict transcription-cleanup prompt, which deliberately gets no Memory context.
## Text-only commands
For pure text transformations (no files or actions), select text in any app and speak the instruction.
Selected text
Just wrapped up the Q3 review. We're tracking well on the product launch, engineering fixed the major bugs from last sprint, marketing is preparing the press kit for next month, and support tickets are down 20%. Sarah will lead the launch coordination going forward.
→
Summarize
"Summarize this"
Result
Q3 review highlights: • Product launch on track • Engineering bugs resolved • Marketing preparing press kit • Support tickets down 20% • Sarah leads launch coordination
Selected text
i should of sent this email yesterday but i forgot, your absolutely right we need to fix this asap, me and the team is on it.
→
Fix grammar
"Fix the grammar"
Result
I should have sent this email yesterday but I forgot. You're absolutely right, we need to fix this ASAP. The team and I are on it.
Selected text
hey can u look at the PR I sent? lmk what u think, no rush but ideally before EOD
→
Make formal
"Make this more formal"
Result
Hi, could you please review the pull request I sent? Let me know your thoughts. There is no immediate rush, but ideally before end of day.
Selected text
for next week we need to confirm the venue book the catering send the invites finalize the agenda and prepare the slides
→
Format as list
"Turn these into bullet points"
Result
For next week: • Confirm the venue • Book the catering • Send the invites • Finalize the agenda • Prepare the slides
Selected text
Hi, I noticed the report you sent was missing the section on customer retention. Could you add it and resend? Thanks, Jamie
→
Draft a reply
"Write a reply to this"
Result
Hi Jamie,
Apologies for the oversight. I'll add the customer retention section and send the updated report by end of day.
Thanks for catching that!
## Multilingual support
Command Mode works in every language Vowen's transcription supports. Speak a command in Spanish, Hindi, French, or Japanese and Command Mode understands the instruction and runs the task in that language. File conversions, timers, translations, formatting, and drafting replies all work regardless of the language you spoke.
For best results on non-English commands:
* Pair a multilingual speech model (Whisper Large v3, Groq Whisper, or any of the cloud providers) with a capable multilingual AI model such as **Claude Sonnet 4.6**, **GPT-5.4**, or **Gemini 3.5 Flash**
* The smallest, fastest models can struggle to follow instructions in low-resource languages
* Translation commands auto-detect both source and target languages
## Requirements
* An [AI provider must be configured](/ai-features/ai-setup)
* **Command Mode must be switched on** at Configure your AI > Command Mode. It is off until you enable it, and the shortcut is silent until then
* Use a model that follows instructions and emits clean JSON reliably. Good picks from the shipping catalogs: **GPT-5.4 Mini** or **GPT-5.4** (OpenAI), **Claude Sonnet 4.6** (Anthropic), **Gemini 2.5 Flash** or **Gemini 3.5 Flash** (Google), **GPT-OSS 120B** (Groq or Cerebras) if you want a free option
* **Context-awareness** and **Drag to capture region** additionally need Screen Recording permission on macOS
The smallest tier of any provider can produce inconsistent tool calls, especially on non-English commands. If Command Mode behaves unpredictably, move one model up before changing anything else.
***
Connect Groq, OpenAI, Anthropic, Gemini, or any of 10 supported providers.
Running into issues with Command Mode? See [AI & API Issues](/troubleshooting/ai-issues).
# Custom Instructions
Source: https://docs.vowen.ai/ai-features/custom-instructions
Customize how AI processes your transcriptions.
Custom Instructions for dictation are **free on every plan**. There is nothing to upgrade for.
## Overview
Custom Instructions guide how the AI handles your text. Vowen appends them to the system prompt used during AI Enhancement and Command Mode, marks them as the highest-priority section, and they override the base cleanup rules wherever the two conflict.
They are applied silently. The prompt forbids the model from echoing, quoting, summarising, or acknowledging your instructions, so nothing like "(per the rules above)" ever lands in your document.
## The three prompt inputs
Three inputs shape the prompt. You configure two of them; the third runs on its own.
Global
Configure your AI > Configuration > Custom Instructions
A toggle plus a text area, directly beneath Enhance transcription with AI. Applies to every transcription regardless of app or mode. Click Save Changes to apply.
Per-Tone
Tones > \[Tone] > Instructions
Applies only while that Tone is active, matched on the focused app, the website you're on, or the Tone's own shortcut. See Tones.
Dictionary (automatic)
No setting to configure
Your Dictionary entries are injected into every prompt as a context block, so the model spells your names and jargon your way.
When a Tone is active, the Tone's instructions go in **first** and your global instructions follow, both inside the same high-priority block. Keep permanent, universal rules global and situational voice in the Tone.
### The automatic dictionary block
You never write this one. Vowen builds it from your Dictionary and attaches it to every AI call:
| Where | How many terms |
| -------------- | -------------- |
| AI Enhancement | 20 |
| Command Mode | 10 |
The terms are the **most recently added** ones, not the alphabetically first. The Dictionary is stored alphabetically, so taking "the first 20" would only ever show the model the start of the alphabet, and a term you added yesterday would never reach the prompt.
The model is told to replace a transcript word only when it is an obvious phonetic mis-hearing of an entry, and to leave normal correctly-spelled words alone. An entry for the name "Mark" must not turn "mark the calendar" into "Mark the calendar."
**Memory is not a prompt input here.** Your saved [Memory](/features/memory) items reach **Command Mode and Custom Utilities only**. They are never sent to AI Enhancement, never to meeting summaries, and never to Ask AI.
**Meeting-note custom instructions are a different setting.** The instructions on this page shape *dictation*. Custom instructions for meeting-note summaries live in Notes settings and are a Pro feature.
## What to include
* "Use bullet points for lists"
* "Use Oxford commas"
* "Keep paragraphs to 2-3 sentences"
* "Format dates as DD/MM/YYYY"
* "My name is spelled 'Ijuel' not 'EOL'"
* "The product is 'PostgreSQL' not 'post-gress'"
* "Refer to my company as 'Acme Corp' not 'acmee' or 'akmay'"
* "Write in active voice"
* "Avoid exclamation marks"
* "Use American English spelling"
* "Keep sentences under 20 words"
* "Never add greetings or sign-offs"
* "Don't convert technical terms to plain English"
* "Preserve code-related terms exactly as spoken"
## Examples in action
### Date and number formatting
**Instructions:** *"Format dates as DD MMM YYYY (e.g., '12 May 2026'). Spell out numbers one to nine; use digits for 10 and above. Add a comma in numbers ≥ 1,000."*
**How it helps:** Locks every transcription to a consistent number and date style without you reformatting manually, which is especially useful for reports, status updates, and metrics summaries.
Default output
We launched on May 12 2026 and got 2500 signups in the first 3 days. 3 of the integrations broke and there were 15 customer complaints.
It writes
We launched on 12 May 2026 and got 2,500 signups in the first three days. Three of the integrations broke and there were 15 customer complaints.
### British English spelling
**Instructions:** *"Use British English spelling throughout: color, organisation, realize, favour, behavior, center, theatre, program. Maintain British conventions everywhere, including in word endings ('-ise' not '-ize')."*
**How it helps:** Locks every transcription to British conventions without you having to manually fix US spellings each time.
Default output
The organization's color scheme didn't favor the team's behavior; we'll need to realize a new design centered on user feedback.
It writes
The organisation's color scheme didn't favour the team's behavior; we'll need to realize a new design centered on user feedback.
### Brand and jargon preservation
**Instructions:** *"Always spell brand and product names correctly: PostgreSQL (not 'post-gress' or 'postgres q l'), Anthropic (not 'antropic'), TypeScript (not 'type script'), Cloudflare (one word, capital C). Preserve exact technical terms as spoken."*
**How it helps:** Stops the AI from "correcting" technical vocabulary it doesn't recognize, so brand names and product names land right every time.
You speak
We're migrating from post-gress to a new antropic-backed system, with type script and cloud flare in front.
It writes
We're migrating from PostgreSQL to a new Anthropic-backed system, with TypeScript and Cloudflare in front.
### Active voice rewrite
**Instructions:** *"Convert passive voice to active voice. Identify the actor and restructure the sentence so they're the subject. Keep the original meaning intact."*
**How it helps:** Makes spoken thoughts read more direct and decisive on the page, which is especially useful for status updates, reports, and PRs.
You speak
The bug was identified by the QA team after the deployment was completed by engineering, and a fix has been proposed by the senior developer.
It writes
The QA team identified the bug after engineering completed the deployment, and the senior developer has proposed a fix.
## Tips
* Be specific. "Use bullet points" works better than "format nicely"
* Test your instructions with a few transcriptions and adjust
* Don't over-constrain. Too many rules confuse the smallest, cheapest model tiers
* For a single recurring spelling, add it to your [Dictionary](/features/dictionary) instead. It reaches the prompt automatically and costs you no instruction budget
* Instruction-following is the thing to pay for if a rule keeps getting ignored. **Claude Sonnet 4.6**, **GPT-5.4**, and **Gemini 3.5 Flash** all hold a longer rule list than the nano and lite tiers
Connect Groq, OpenAI, Anthropic, Gemini, or any of 10 supported providers.
# Tones & per-app profiles
Source: https://docs.vowen.ai/ai-features/tones
Change writing style, models, and language automatically based on where you're typing.
The Free plan includes **1 Tone**, so you can build a real one before upgrading. Pro removes the cap.
API key required for the AI parts. A Tone with AI Enhancement on needs a Language Model connected. Set one up under Configure your AI. A Tone that only switches the speech model or dictation language works without any provider.
Tones are recording profiles that switch themselves on. A Tone can change your writing style, your speech model, your dictation language, and which AI model does the enhancing. It activates on its own based on the app you're in, the website you're on, or a key you press.
Find them in the sidebar under **Vowen AI > Tones**.
## How a Tone is chosen
When you start dictating, Vowen resolves exactly one Tone, in this order:
If you started the recording with a Tone's own shortcut, Vowen uses that Tone regardless of what app is focused.
If a browser is frontmost and its URL matches a Tone's website list, that Tone wins. **A website rule deliberately beats an app rule.** The page you're on says far more about what you're writing than "some window of Chrome is focused" does.
Otherwise, the first enabled Tone whose app list contains the focused app.
No match, no Tone. Your global speech model, language, enhancement toggle and custom instructions apply.
A Tone that is switched **off** is skipped entirely at every step. Disabling behaves exactly like deleting it, minus losing the configuration.
## Creating a Tone
Sidebar > **Vowen AI** > **Tones**.
Click the create button. The editor opens as a single scrolling dialog with four labeled sections.
See below. Only **Icon & Name** is required.
A shortcut that collides with another Tone or a built-in shortcut blocks saving outright, with the conflict named.
### The four sections
Pick an icon and type a name. The name is what the Tones list shows, what the recording pill shows while the Tone is active, and what a conflict warning names.
* **Active in Apps**: pick apps from a searchable list of what's installed. The Tone applies whenever one of them is focused.
* **Websites**: see [Website rules](#website-rules) below.
* **Shortcut**: bind a key (or mouse button) that forces this Tone. Choose **hold** or **tap-to-toggle**, the same choice the global shortcuts offer. A clear button removes the binding.
A Tone needs none of these. With all three empty it never activates on its own, which is useful while you're still writing its instructions.
* **Speech Model**: the transcription model to use. Defaults to "use global default", with the current global named so you can see what you're overriding.
* **Language**: the spoken language for this Tone's recordings. Also defaults to the global.
* **AI Enhancement**: on or off for this Tone. Disabled until an AI provider is connected.
* **Language Model**: which configured provider and model enhances this Tone's dictation. Only appears once AI Enhancement is on.
A free-text area of style directives sent to the AI while this Tone is active, with a live character count. It is disabled unless AI Enhancement is on for the Tone, and the editor says so rather than letting you type into a field that will be ignored.
## Website rules
A Tone can list websites the way it lists apps, so a "Formal email" Tone can fire on `mail.google.com` without also firing on every other tab in the same browser.
Website rules work on **macOS and Windows**. Linux has no browser URL reading, and the tone editor says so if you add one there.
Type entries the way you'd say them, not as regexes:
| You enter | It matches |
| --------------------- | -------------------------------------------------- |
| `github.com` | github.com and any subdomain of it |
| `mail.google.com` | that host and its subdomains only |
| `github.com/vowen-ai` | that host, and only paths under `/vowen-ai` |
| `*.slack.com` | same as `slack.com`; the leading `*.` is tolerated |
Scheme, `www.`, ports, query strings and fragments are ignored on both sides. Path matching is segment-aware, so `/vowen-ai` matches `/vowen-ai/repo` but never `/vowen-ai-labs`.
### Installed web apps and PWAs
On macOS, a site you have installed as its own app still matches your website rules. That covers Chromium's "Install this site as an app" and Safari's "Add to Dock". Those installs get a freshly minted bundle identifier per install, so no app list could ever name them, but Vowen recognizes the shape and reads the URL exactly as it would in a tab.
Vowen reads the browser URL only when at least one enabled Tone has a website on it. If none do, nothing is read and the feature costs you nothing.
## Per-Tone shortcuts
Binding a shortcut to a Tone gives you a dictation key that carries a whole profile. **The Tone applies from anywhere, whatever app is focused.** Press your "Technical" key inside your mail client and you get the technical Tone, app rules ignored.
* Hold or tap-to-toggle, chosen per Tone
* Mouse buttons can be bound as well as keys
* Conflicts with another Tone or a built-in shortcut are detected before you save, and the conflicting owner is named
* A Tone whose shortcut fires while it is **disabled** falls back to global settings rather than applying silently
## Switching Tones by hand
Two surfaces let you override matching without opening settings:
* **The idle pill** carries a tone chip showing which Tone the next dictation would use. Open it and pick any Tone to pin it, or **Automatic** to hand control back to app and website matching. Pinning is sticky rather than one-shot, and the chip shows the pinned Tone with a visible marker so it can't linger unnoticed.
* **The native notch bar** (macOS) shows the same thing as a glyph with a dropdown: **Automatic** with the currently resolved Tone as its subtitle, then every Tone, then **Manage tones**.
## Example setups
### Personal finance email
Mail, Outlook, Spark
**Instructions:** *"Write in a professional, polite tone for finance and billing correspondence. Use proper greetings and sign-offs. Be specific with amounts, dates, and reference numbers. Keep paragraphs short. Direct but courteous."*
**How it helps:** Turns a stream-of-consciousness ramble about a charge, refund, or account issue into a clean, structured email a bank or merchant can actually act on. No more rewriting drafts before you hit send.
You speak
Hey so I noticed there's this random thirty seven dollar charge on my card from like two days ago that I don't remember making, can you guys look into this and let me know what it is, and if it was a mistake can you reverse it? Thanks
It sends
Hi,
I noticed a \$37 charge on my card from two days ago that I don't recognize. Could you confirm what this charge is for? If it was made in error, I'd like to request a reversal.
Thanks,
### Casual chat
Slack, Discord, Messages
**Instructions:** *"Keep it casual and friendly. Short sentences. No formal greetings or sign-offs. Use lowercase where natural."*
**How it helps:** Strips formality so messages sound like quick DMs, not emails. Long, polite sentences collapse into punchy lines that fit the rhythm of a chat thread.
You speak
Hi team, I just wanted to let everyone know that I have finished the quarterly report and it is now ready for review whenever you have a moment to look at it.
It posts
q report's done, take a look when you can
### Talking to AI coding agents
Cursor, Codex, Ghostty
**Instructions:** *"Convert natural-language descriptions of UI changes into precise developer language. Use proper CSS, Tailwind, and component terminology. Be specific about properties, units, and behaviors. Keep it terse, agent-style prompts with no greetings or filler."*
**How it helps:** When you describe what you want in plain English, the AI gets a clean technical instruction it can execute without guessing. "Make it look better" becomes a precise list of properties to change.
You speak
So basically I want the card on the left to take up all the rest of the room going across, and then inside it the buttons should be stacked on top of each other with some spacing between them, not crammed together.
It sends to your agent
Make the left card flex-1. Inside it, set the button container to flex flex-col gap-3.
### Brain-dump to structured notes
Notion, Obsidian, Notes
**Instructions:** *"Format dictated thoughts as structured notes. Use bold headings for topics and bullet points for items. Group related ideas together. Strip filler words like 'okay', 'so', 'I think'. Keep it scannable, no full paragraphs."*
**How it helps:** Turns a rapid brain-dump into a clean, scannable document you can revisit later. Topics become headings, action items become bullets, and no rewriting is needed.
You speak
Okay so for the launch next month we need to finalize the pricing tiers, talk to legal about the terms update, the marketing team needs the screenshots by Friday, oh and we should test the onboarding flow one more time, also I want to add analytics events to track the new buttons, and let's get a list of beta users to email.
It writes
Launch checklist • Finalize pricing tiers • Loop in legal for terms update • Send marketing team screenshots by Friday • Re-test onboarding flow • Add analytics events on new buttons • Compile beta user list for email
## How Tone instructions combine with global ones
A Tone's instructions do not replace your global ones. When a Tone with AI Enhancement is active, the Tone's instructions come first and your global **Custom Instructions** (Configure your AI > Configuration) follow, and the whole thing is sent as a single high-priority directive that overrides the base cleanup rules where they conflict.
Keep permanent, universal rules global (spellings, name corrections, date formats) and keep the situational voice in the Tone.
See [Custom Instructions](/ai-features/custom-instructions) for how to phrase them.
## Per-Tone models
Each Tone carries its own model choices, so you can spend where it counts:
* **Speech model**: pair higher accuracy with an email Tone, lower latency with a chat Tone.
* **Language**: a Tone for a language you only write in one app, without switching your global setting.
* **AI model**: a stronger model for long-form writing, the cheapest tier for quick messages.
A Tone with **AI Enhancement off** still applies its speech model and language. Turning enhancement off does not turn the whole Tone off. It only means nothing is sent to an AI provider for that dictation.
***
Tones with AI Enhancement on require a configured Language Model. Connect Groq, OpenAI, Anthropic, Gemini, or any of 10 supported providers.
# Changelog
Source: https://docs.vowen.ai/changelog
What's new and changed in Vowen.
## v0.5.5
Screenshots you take by pointing at things mid-dictation, a history that no longer forgets, and tone instructions that are finally obeyed in full.
### New
* **Capture screenshots while dictating (Pro, macOS and Windows).** `Cmd+click` (`Ctrl+click` on Windows) during a hands-free or Tap-mode dictation captures a screenshot cropped to whatever you pointed at, with that area ringed and the rest dimmed. The shots are inserted after your transcript, so a prompt can show what it is describing. Off by default; turn it on in Settings → Experimental.
### Improved
* **Meeting notes and transcriptions stop being evicted.** Both lists were capped at 100, and every write past that quietly deleted the oldest entry. That cap is gone for both, so neither list drops anything unless you delete it. Dictation history still keeps your most recent 100.
* **A switch for the drag-to-insert banner (macOS).** Settings → General now has a toggle for the banner shown when a dictation ends with nothing editable focused. Turn it off and Vowen always pastes, the pre-0.5.3 behaviour.
### Fixed
* Fixed tone custom instructions coming back half-applied. A tone asking for a translation or a different register was read before the rule that keeps output in the language you spoke, and lost to it. Custom instructions are now the last thing the model reads and take priority over it.
* Fixed smart capitalization overriding a tone's own casing rules. A tone asking for all lowercase had its first letter capitalized straight back; a tone now owns the casing for that dictation, while spacing and terminal punctuation still apply.
* Fixed the drag-to-insert banner appearing in Google Docs, Typora and other canvas-rendered editors on macOS. They report the document rather than the caret inside it, which read as nothing being focused. Those now paste.
## v0.5.4
A dictionary that learns from your corrections, Ask AI that can edit the note, and a run of dictation-accuracy fixes.
### New
* **A dictionary that learns from your corrections (Pro).** Fix a word Vowen got wrong and it offers to remember it. New names after one sighting, recurring mishearings after two. See [Dictionary](/features/dictionary).
* **Names spelled the way they appear on screen (Beta, macOS).** With AI enhancement on, Vowen reads names and product terms out of the window you are dictating into, so they land spelled correctly. No screenshots, no extra model call.
* **Ask AI can rewrite the note (Pro).** Ask for a tighter summary or a better title and Ask AI applies it, with an undo. The transcript stays read-only. See [Ask AI](/meeting-notes/ask-ai).
* **Ask AI in meetings without live transcription (Pro).** Live Ask no longer needs a streaming engine. Vowen transcribes only the part of the meeting it has not seen yet.
* **Claude Code and Codex as summary writers.** If the `claude` or `codex` CLI is installed and signed in, it appears as a provider for meeting summaries. No API key to paste. See [Summaries](/meeting-notes/summaries).
* **Find and replace in summaries.** `Cmd/Ctrl+F` searches the summary editor and `Cmd/Ctrl+Shift+F` opens replace. Replace All is a single undo step.
* **Jump between note tabs.** `Cmd+1`, `2` and `3` go straight to Summary, Transcript or Ask AI, keyed to the physical key so the chords still land on AZERTY.
* **Dictations stay out of clipboard history.** Clipboard managers no longer collect every dictation you paste. There is a switch in Developer settings if you want them recorded.
* **A get-started checklist.** A pill in the corner of settings tracks the six things worth setting up first, and retires itself once you finish.
### Improved
* **Enhancement that keeps up with you.** Thinking is now floored per model family, measured 6.9x faster on Gemini 3, OpenRouter routes for latency, and the prompt is 18% shorter.
* **Voice Shortcuts, rebuilt.** The voice shortcuts page is now built around what a voice shortcut does: trigger phrase, then action, with real logos and browser and profile pickers in line. See [Voice Shortcuts](/features/workflows).
* **Connectors, Permissions and Sync, rebuilt.** Connectors says what each one can do before you connect it, Permissions says what is missing and how to fix it, and Sync says what it last did.
* **Pages that say what they are for.** The meeting-notes and transcribe pages now lead with the apps and file types they work with.
* **The Pro screens.** Free and Pro share one card design across Account settings and the upgrade modal, and activating a licence gets a proper thank-you screen.
* **Closing a modal leaves you where you were.** Dismissing a modal opened from a notes subpage no longer drops you back onto the subpage you had left.
### Fixed
* Fixed ElevenLabs losing an entire dictation when the server refused a commit, and a late partial pasting the dictation twice.
* Fixed the last few words going missing on stop. AssemblyAI, ElevenLabs and the Gemini live models now wait for the flush to be answered.
* Fixed the first word being lowercased in Outlook, Teams and Gmail on Windows.
* Fixed full stops being eaten whenever anything sat to the right of the caret, including Send and Reply buttons.
* Fixed dictations that trail off ending in a dash instead of a full stop.
* Fixed the meeting banner chevron pointing the wrong way and closing the template menu on click.
## v0.5.3
A quick-fix patch released for Windows. No new features and no What's New entry.
### Fixed
* Fixed a race condition that could leave keyboard shortcuts unregistered.
## v0.5.2
The Meeting Panel, public share links, a 44-template library, and an app roughly 40% smaller.
### New
* **The Meeting Panel.** Press `Cmd/Ctrl+\` during a meeting for a floating panel over whatever app you are in. Jot context on any plan; on Pro, ask questions and follow the live transcript. It never appears in your own screen share. See [Meeting Panel](/meeting-notes/meeting-panel).
* **Public share links (Pro).** Publish a meeting note as a link anyone can open. The summary and transcript go; audio, screenshots, your private notes and Ask AI conversations stay behind. Revocable. See [Sharing](/meeting-notes/sharing).
* **A library of ready-made templates (Pro).** Forty-four summary formats, browsable and searchable, editable once added. See [Templates](/meeting-notes/templates).
* **Citations in your summaries (Pro).** Every bullet carries the timestamp it came from. Click one to jump to that moment in the transcript and cue the audio there. See [Summaries](/meeting-notes/summaries).
* **Ask AI gets its own tab (Pro).** Notes now have a dedicated Ask AI tab with saved conversations in the sidebar, grouped by recency, renameable, and persistent across restarts. See [Ask AI](/meeting-notes/ask-ai).
* **Rank your microphones.** Microphone choice is an ordered list rather than a single pick. Vowen opens the highest-ranked one actually plugged in.
* **A separate mic order for meetings.** Meetings can follow their own ranking, or keep inheriting your global order.
* **More than one custom speech server (Pro).** Add as many OpenAI-compatible speech endpoints as you want, each with its own name, URL, model and key. See [Models](/transcription/models).
* **Teach the dictionary how you get misheard.** Any dictionary word can carry the ways it gets misheard, corrected automatically in your dictations. See [Dictionary](/features/dictionary).
* **Echo cancellation for meeting notes (macOS).** The other side of the call is no longer recorded twice on speakers. Needs macOS 14 or later on Apple silicon.
* **Tones and new notes from the idle pill.** A tone switcher and a New Note button with a template picker, drawn natively in the notch when using the notch indicator.
* **Tags that come with the template.** Give a template tags and every note it produces is tagged from the moment recording starts.
* **Mic-only templates.** A per-template switch for capturing system audio, so in-person meetings and voice journals do not record your speakers.
* **Choose the browser and profile.** A voice shortcut that opens URLs can say which browser and which profile within it.
* **Find, back and forward.** `Cmd/Ctrl+F` or `/` focuses search on the notes, transcribe, history, dictionary, threads and expansions pages. `Cmd+Left`/`Cmd+Right` step back and forward browser-style.
### Improved
* **Vocabulary that reaches the provider.** Your dictionary now goes through each provider's own biasing parameter instead of one generic prompt, and reaches meeting notes and file transcription. It also used to be truncated alphabetically; it now keeps what you added most recently.
* **A much smaller download.** Bundled SDKs, duplicated dependencies and unused Chromium locales cleared out. On Apple silicon the app is now around 373 MB, down from about 600 MB. The on-device GigaAM Russian engine was retired with it; Russian still transcribes on cloud models and multilingual Whisper.
* **Music that stops the instant you record (Pro, macOS).** Muting background audio now lands in milliseconds. Headphones plugged in mid-recording no longer un-silence your Mac.
* **Pausing falls back to muting (Pro).** When an app refuses a pause, Vowen checks the output device and mutes instead of quietly doing nothing.
* **The meeting indicator, rebuilt.** Responsive level meter, audio-reactive glow, live status label, and a stop button that reads as stop. The detected-meeting banner carries the app's logo and a split Start button.
* **Long recordings on Gemini.** Recordings past about twenty minutes no longer die on an opaque socket error. They are compressed, and past roughly half an hour uploaded through Gemini's Files API, then deleted once the transcript returns.
* **A live transcript that reads like one.** Words in flight settle in place instead of re-flowing, and speech split across two emissions no longer arrives fragmented.
* **Waveforms with actual shape.** Meeting waveforms no longer flatten the remote side into a one-pixel line. Existing recordings recompute on first open.
* **Search your notes settings.** The meeting-notes settings modal gets a search box that surfaces matching rows across all five tabs at once.
* **Shift-click to select a range.** On the notes and transcribe lists, following whatever filter and sort you have applied.
* **Escape means escape.** `Esc` closes the top-most thing and only that, asks before discarding unsaved editor changes, and clears list selections.
* **One scroller per page.** Dictionary, Threads, Expansions, Models and Voice Shortcuts keep their banner and search bar pinned while only the content scrolls.
* **Tones inside installed web apps (macOS).** Website rules now match inside PWAs, and installed web apps appear in the app picker.
### Fixed
* Fixed a freeze seconds after launch on macOS.
* Fixed every shortcut going dead at once when macOS switched off the key tap under load. It now recovers on its own within seconds.
* Fixed a bare "D" starting dictation and a bare "P" starting Command Mode from stuck modifier flags.
* Fixed text expansion quietly switching itself off mid-session.
* Fixed the last word going missing on Deepgram, ElevenLabs, Mistral and others. Trailing-silence trimming was being applied to cloud models by accident.
* Fixed undoing a cancellation leaving the indicator stuck, resuming in the wrong mode, and dropping your tone and language.
* Fixed starting a recording from the idle pill making your keyboard shortcut a no-op.
* Fixed system-audio capture attaching and delivering silence on FaceTime and Phone calls (macOS).
* Fixed auto-started meetings resolving settings before they finished loading, silently dropping Identify Speakers, model, language and template.
* Fixed picking an unconnected summary provider silently falling back to a different one.
* Fixed the recording indicator opening expanded at the start of every meeting, and being clipped when a banner was dismissed.
* Fixed a local diarization bundle being downloaded for cloud-model meetings that never touch it.
* Fixed Vowen detecting its own microphone use as a meeting.
* Fixed the indicator, its card and the meeting panel rendering about 11% too large in the installed app.
## v0.5.1
Tones rebuilt around your whole dictation setup, Nemotron on-device models, and smart spacing.
### New
* **Tones, rebuilt.** Every tone carries its own speech model, spoken language, AI model and writing instructions, so switching tone switches your whole setup. See [Tones](/ai-features/tones).
* **Per-tone shortcuts.** Bind a key to any tone and dictate with it from anywhere. Clashes are caught the moment you record them.
* **Website rules for tones.** A tone can match on the site you are on, not just the app, and a site rule wins over an app rule.
* **Nemotron speech models (macOS).** Two new on-device NVIDIA models, English and multilingual (25+ languages), transcribing in real time and punctuating as they go. See [Models](/transcription/models).
* **Smart spacing and capitalization.** Dictated text reads as part of the sentence it lands in. Always on, entirely on-device.
* **1,000+ connectors via Composio (Pro).** Connect Gmail, Drive, Docs, LinkedIn and a thousand more through your own Composio account. See [Connectors](/integrations/connectors).
* **Watch folders for meeting notes (Pro).** A watch folder can produce meeting notes instead of plain transcriptions, summarized with the template you pick. See [Watch folders](/meeting-notes/watch-folders).
* **Signed webhooks (Pro).** Add a signing secret and every webhook carries an `X-Vowen-Signature` HMAC, a timestamp and a delivery ID. See [Webhooks](/integrations/webhooks).
* **Nowhere to paste? Drag it in.** Dictating with no text field focused now shows the text in a banner you can copy or drag into any app.
* **Hold to cancel.** Hold the stop button on the recording indicator to throw a take away.
* **Find, replace and merge in transcripts.** Replace one match or all, merge a line into the one above while reassigning the speaker, and split at the caret.
* **More mouse buttons.** M6, M7 and M8 can now be bound to any shortcut.
### Improved
* **OpenAI's newest transcription models.** Dictation and file transcription run on `gpt-live-transcribe` and `gpt-transcribe`.
* **Cmd+K searches your content.** The command palette now searches your dictations, meeting notes and transcriptions by content. See [Command palette](/features/command-palette).
* **Multi-turn commands in the voice log.** A command-mode conversation with several refinement turns shows as one pageable entry.
* **Summaries that retry themselves.** A failed summary retries automatically, and says why if it still cannot finish.
* **Faster diarization for notes (Windows).** The diarization engine is prewarmed, so speaker labels appear without the first-run stall.
* **Bluetooth mics get time to connect.** AirPods and other Bluetooth headsets are no longer declared dead after 700ms.
* **App icons that are actually right.** Icons are warmed on app switch and persisted to disk.
* **Your clipboard comes back by default.** Clipboard restore after a paste is now on out of the box.
* **Screensaver counts as walking away (macOS).** A screensaver without a lock now stops a long-running recording.
* **Replacements respect word boundaries.** "cat" no longer rewrites the middle of "catalog".
* **Local engine recovery.** The local speech daemon restarts cleanly after a crash, and system-audio capture retries on its own.
* **Refreshed lists and pages.** Consistent tag sizing, scroll fades, a reworked transcribe modal and file picker, and clearer AI-enhanced and command-mode badges.
* **Live preview that keeps up (Pro).** The real-time preview in meeting notes no longer fights your scroll position, and says why it is off when your model cannot stream.
### Fixed
* Fixed the recording indicator's invisible bounds eating clicks meant for the app underneath.
* Fixed shortcuts not firing from on-screen and accessibility keyboards (macOS).
* Fixed the keyboard-layout probe consuming pending dead keys on Windows, so accents vanished.
* Fixed meeting detection leaving orphaned mic-listener processes behind, degrading audio system-wide (macOS).
* Fixed DeepSeek returning empty AI enhancements because thinking mode swallowed the output.
* Fixed custom vocabulary sent to Groq leaking into the transcript as a prompt echo.
* Fixed regenerating a transcript with a different model overwriting your global transcription defaults.
* Fixed meeting note titles reverting or failing to save while being edited.
* Fixed softly-spoken final words still being clipped by the trailing-silence gate.
* Fixed tooltips being cut off in the idle pill and the connectors list not scrolling.
* Fixed some clipboard contents not surviving a dictation intact (Windows).
* Fixed leftover focus juggling that made Vowen activate other apps or hide behind them (macOS).
## v0.5.0
Vowen arrives in the terminal, with a CLI, an MCP server, and watch folders.
### New
* **The Vowen CLI.** Transcribe files, browse and search your notes, and manage tags, vocabulary and expansions from the command line. Install it with one click from settings. See [CLI](/cli/overview).
* **Claude Code and Opencode integration.** Run `vowen mcp` and any MCP-compatible agent can read your transcripts and notes and transcribe audio on demand. See [MCP server](/cli/mcp-server).
* **Watch folders (Pro).** Point Vowen at a folder and every audio or video file dropped in is transcribed automatically, with per-folder tags and rules. See [Watch folders](/meeting-notes/watch-folders).
* **Native system audio for meeting notes (macOS).** Meeting notes capture the other side of the call through a native engine instead of a screen-share stream. Far more reliable with Bluetooth headsets.
* **Pause your music while you record (Pro).** Pauses whatever is playing the moment you start recording, and resumes it when you stop.
* **Choose which apps count as meetings (Pro).** Toggle each meeting app individually, and set a rule for everything else. See [Recording](/meeting-notes/recording).
* **Start notes with the right template.** "Start taking notes" is now a split button: start with your default, or pick a different one on the spot.
* **Summary language control.** Choose the language your summaries are written in, globally or per template, or leave it on auto-detect.
* **Default settings for file transcriptions.** A gear on the Transcribe page sets model, language, timestamps and automatic export for every file. See [Manual transcription](/transcription/manual-transcription).
* **Merge speaker segments.** Collapse back-to-back segments from the same speaker into a single block. See [Diarization](/meeting-notes/diarization).
* **Pick realtime or batch per provider.** Choose between streaming and batch for OpenAI, plus new verbatim and audio-event options for ElevenLabs.
* **Auto-translate from the tray (Pro).** Flip translate-to-English on or off without opening settings.
### Improved
* **Long recordings on OpenAI.** Dictations and files past OpenAI's 25-minute limit are chunked automatically.
* **Cooler, lighter long meetings.** Hidden animations are throttled and the discarded screen-capture stream capped, cutting CPU and GPU load over long sessions.
* **Sync that deletes exactly what you deleted (Pro).** A restructured sync engine tracks deletions explicitly, keeps every note in its own file, and syncs your expansion fill-in variables. See [Cloud sync](/features/cloud-sync).
* **Consistent exports everywhere.** The list pages offer the same export options as the detail pages, including SubRip and WebVTT in bulk exports.
* **Settings search shows the real thing.** Searching settings renders the actual sections filtered to matching rows, so you can flip a switch from the results.
* **Modern British spellings.** UK English conversion no longer produces archaic spellings like "instal".
* **Clearer no-speech errors.** A recording with no detectable speech says exactly that instead of a generic error.
* **Refreshed AI model lineup.** Updated to the latest provider releases; Straico retired following its shutdown.
* **Polished notch indicator (macOS).** Refined styling, and it no longer gets in the way of command-mode banners.
### Fixed
* Fixed the extra key on ISO keyboards not being bindable as a hotkey.
* Fixed the accent popup and emoji picker going dead system-wide while Vowen sat idle (macOS).
* Fixed the filler-word filter stripping "um" from German dictations, where it is a real word.
* Fixed trailing-silence removal clipping softly-spoken final words.
* Fixed local Whisper inserting stray spaces in the middle of long words.
* Fixed connection failures on networks with broken IPv6 routing by falling back to IPv4.
* Fixed holding Option during region capture switching focus away from your app (macOS).
* Fixed meeting-note screenshots always grabbing the primary monitor instead of the display you are on.
* Restored the missing logos on connector cards.
## v0.4.10
A command palette, an interface in 18 languages, and speaker diarization on Windows.
### New
* **Command palette.** Press `Cmd/Ctrl+K` to jump to any page, setting or action from one launcher. See [Command palette](/features/command-palette).
* **Vowen in 18 languages.** The entire interface is now localized. Pick yours during onboarding or in settings.
* **Fill-in fields in expansions.** Add `{{placeholders}}` to an expansion and Vowen pops up a form to complete them, with dropdown options and a reusable variable library. See [Text expander](/features/text-expander).
* **Hold or tap.** Each recording shortcut can work as hold-to-talk or tap-to-toggle, set per shortcut. See [Shortcuts](/features/shortcuts).
* **Speaker diarization on Windows (Pro).** Meeting notes and transcriptions on Windows can label who said what, on-device. See [Diarization](/meeting-notes/diarization).
* **Configurable cancel shortcut.** The key that cancels a recording is now a real shortcut. Rebind it or disable it if `Esc` clashes with your editor.
* **Meeting notes from the tray.** Start, pause, resume and stop meeting notes without opening the main window.
* **Keep Obsidian in sync (Pro).** A note re-syncs to your vault whenever you edit it. See [Obsidian](/integrations/obsidian).
* **"Navigate to" in voice shortcuts.** A built-in step that opens any website by voice. Voice Shortcut URLs no longer need `https://` spelled out.
* **Resource-efficient mode for Parakeet (Windows).** Keeps Parakeet unloaded until you record, trading startup speed for lower idle memory.
### Improved
* **Much faster Parakeet on Windows.** Parakeet runs as a warm background service instead of reloading the model on every dictation.
* **Quick thread dictations skip the AI step.** A thread trigger on its own pastes your snippet directly. See [Threads](/features/threads).
* **Connector logins, rebuilt (Pro).** The whole OAuth sign-in happens inside Vowen, with tokens stored encrypted.
* **Sound when a file finishes transcribing.** So you can switch away while a long file processes.
* **Easier dictionary and thread management.** A quick-entry field for dictionary words, plus bulk import for both.
* **Polished tags, filters and settings.** Smoother tag picking, a clear-filters button, and list scroll positions that survive navigation.
* **Meeting pill hidden from screen shares.** The meeting-notes indicator is excluded from screen capture.
* **Silent recordings are kept, not lost.** A silent recording over a minute long is saved to history with a retry option instead of discarded.
### Fixed
* Fixed long dictations that decoded to empty text under heavy load producing nothing. They now retry automatically.
* Fixed dictation dying mid-recording after a mic or input-source change (macOS). It now recovers on its own.
* Fixed recordings stuck on "Listening" when macOS disabled the keyboard listener under load.
* Fixed the meeting indicator vanishing, drifting off-screen, or ignoring clicks on Windows.
* Fixed meeting notes capturing only the default speaker instead of every active output, including virtual devices (Windows).
* Fixed custom APIs serving local reasoning models failing the connection test while still thinking.
* Fixed microphone selection on Windows quietly falling back to the system default.
* Fixed "Start taking notes" being silently dropped when the settings window was closed.
* Fixed the hide-dock-icon setting being ignored when Vowen starts at login (macOS).
* Fixed regenerating a summary overwriting a title you edited by hand.
* Fixed local models that reply with an empty message alongside tool calls pasting raw JSON in Command Mode.
* Fixed changing the transcription language for meeting notes not applying to the next recording.
## v0.4.9
A notch recording indicator, re-transcription, and Windows voice shortcut scripts.
### New
* **Notch recording indicator (macOS).** A recording indicator that fans out from the menu bar while you dictate, on every Mac rather than only notched models. See [Recording indicator](/features/recording-indicator).
* **Re-transcribe a finished recording.** Re-run any completed dictation through your current model from its history entry.
* **Stop hands-free with a tap of Fn (macOS).** When your transcribe hotkey is Fn, a single tap stops an active hands-free recording.
* **Custom scripts in voice shortcuts (Pro, Windows).** Run your own PowerShell, cmd or batch scripts from a voice shortcut. See [Voice Shortcuts](/features/workflows).
* **German interface.** Vowen's interface is now available in German.
### Improved
* **Resilient model downloads.** Large downloads resume and reconnect after a dropped connection. See [Model download](/transcription/model-download).
* **Cleaner endings on transcripts.** Trailing silence is trimmed before transcribing, cutting the stray words some models add at the end.
* **Your full vocabulary, every time.** Removed the 50-word limit on custom vocabulary.
* **Meeting-note templates sync (Pro).** Custom templates now sync across your devices.
* **Tags in webhook payloads (Pro).** Deliveries include the tags on a note or transcription, so automations can route on them.
* **Microsoft Store apps in voice shortcuts (Windows).** App-specific voice shortcuts can target UWP apps, not just desktop programs.
* **Double-click Home for Overview.** A single click still keeps whatever tab you had open.
### Fixed
* Fixed the recorder starting but capturing no audio with a frozen level bar until restart (macOS).
* Fixed Fn hotkeys also sending the other key in the combo to whatever app you were typing in (macOS).
* Fixed binding and matching hotkeys that use special characters across keyboard layouts.
* Fixed speaker labels showing as placeholders in Obsidian notes and webhook payloads.
* Fixed voice activity detection for Parakeet streaming on Windows.
## v0.4.8
System audio for meeting notes on Windows, a My Notes tab, and batch file transcription.
### New
* **System audio for meeting notes (Windows).** Meeting notes capture the other side of the call straight from system audio, natively, with no virtual audio device. Falls back to screen-share audio automatically.
* **My Notes tab.** Context you type while a meeting records gets its own tab on the finished note. Edit it after the fact, then regenerate the summary from it. See [Meeting notes](/meeting-notes/overview).
* **Slash commands in the editor.** Type `/` in a note summary for headings, lists, quotes and more from a block menu.
* **Images in note summaries.** Embed images by URL, file picker, drag-and-drop or paste. Local images are copied alongside the note.
* **Batch file transcription.** Queue several audio or video files and transcribe them in one pass. See [Manual transcription](/transcription/manual-transcription).
* **Multi-select across transcriptions and history.** Select multiple items and export or delete them together.
* **Bulk export of selected items (Pro).** Export a chosen set of notes and transcriptions at once as Markdown, plain text or PDF, bundled into one archive.
* **Export transcripts as subtitles.** Export any timed transcript as SubRip (`.srt`) or WebVTT (`.vtt`).
* **Editable transcription titles.** Rename any manual transcription.
### Improved
* **Faster, more reliable recording.** Warm starts, device caching and a low-latency capture buffer cut the lag before your first word, and very short clips are padded so quick phrases are not dropped.
* **Crash recovery on Windows.** Vowen detects and recovers on its own, including a blank window or dead hotkeys after waking from sleep.
* **Redesigned language selection.** A dedicated picker with clearer organization. See [Languages](/transcription/languages).
* **Refreshed settings and memory pages.** A more consistent, less cluttered layout.
* **Parallel import of meeting notes.** Large imports finish much faster.
* **Default models shown in notes settings.** So it is clear what each recording will use.
* **Snappier recording indicator.** Reduced transition time so it appears and updates more instantly.
### Fixed
* Fixed the last word of a dictation being clipped.
* Fixed several transcription bugs affecting the Deepgram, Mistral and xAI providers.
* Fixed JSON object responses not being preserved when routing AI calls through OpenRouter.
* Fixed live transcription previews from separate recordings bleeding into each other.
* Fixed the drag handler on the meeting-notes recording indicator.
* Fixed drag-and-drop when importing notes.
* Fixed the recording indicator jumping back to its old position when a banner was dismissed.
* Fixed the "meeting detected" banner appearing when the prompt was turned off.
* Fixed very short or empty recordings surfacing a transcription error on Parakeet.
## v0.4.7
Transcript-only templates and finer control over what reaches Obsidian.
### New
* **Transcript-only templates.** Turn off AI summaries for any meeting-notes template. Recordings save just the transcript, and you can still create a summary by hand later. See [Templates](/meeting-notes/templates).
* **Pick a template from the meeting banner.** Choose which summary template to use for a detected meeting, just for that recording, without changing your default.
* **Choose what syncs to Obsidian (Pro).** Decide whether each note pushes its summary, its transcript, or both. See [Obsidian](/integrations/obsidian).
### Improved
* **Soniox Speech-to-Text v5.** Soniox now runs on the v5 models for both real-time dictation and file transcription. See [Models](/transcription/models).
* **Default microphone in the menu.** The tray menu has an explicit "Default microphone / Same as system" option.
### Fixed
* Fixed heavy CPU load silently disabling Vowen's keyboard listener until restart (macOS). It now recovers on its own.
* Fixed scrubbing through imported audio and video in a different format jumping back to the start.
## v0.4.6
Meeting auto-stop, region capture for Command Mode, and background auto-sync.
### New
* **Auto-stop meeting notes when the meeting ends (Pro, macOS).** Vowen notices when your meeting app releases the mic and offers to wrap up, with a 15-second grace period and a one-click cancel. See [Recording](/meeting-notes/recording).
* **Region capture for Command Mode (Pro).** Drag to select any region of your screen and hand it to Command Mode as visual context. See [Command Mode](/ai-features/command-mode).
* **Expansion suggestions dropdown (Pro).** Start typing a `:` shortcut and a live dropdown of matching expansions appears. See [Text expander](/features/text-expander).
* **Cartesia Ink 2 transcription.** Available as a cloud model for dictation, meeting notes and file transcription. English-only. See [Models](/transcription/models).
* **Tag your expansions.** Organize expansions with tags and filter by them.
* **Tag manual transcriptions.** Apply tags to files you transcribe manually and filter by them.
* **Filter meeting notes by person.** Attendees show on each note card, and you can filter by who was in the room.
* **Filter history by voice vs Command Mode.** Narrow history to only dictations or only command results.
* **Mention dates when importing notes.** Reference a date as you import and Vowen files the note under the right day.
* **Per-app voice shortcut folders.** Point a voice shortcut at a specific folder for each app.
* **Sync to Obsidian button (Pro).** Push a meeting note into your vault with one click.
* **Background auto-sync (Pro).** Vowen keeps notes, transcripts and settings in sync in the background, pulling changes on launch, on focus, and moments after an edit. See [Cloud sync](/features/cloud-sync).
### Improved
* **More reliable cross-device sync (Pro).** A rebuilt engine merges concurrent edits from multiple devices cleanly, with atomic writes.
* **Faster meeting notes with on-demand Parakeet (macOS).** When Parakeet is not your default, Vowen spins up a lightweight instance for notes rather than keeping a model running.
* **Rich text by default for expansions.** Bold, italic and links work out of the box on new expansions.
* **Sharper recording indicator across displays.** It adapts to different resolutions and DPI scaling when you move between monitors.
* **Smoother audio waveforms.** Playback is lighter even on long recordings.
* **Full-length diarization with Mistral.** The latest model lifts the audio-length cap, so diarization runs on complete recordings without chunking.
* **Clear errors if a model fails to download.** Onboarding surfaces a message instead of silently stalling.
* **Queued mute/unmute events.** Rapid toggles land reliably and in order.
### Fixed
* Fixed a crash when force-quitting Vowen, and made sure resources are released properly on exit.
* Fixed meeting-end detection cutting your notes short while you dictate or run a command (macOS).
* Fixed the tray menu listing only a subset of your configured models.
* Fixed the recording indicator's click area pulling focus to Vowen when positioned at the top of the screen.
* Fixed active-app detection and cache invalidation stealing focus on Windows.
* Fixed the native text writer dropping very short phrases and mishandling new lines (macOS).
* Fixed streaming Mistral transcriptions cutting off the end of what you said.
## v0.4.5
The idle pill, screenshots as meeting context, and rich-text threads.
### New
* **Idle pill.** An optional minimized bar tucks Vowen against the screen edge when idle. Hover to expand and start a recording. See [Recording indicator](/features/recording-indicator).
* **Screenshots as meeting context.** Attach screenshots to a meeting note so the AI can read your screen for richer summaries. See [Recording](/meeting-notes/recording).
* **Rich-text threads.** Threads support bold, italic and links, plus plain text, Markdown and HTML output formats. See [Threads](/features/threads).
* **Search threads, dictionary and expansions.** Filter each list with built-in search.
* **Paste last dictated text.** A shortcut re-pastes your most recent dictation anywhere.
* **Speaker label suggestions.** Naming speakers in a note suggests names you have used before. See [Diarization](/meeting-notes/diarization).
* **Optional timestamps.** Turn off per-segment timestamps when transcribing a file for clean continuous text.
* **Copy part of a Command Mode result.** Select and copy a sub-section instead of the whole thing.
### Improved
* **Streamlined export options.** A redesigned export flow for notes and transcriptions, with a unified modal.
* **Expansions no longer limited by built-ins.** Your custom expansions are not capped based on the built-in ones.
* **Cleaner date separators in notes.** Easier scanning of the notes list.
* **Updated Cerebras model lineup.** Deprecated models removed.
* **Choose your OneDrive account (Pro).** Pick Personal or Business when signed into more than one. See [Cloud sync](/features/cloud-sync).
* **Accurate names in AI enhancement.** The enhancement prompt gets people's names right more reliably.
### Fixed
* Fixed a temperature issue affecting OpenAI models connecting through OpenRouter.
* Fixed webhooks not sending an `application/json` content-type header.
* Fixed transcription error states lingering on screen instead of clearing.
* Fixed lingering key state after the system resumes from sleep, preventing stuck modifiers.
* Improved local Whisper server recovery by removing an option that interfered with automatic restarts.
* Fixed a flash-attention path that crashed local Whisper on the latest NVIDIA GPUs (RTX 50-series).
* Fixed Parakeet and Whisper failing to run on pre-2012 CPUs.
## v0.4.4
Live meeting Q\&A, richer transcript tools, and a more resilient AI pipeline.
### New
* **Ask questions live during meetings (Pro).** Ask Vowen anything mid-meeting and get streaming answers grounded in the live transcript, without leaving the call. Available while real-time transcription is active. See [Ask AI live during a meeting](/meeting-notes/recording#ask-ai-live-during-a-meeting).
* **Follow-up questions in Command Mode.** Refine a command-mode result by holding the shortcut again and speaking a follow-up, instead of starting over. See [Command Mode](/ai-features/command-mode#follow-up-questions).
* **Search within transcripts.** Press `Cmd/Ctrl+F` inside any transcript to find text, with match counts and next/previous navigation. See [Manual Transcription](/transcription/manual-transcription#finding-text-in-a-transcript).
* **Audio playback & scrub controls.** Play back transcription audio with a waveform, skip buttons, and click-to-seek, synced to the transcript. See [Playing back the audio](/transcription/manual-transcription#playing-back-the-audio).
* **Speaker diarization with Groq (Pro, macOS).** Groq Whisper transcriptions now support on-device, Pyannote-powered speaker diarization. See [Diarization](/meeting-notes/diarization#on-device-diarization-macos).
* **Gemini speech models.** Google's Gemini is now available as a cloud transcription option, for both streaming and long-file transcription. See [Models](/transcription/models).
* **OpenAI real-time streaming.** `gpt-4o-transcribe` can now power live transcription preview, not just file transcription. See [Models](/transcription/models).
* **Group notes by tags.** Tag your meeting notes and filter the list by tag, with a search box and sort options. See [Organizing notes](/meeting-notes/overview#organizing-notes).
* **Merge speaker labels (Pro).** Collapse two diarized speakers into one across a transcript in a single action. See [Merging speakers](/meeting-notes/diarization#merging-speakers).
* **Add context mid-meeting.** Type quick context into the recording indicator while recording, and it feeds into the AI summary. See [Add context mid-meeting](/meeting-notes/recording#add-context-mid-meeting).
* **Webhook delivery logs (Pro).** Inspect the last 25 webhook deliveries (status, trigger, payload, and response) from the webhook settings. See [Webhooks](/integrations/webhooks#delivery-logs).
* **Hide the recording indicator.** A new setting lets you suppress the floating recording indicator entirely. See [Recording indicator](/meeting-notes/recording#recording-indicator).
* **App-native timer.** Command Mode timers now show as a draggable, always-on-top countdown pill that works across spaces.
* **Cancel follow-ups midway.** Stop a running command-mode follow-up mid-flight with `Esc` instead of waiting for it to finish.
### Improved
* **Auto-switch models on failure.** [Command Mode](/ai-features/command-mode#switching-models-on-failure) and custom utilities now fall back to another configured provider when one fails or hits a rate limit.
* **Much lower Command Mode token usage.** Default command-mode calls now use under 1.5k tokens, down from 8k. Faster, cheaper, and less rate-limit pressure.
* **Smarter Command Mode banner.** The result banner renders Markdown, and links open in your default browser. See [Reviewing and refining the result](/ai-features/command-mode#reviewing-and-refining-the-result).
* **More reliable Parakeet streaming.** Voice activity detection now drives Parakeet streaming for cleaner segments, plus long-audio chunking on Windows. See [Models](/transcription/models).
* **Auto-translate for Parakeet (Pro).** Auto-translate-to-English now works with on-device Parakeet transcriptions. See [Languages](/transcription/languages).
* **Finer transcript segment controls.** More precise splitting, deleting, and line-level speaker reassignment in the transcript editor. See [Editing a transcript](/transcription/manual-transcription#editing-a-transcript).
* **Meeting notes settings, reorganized.** Settings now live in a tabbed modal with **Settings**, **Templates**, and **Integrations** tabs. See [Meeting notes](/meeting-notes/overview#recording-settings).
* **Slack & Discord webhook formatting.** Paste a Slack or Discord webhook URL and summaries are posted as rich Block Kit or embeds automatically. See [Webhooks](/integrations/webhooks#slack-and-discord-formatting).
* **Obsidian sync improvements (Pro).** Notes now save into a per-note folder inside a configurable vault folder, with template and transcript carried through as frontmatter and a separate transcript file. See [Obsidian](/integrations/obsidian).
* **Pausing notes pauses everything.** Pausing a note now pauses the recording indicator and timer too, so the UI stays in sync.
* **Faster mic unmute.** Your microphone unmutes the instant recording stops, instead of waiting for processing to finish.
* **Friendlier summary empty state.** A clear message appears when a recording had no speech to summarize, instead of a blank panel.
* **Updated DeepSeek models.** Refreshed the DeepSeek lineup (V4 Flash and V4 Pro) for AI enhancement and Command Mode.
* **Halo on the recording indicator.** A subtle glow makes it easier to tell at a glance when Vowen is live.
### Fixed
* Fixed timestamps in Groq transcriptions, including long chunked files.
* Fixed an overlapping live-streaming bug with Parakeet that could duplicate or fragment segments.
* Fixed timing and auto-scroll of live transcription segments.
* Fixed broken Slack webhook payloads when delivered via POST.
* Fixed external speaker sources not being muted reliably before recording.
* Fixed a crash that could occur when `Esc` or `Tab` were part of globally registered shortcuts.
* Fixed the recording / command-mode banner getting clipped when its container resized.
* Fixed the follow-up banner dismissing itself on an empty speech segment.
* Fixed Vowen's own simulated copy/paste key events being mistaken for real key releases (macOS).
* Fixed meeting detection lingering after Vowen quits (macOS).
## v0.4.3
Audio waveforms on meeting notes, live transcription preview, and speaker reassignment.
### New
* **Audio waveform on meeting notes.** A scrubbable waveform, with the transcript scrolling and highlighting in sync as audio plays. See [Meeting notes](/meeting-notes/overview).
* **Real-time transcription preview for meeting notes (Pro).** See transcription appear live as a note records. Experimental at this release.
* **Speaker diarization with Whisper (Pro, macOS).** Whisper models use Pyannote to label speakers. See [Diarization](/meeting-notes/diarization).
* **Parakeet Japanese and CTC-Mandarin.** Two new on-device model options. See [Models](/transcription/models).
* **Reassign speaker labels (Pro).** Rename and merge speakers across a note or transcript in one edit.
* **Double-tap hotkey transitions.** Trigger start and stop by double-tapping supported keys. See [Shortcuts](/features/shortcuts).
* **On-demand webhook from note details (Pro).** Fire a configured webhook from a note's detail page. See [Webhooks](/integrations/webhooks).
* **Export all notes as ZIP (Pro).** One-click bulk export of every meeting note.
* **Movable meeting-notes recording indicator.** Drag it wherever it fits best.
### Improved
* **Audio waveforms for manual transcriptions.** The same waveform UI now appears outside meeting notes.
* **Real speaker names in note summaries.** Summaries reference actual speakers instead of "Speaker 1" placeholders.
* **Sticky navbar on detail pages.** The top navigation stays in view while scrolling.
* **Expansions and custom utilities in import/export (Pro).** Both are now included when you back up or restore. See [Import data](/features/import-data).
* **More hotkey keys supported.** An expanded set of bindable keys for shortcuts and double-tap triggers.
* **Updated AI model lineup.** Refreshed with the latest provider releases.
### Fixed
* Fixed context bias not applying to Mistral transcriptions.
* Fixed an edge case where double-tap could trigger unintentionally.
* Fixed meeting notes and transcription detail pages loading with the wrong default state.
* Fixed an error when importing notes.
* Fixed the meeting-notes recording indicator not reasserting its position across screen changes.
## v0.4.0 to v0.4.2
Shipped v0.4.0 through v0.4.2 for Windows, with a revamped onboarding flow, richer meeting notes, and expanded language support.
### New
* **Audio waveform in meeting notes.** Meeting notes now show an audio waveform with a moving transcript that scrolls as audio plays. Waveforms also appear for manual transcriptions. See [Meeting notes](/meeting-notes/overview).
* **Reassign speaker labels.** Edit and reassign speaker labels directly from a transcript or notes session. See [Diarization](/meeting-notes/diarization).
* **Parakeet diarization.** Speaker diarization is now available with the Parakeet model. See [Diarization](/meeting-notes/diarization).
* **Japanese and Mandarin support.** Added Parakeet Japanese and CTC Mandarin for on-device transcription. See [Languages](/transcription/languages) and [Models](/transcription/models).
* **Rich text editor.** A new WYSIWYG editor with advanced rich text features for notes and expansions. See [Text expander](/features/text-expander).
* **Import/export expansions and utilities.** Move your text expansions and custom utilities between devices via import/export.
* **Movable recording indicator.** Drag the meeting notes recording indicator to wherever it fits best on your screen.
* **Cursor peek on Windows.** Cursor peek is now available on Windows, matching the macOS experience.
* **Double-tap shortcut transitions.** Trigger actions with a double-tap on supported keys. See [Shortcuts](/features/shortcuts).
* **More F-keys and modifier keys.** Expanded the set of keys you can bind to shortcuts and expansions. See [Shortcuts](/features/shortcuts).
* **Revamped onboarding.** A redesigned onboarding flow that walks new users through setup and introduces Pro features.
* **Share insights card.** Generate a shareable card highlighting your transcription stats.
### Improved
* **Speaker names in summaries.** Notes summaries now reference actual speaker names instead of generic placeholders like "Speaker 1." See [Summaries](/meeting-notes/summaries).
* **Sticky navigation.** The top navbar in transcription and notes detail pages stays in view as you scroll.
* **Tones respect auto-translate.** [Tones](/ai-features/tones) now honor your auto-translate-to-English setting.
* **Confirmation before deactivation.** Vowen now asks for confirmation before deactivating a device from your licence.
* **Faster, cheaper AI calls.** Reduced default prompt size and enabled prompt caching, lowering cost and rate-limit pressure for AI features.
* **Focus on gated features.** Clicking a Pro-gated feature now brings Vowen to the foreground so the upgrade prompt is visible.
* **Cleaner short transcriptions.** Trailing full stops are now stripped from short single-sentence transcriptions.
* **More reliable recording indicator.** The meeting notes recording indicator reasserts its position more reliably across screen changes.
* **Updated AI model lineup.** Refreshed the list of available AI enhancement models. See [Models](/transcription/models).
### Fixed
* Fixed default state issues on the notes and transcription detail pages.
* Fixed importing notes failing in some cases.
* Fixed overlapping modals in the upgrade and Pro flows.
* Fixed reasoning effort not being applied for OpenAI models.
* Fixed payment validation clearing local licence state when the validation endpoint was temporarily unavailable.
* Fixed macOS accessibility permissions not re-prompting after being revoked.
* Fixed Windows build issues affecting SVG assets.
## This week
A busy week focused on meetings, sync, and integrations.
### New
* **Obsidian integration.** Send your transcripts and meeting notes straight into your Obsidian vault. See [Obsidian integration](/integrations/obsidian).
* **Cloud sync across devices.** Sync transcriptions and notes across your devices using iCloud, Google Drive, Dropbox, or OneDrive. See [Cloud sync](/features/cloud-sync).
* **Chat with notes and transcriptions.** Ask questions about any past note or transcript and get answers grounded in that content. See [Chat](/features/chat).
* **Meeting detection.** Vowen now detects when you join a meeting and prompts you to start recording. Available on both [macOS](/platforms/macos) and [Windows](/platforms/windows).
* **Voice Shortcuts: webhooks & scripts.** Trigger webhooks or run scripts at the end of a voice shortcut. See [Voice Shortcuts](/features/workflows) and [Webhooks](/integrations/webhooks).
* **Custom utilities.** Build your own utilities on top of transcription output, with sensible templates to get started.
* **More custom API providers.** Bring additional OpenAI-compatible providers into Vowen for AI enhancement.
* **Manual transcription queue.** Queue multiple files for manual transcription and get notified as each one finishes. See [Manual transcription](/transcription/manual-transcription).
* **Auto translate to English.** A new option to translate transcriptions into English automatically. See [Languages](/transcription/languages).
* **UK English support.** Added UK English as a supported transcription language.
* **gpt-4o-transcribe.** Added support for OpenAI's `gpt-4o-transcribe` model. See [Models](/transcription/models).
* **Rich text in expansions.** Text expansions now support rich text and multiple output formats. See [Text expander](/features/text-expander).
* **Cancel mid-transcription.** Cancel an in-progress command-mode or regular transcription before it finishes.
* **Switch models from the banner.** Change your default transcription model directly from the in-app banner.
* **Auto-add corrections to dictionary (beta, macOS).** Edits you make to transcripts can be automatically suggested as dictionary entries. See [Dictionary](/features/dictionary).
### Improved
* **Meeting notes experience.** Removed the recording indicator during a notes session, added skeleton loaders, and you can now run regular transcriptions while a notes session is in progress. See [Meeting notes](/meeting-notes/overview).
* **Menu tray indicator.** The menu tray now shows a clear indicator while a meeting notes session is recording.
* **Smarter recording start.** Vowen briefly mutes system audio before recording so the first words of a video or call aren't accidentally captured.
* **Parakeet on macOS.** Parakeet now runs as a background daemon with a shorter warmup interval, so the first transcription starts faster. See [Models](/transcription/models).
* **Faster sync.** Switched syncing to SSE for noticeably faster updates across devices, with an automatic fallback to HTTP.
* **Keyboard layout-aware shortcuts.** Shortcut UI now reflects your actual keyboard layout, and expansions work correctly across all layouts. See [Shortcuts](/features/shortcuts).
* **Resume after sleep.** Meeting detection now resumes correctly after sleep, wake, and AC power events.
* **Standardized expansions UI.** Refreshed the expansions screens for a consistent look and feel.
* **Microphone connecting state.** A loading indicator now appears while the microphone is connecting.
* **3-device activation.** Pro licences now clearly support activation on up to 3 devices.
* **Focus on Start meeting.** Clicking "Start meeting" now brings Vowen into focus.
* **Obsidian titles.** Notes synced to Obsidian no longer prepend the date in the title.
### Fixed
* Fixed Tones not working on Windows. See [Tones](/ai-features/tones).
* Fixed speaker labels missing from PDF exports.
* Fixed expansions not firing on certain keyboard layouts on Windows.
* Fixed modals closing unexpectedly when a text-selection drag ended over the overlay.
* Fixed an issue where meeting detection could swallow the `Esc` key.
* Fixed the recording banner appearing when recording from inside Vowen itself.
* Fixed the toolbar on custom API screens.
* Clamped enhanced silence-detection sensitivity to a maximum of 5 to prevent overly aggressive cutoffs.
# CLI command reference
Source: https://docs.vowen.ai/cli/commands
Every vowen command, flag, and example.
Every command below talks to the running Vowen app. Read [the overview](/cli/overview) first if you have not, especially the [global flags](/cli/overview#global-flags) (`--json`, `--no-launch`, `--timeout`) and the [exit codes](/cli/overview#exit-codes).
## All commands
| Command | What it does |
| ------------------------------- | ----------------------------------------------------------------- |
| [`history`](#history) | List recent dictations, transcriptions, or notes |
| [`search`](#search) | Full-text search across everything |
| [`read`](#read) | Print one item's full text |
| [`delete`](#delete) | Delete a dictation, transcription, or note |
| [`stats`](#stats) | Lifetime and 30-day statistics |
| [`export`](#export) | Bulk export as JSONL or Markdown |
| [`watch`](#watch) | Stream new items as NDJSON |
| [`notes`](#meeting-notes) | List, read, create, import, regenerate, and control meeting notes |
| [`transcribe`](#transcribe) | Transcribe audio or video files and wait for the result |
| [`import`](#import) | Queue files for transcription without waiting |
| [`models`](#models) | List usable transcription models |
| [`tags`](#tags) | Manage the two tag pools |
| [`tag`](#tag) | Add or remove tags on one item |
| [`vocab`](#vocab) | Manage your dictionary |
| [`replacements`](#replacements) | Manage text replacements applied to transcripts |
| [`expansions`](#expansions) | Manage live typing expansions |
| [`settings`](#settings) | Read settings, write whitelisted ones |
| [`record`](#record) | Start, stop, toggle, or cancel dictation |
| [`status`](#status) | App connection, version, model, recording state |
| [`app`](#app) | Launch the app or print its version |
| [`doctor`](#doctor) | Diagnostics |
| [`update`](#update) | Self-update the CLI |
| [`completion`](#completion) | Generate a shell completion script |
| [`mcp`](#mcp) | Run as an MCP server over stdio |
Give any item id as a prefix. `vowen read 1734` resolves as long as exactly one item starts with those digits; an ambiguous prefix is rejected rather than guessed, and an exact match always wins over a prefix match.
## Your data
```
vowen history [flags]
```
Newest first. Defaults to dictations only.
| Flag | Default | Description |
| ---------------- | ----------- | ----------------------------------------------- |
| `--limit`, `-l` | `10` | Maximum results |
| `--offset`, `-o` | `0` | Results to skip |
| `--type`, `-t` | `dictation` | `dictation`, `transcription`, `note`, or `all` |
| `--since` | | Only items on or after this date (`YYYY-MM-DD`) |
| `--before` | | Only items before this date (`YYYY-MM-DD`) |
```bash theme={null}
vowen history
vowen history --type all --limit 50
vowen history --since 2026-08-01 --before 2026-08-15 --json
```
The table shows id, date, type, and a truncated preview, with `[processing]` or `[error]` appended where relevant. When more results exist than were printed, a footer tells you how many.
```
vowen search [flags]
```
Searches dictation text, titles, summaries, pre-enhancement originals, context notes, and filenames. Every term you give must appear somewhere in the item; matching is case-insensitive substring matching, not fuzzy.
| Flag | Default | Description |
| --------------- | ----------- | ---------------------------------------------- |
| `--limit`, `-l` | `20` | Maximum results |
| `--type`, `-t` | `all` | `dictation`, `transcription`, `note`, or `all` |
| `--tag` | | Filter by tag id |
| `--since` | | Only items on or after this date |
| `--before` | | Only items before this date |
| `--sort` | `relevance` | `relevance` or `date` |
```bash theme={null}
vowen search "standup notes"
vowen search postgres migration --type note --sort date
vowen search invoice --limit 5 --json | jq -r '.results[].id'
```
Output is a compact table with a snippet around the first match. Use [`read`](#read) to get the full text of a result.
```
vowen read [id] [--raw]
```
With an id, prints that item. Without one, prints your most recent dictation.
| Flag | Description |
| ------- | ------------------------------------------------------------- |
| `--raw` | Print the pre-AI-enhancement transcript when the item has one |
```bash theme={null}
vowen read # latest dictation
vowen read 1734567890123
vowen read 17345 --raw # what you actually said, before enhancement
vowen read 17345 --json # full item with metadata
```
```
vowen delete
```
Aliases: `rm`, `remove`. Works on dictations, transcriptions, and meeting notes.
```bash theme={null}
vowen delete 1734567890123
```
Deletion is permanent and is not undoable from the CLI. It requires a paid plan; on the free plan the command exits with code 5.
```
vowen stats
```
Always prints JSON: your lifetime totals, per-day activity for the last 30 days, and counts of dictations, transcriptions, and notes.
```bash theme={null}
vowen stats | jq '.counts'
```
```
vowen export [flags]
```
Exports oldest first.
| Flag | Default | Description |
| ---------------- | ------- | ---------------------------------------------- |
| `--format`, `-f` | `jsonl` | `jsonl` or `markdown` |
| `--type`, `-t` | `all` | `dictation`, `transcription`, `note`, or `all` |
| `--since` | | Only items on or after this date |
| `--before` | | Only items before this date |
| `--output`, `-o` | | Write to a file instead of stdout |
```bash theme={null}
vowen export > everything.jsonl
vowen export --format markdown --type note -o notes.md
vowen export --type dictation --since 2026-01-01 --format jsonl -o 2026.jsonl
```
JSONL gives you one complete item object per line. Markdown gives a `## Title` heading per item with id, type, and date as a small metadata list, the body text, and a `### Summary` section where one exists.
```
vowen watch [flags]
```
Polls the app and prints each newly finished item as a single-line JSON object. Runs until you interrupt it.
| Flag | Default | Description |
| -------------- | ------- | ---------------------------------------------- |
| `--interval` | `2s` | Poll interval |
| `--type`, `-t` | `all` | `dictation`, `transcription`, `note`, or `all` |
```bash theme={null}
vowen watch --type dictation | jq -r '.text'
vowen watch --interval 5s >> ~/dictation-log.ndjson
```
Items that already existed when `watch` started are not replayed, and items still processing are held back until they settle, so you never get a half-finished transcript. If the app restarts mid-watch (which rotates the auth token), `watch` reconnects on its own instead of dying.
## Meeting notes
All of these live under `vowen notes`.
```
vowen notes list [flags]
```
Alias: `ls`. Newest first.
| Flag | Default | Description |
| ---------------- | ------- | -------------------------------- |
| `--limit`, `-l` | `10` | Maximum results |
| `--offset`, `-o` | `0` | Results to skip |
| `--tag` | | Filter by tag id |
| `--since` | | Only notes on or after this date |
| `--before` | | Only notes before this date |
```bash theme={null}
vowen notes list
vowen notes list --limit 30 --since 2026-08-01
```
```
vowen notes read [flags]
```
| Flag | Description |
| -------------- | ----------------------------------- |
| `--summary` | Print the AI summary |
| `--transcript` | Print the raw transcript |
| `--context` | Print the context notes you entered |
```bash theme={null}
vowen notes read 1734567890123
vowen notes read 17345 --transcript > transcript.txt
vowen notes read 17345 --json | jq -r '.title'
```
With no flag, `notes read` prints the note's main body, which for an app-generated note is its AI summary. A title line appears above it when the note has one.
```
vowen notes create [flags]
```
Content comes from `--text`, `--file`, or piped stdin, in that order of precedence.
| Flag | Description |
| ----------- | -------------------------------------------------------- |
| `--title` | Note title |
| `--text` | Note content |
| `--file` | Read note content from a file, as text |
| `--context` | Context notes (attendees, agenda, and so on) |
| `--tag` | Tag name or id, repeatable; created if it does not exist |
```bash theme={null}
vowen notes create --title "Weekly sync" --text "Discussed the Q3 roadmap."
vowen notes create --file agenda.md --tag work --tag planning
pbpaste | vowen notes create --title "Pasted"
```
`--file` reads the file as text. Handing it a recording produces a note full of binary garbage. Use [`notes import`](#notes-import) for audio and video.
```
vowen notes import ... [flags]
```
Transcribes and summarizes media files into meeting notes, the same pipeline as the Import button on the Notes page and as a watch folder with a meeting-note destination.
| Flag | Description |
| ---------------- | --------------------------------------------------------- |
| `--model`, `-m` | Transcription model id override (see [`models`](#models)) |
| `--language` | Language code override |
| `--provider` | AI provider override for the summary |
| `--template` | Summary template override |
| `--diarize` | Label speakers (paid plans) |
| `--num-speakers` | Expected speaker count, used with `--diarize` |
| `--tag` | Tag name or id, repeatable |
| `--no-wait` | Queue and print the note id immediately |
```bash theme={null}
vowen notes import meeting.m4a
vowen notes import *.m4a --no-wait
vowen notes import call.wav --model parakeet-v3 --diarize --template standup
```
Anything you do not pass falls back to your meeting-notes preferences. The work outlives a single HTTP request, so without `--no-wait` the CLI polls the note and shows elapsed time on stderr until it settles.
```
vowen notes regenerate [flags]
```
By default the AI summary is rebuilt from the existing transcript. `--transcript` instead re-runs transcription against the note's stored audio, which produces a fresh summary as well.
| Flag | Description |
| ---------------- | ---------------------------------------------- |
| `--summary` | Regenerate only the summary (the default) |
| `--transcript` | Re-transcribe the stored audio, then summarize |
| `--model`, `-m` | Transcription model id override |
| `--language` | Language code override |
| `--provider` | AI provider override for the summary |
| `--template` | Summary template override |
| `--diarize` | Label speakers (paid plans) |
| `--num-speakers` | Expected speaker count |
| `--no-wait` | Start and print the note id immediately |
```bash theme={null}
vowen notes regenerate 17345 --template exec-brief
vowen notes regenerate 17345 --transcript --model whisper-large-v3
```
Passing both `--summary` and `--transcript` is rejected, since `--transcript` already regenerates the summary.
```
vowen notes update [flags]
```
Only the fields you pass are changed. Passing an empty string clears that field.
| Flag | Description |
| ----------- | ----------------- |
| `--title` | New title |
| `--text` | New content |
| `--context` | New context notes |
| `--summary` | New summary |
```bash theme={null}
vowen notes update 17345 --title "Q3 planning (final)"
vowen notes update 17345 --context "Attendees: Ana, Bo, Chen"
```
```
vowen notes delete
```
Aliases: `rm`, `remove`.
```bash theme={null}
vowen notes delete 1734567890123
```
Permanent, and requires a paid plan. On the free plan this exits with code 5.
```
vowen notes start [--template ]
vowen notes stop
vowen notes pause
vowen notes resume
```
```bash theme={null}
vowen notes start --template standup
vowen notes stop
```
`notes start` does not report success until it has confirmed a session is genuinely live. Microphone capture happens inside the app window, so the CLI polls status for up to 15 seconds. If nothing started, it fails with a message pointing you at the Vowen window; the cause is usually a missing microphone or screen permission.
## Transcription
```
vowen transcribe ... [flags]
```
Uses your currently selected model and language unless you override them. Results are saved to the app's Transcribe page like any manual import.
| Flag | Description |
| ----------------- | --------------------------------------------- |
| `--model`, `-m` | Model id override (see [`models`](#models)) |
| `--language` | Language code override |
| `--diarize` | Label speakers (paid plans) |
| `--num-speakers` | Expected speaker count, used with `--diarize` |
| `--no-timestamps` | Flatten the output, no timestamps |
| `--tag` | Tag name or id for the result, repeatable |
| `--no-wait` | Queue and return the id immediately |
```bash theme={null}
vowen transcribe interview.m4a
vowen transcribe *.wav --model whisper-large-v3 --tag research
vowen transcribe call.mp3 --diarize --num-speakers 3
vowen transcribe lecture.mp4 --json | jq -r '.text' > lecture.txt
```
Progress is written to stderr, so redirecting stdout gives you a clean transcript. With multiple files, each transcript is preceded by a `==> file (id …)` header.
The free plan allows a limited lifetime number of manual transcriptions and runs one at a time. Exceeding either exits with code 5.
```
vowen import ... [flags]
```
Same as `transcribe --no-wait`, with friendlier output. It prints the queued id for each file and reminds you how to follow along.
| Flag | Description |
| ---------------- | ------------------------------ |
| `--model`, `-m` | Model id override |
| `--language` | Language code override |
| `--diarize` | Label speakers (paid plans) |
| `--num-speakers` | Expected speaker count |
| `--tag` | Tag for the result, repeatable |
```bash theme={null}
vowen import ~/Recordings/*.m4a
vowen history --type transcription
```
`vowen import` produces transcriptions. `vowen notes import` produces meeting notes with an AI summary. Different commands, different destinations.
```
vowen models [--all]
```
Lists the models you can use right now: local models you have downloaded, plus cloud models you have configured an API key for. The active one is marked.
| Flag | Description |
| ------- | ------------------------------------------------------------- |
| `--all` | Also include models that are not downloaded or not configured |
```bash theme={null}
vowen models
vowen models --all
vowen models --json | jq -r '.active'
```
Use the `ID` column as the value for `--model` on [`transcribe`](#transcribe) and [`notes import`](#notes-import).
## Dictionary, threads, and settings
```
vowen tags list|create|rename|delete [--pool notes|transcriptions]
```
There are two independent tag pools. `--pool` is a persistent flag on every subcommand and defaults to `notes`.
```bash theme={null}
vowen tags list
vowen tags list --pool transcriptions
vowen tags create "Client work" --color "#7C3AED"
vowen tags rename "Client work" "Client"
vowen tags delete Client
```
| Subcommand | Syntax | Notes |
| ---------- | ------------------------------------------- | ----------------------------------------------------- |
| `list` | `vowen tags list` | Alias `ls`. Prints id, name, color |
| `create` | `vowen tags create [--color ]` | Reports if the tag already existed instead of failing |
| `rename` | `vowen tags rename ` | |
| `delete` | `vowen tags delete ` | Aliases `rm`, `remove` |
```
vowen tag [--add ] [--remove ]
```
| Flag | Description |
| ---------- | --------------------------------------------------------------- |
| `--add` | Tag name or id to add, repeatable; created if it does not exist |
| `--remove` | Tag name or id to remove, repeatable |
```bash theme={null}
vowen tag 17345 --add work
vowen tag 17345 --add work --add urgent --remove draft
```
At least one of `--add` or `--remove` is required. The CLI looks the item up first to find out whether it is a note or a transcription, so names resolve against the correct pool automatically.
```
vowen vocab list|add|remove
```
Aliases for the group: `dictionary`, `dict`. These are the terms the transcriber should recognize, the same list as the [Dictionary](/features/dictionary) page.
```bash theme={null}
vowen vocab list
vowen vocab add MySQL
vowen vocab add MySQL Nginx PostgreSQL "Anthony André"
vowen vocab add --file words.txt
pbpaste | vowen vocab add
vowen vocab remove MySQL
```
| Subcommand | Syntax | Notes |
| ---------- | --------------------------- | ------------------------------------------------------------- |
| `list` | `vowen vocab list` | Alias `ls`. One term per line |
| `add` | `vowen vocab add ...` | `--file`/`-f` reads one term per line; piped stdin works too |
| `remove` | `vowen vocab remove ` | Aliases `rm`, `delete`. Matches the whole term, ignoring case |
`add` reports what it added and what it skipped as already present, so it is safe to re-run over the same list.
```
vowen replacements list|set|remove
```
Aliases for the group: `threads`, `snippets`. These are the trigger-to-replacement rules applied to transcripts, the same list as the [Threads](/features/threads) page.
```bash theme={null}
vowen replacements list
vowen replacements set "my address" "12 Rue de Rivoli, Paris"
vowen replacements remove "my address"
```
| Subcommand | Syntax | Notes |
| ---------- | ------------------------------------------------ | ----------------------------------------- |
| `list` | `vowen replacements list` | Alias `ls` |
| `set` | `vowen replacements set ` | Creates or updates, keyed by trigger |
| `remove` | `vowen replacements remove ` | Aliases `rm`, `delete`. Accepts an id too |
```
vowen expansions list|set|enable|disable|remove
```
The shortcut-to-body expansions of the [text expander](/features/text-expander).
```bash theme={null}
vowen expansions list
vowen expansions set ":addr" "12 Rue de Rivoli, Paris"
vowen expansions set ":sig" "**Best, Ana**" --format markdown
vowen expansions disable ":addr"
vowen expansions enable ":addr"
vowen expansions remove ":addr"
```
| Subcommand | Syntax | Notes |
| ---------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `list` | `vowen expansions list` | Alias `ls`. Shows shortcut, body, and whether it is on, off, or built in |
| `set` | `vowen expansions set [--format plain\|markdown]` | Creates or updates, keyed by shortcut |
| `enable` | `vowen expansions enable ` | |
| `disable` | `vowen expansions disable ` | |
| `remove` | `vowen expansions remove ` | Aliases `rm`, `delete`. Accepts an id too |
Built-in expansions cannot be deleted. `remove` rejects them and tells you to disable them instead.
```
vowen settings get [key]
vowen settings set
```
`get` with no key prints all settings as JSON. With a key, prints just that value. Anything that looks like an API key, token, secret, password, or licence comes back as ``.
```bash theme={null}
vowen settings get
vowen settings get language
vowen settings set language en
vowen settings set autoPaste true
vowen settings set dailyGoal 30
```
Values are parsed before being sent: `true` and `false` become booleans, digits become numbers, text starting with `{` or `[` is parsed as JSON, and everything else stays a string.
**`set` only accepts these keys.** Anything else is rejected. Shortcuts, API keys, sync, and account settings are deliberately not writable from the CLI, because a malformed shortcut config can leave the keyboard hook in a bad state.
`language`, `modelSize`, `transcriptionEngine`, `autoPaste`, `restoreClipboard`, `allowClipboardHistory`, `removeFillerWords`, `translateToEnglish`, `englishSpelling`, `theme`, `dailyGoal`, `saveRecordings`, `meetingNotesAutoStopOnEnd`, `meetingDetectionEnabled`, `cliServerEnabled`
## App control
```
vowen record start [--mode instant|hold]
vowen record stop
vowen record toggle
vowen record cancel
```
Drives the same dictation path as your keyboard shortcut, so the transcript lands in your history and is pasted wherever your cursor is, exactly as if you had held the key.
| Subcommand | Description |
| ---------- | ------------------------------------------------------------------------------- |
| `start` | Start recording. `--mode` accepts `instant` or `hold` and defaults to `instant` |
| `stop` | Stop and transcribe what was captured |
| `toggle` | Start if idle, stop if recording |
| `cancel` | Stop and discard, transcribing and pasting nothing |
```bash theme={null}
vowen record start
vowen record stop
vowen record cancel
```
`cancel` mirrors the Esc cancel path exactly, including clearing any active mute.
```
vowen status
```
```
$ vowen status
App: Vowen 0.5.4 (running)
Plan: pro
Engine: parakeet
Model: parakeet-v2
Language: en
Recording: false
```
A notes-session line is added when one is active. `--json` returns the full status object, which also carries the platform and API version.
```bash theme={null}
vowen status --json | jq -r '.plan'
vowen status --no-launch # exits 3 rather than starting the app
```
```
vowen app launch
vowen app version
```
`app launch` starts the app in the background if it is not running and prints "Vowen is running." once the API answers. On macOS it does not steal focus.
`app version` prints the running desktop app's version, which is unrelated to `vowen --version`.
```bash theme={null}
vowen app launch --timeout 60s
vowen app version
```
## Setup and tooling
```
vowen doctor
```
Prints the CLI version, platform, whether it can reach the app, then the app version, plan, engine, and model.
`doctor` never launches the app, so "not reachable" is a real answer rather than a race. See [the troubleshooting section](/cli/installation#troubleshooting) for how to read its output.
```
vowen update [--check]
```
| Flag | Description |
| --------- | -------------------------------------------------- |
| `--check` | Report whether an update exists, do not install it |
```bash theme={null}
vowen update --check
vowen update
```
Downloads the release manifest, verifies the SHA-256, and swaps the binary atomically. On Windows the running executable is renamed out of the way first, so this works even while `vowen mcp` is live under a coding agent.
```
vowen completion bash|zsh|fish|powershell
```
Writes a completion script to stdout.
```bash theme={null}
# zsh
vowen completion zsh > "${fpath[1]}/_vowen"
# bash
vowen completion bash > /usr/local/etc/bash_completion.d/vowen
# fish
vowen completion fish > ~/.config/fish/completions/vowen.fish
```
```powershell theme={null}
# PowerShell
vowen completion powershell | Out-String | Invoke-Expression
```
Run `vowen completion --help` for the exact install instructions for your setup.
```
vowen mcp
```
Runs a Model Context Protocol server over stdio, exposing 23 tools covering search, history, notes, transcription, tags, vocabulary, replacements, expansions, settings, and recording control.
```bash theme={null}
claude mcp add vowen -- vowen mcp
```
This is not a command you run interactively. See [the MCP server page](/cli/mcp-server) for the full tool list and client setup.
## Environment variables
| Variable | Effect |
| ------------------ | ----------------------------------------------------------------------------------------------------- |
| `VOWEN_CLI_SERVER` | Path to a `server.json` to use instead of normal discovery. When set, no other location is considered |
`VOWEN_CLI_SERVER` exists for development against a test instance. It is exclusive on purpose, so pointing the CLI at a throwaway app can never silently fall through to your real one.
# Installing the CLI
Source: https://docs.vowen.ai/cli/installation
Install, update, and remove the vowen command line tool.
The `vowen` binary is a separate download from the desktop app. There are three ways to get it, and they all end up with the same binary in the same place.
The Vowen desktop app must be installed too. The CLI has no transcription engine of its own, it drives the app. See [how the CLI connects](/cli/overview#how-it-connects).
## Option 1: install from settings
The easiest path, and the one that keeps working when you change machines.
Open the Settings modal from the sidebar footer, then pick the **Developer** section.
The first card is **Command Line Tool**. If the CLI is not installed yet, it shows a single **Install CLI** button.
Vowen fetches the release manifest from `assets.vowen.ai`, downloads the archive for your platform, verifies its SHA-256 against the manifest, unpacks it, and writes the binary into a per-user bin directory.
The card switches to reading `vowen installed at `. Open a new terminal and run `vowen status`.
Two details of that flow:
* **The checksum is enforced, not advisory.** If the downloaded bytes do not match the SHA-256 in the manifest, the install aborts with "Checksum verification failed — refusing to install" and nothing is written.
* **The archive is unpacked in-process.** Vowen never shells out to `tar` or `unzip`. On Windows, a GNU `tar` from Git for Windows, MSYS2, Cygwin, or Strawberry Perl often wins the PATH lookup, reads `-f C:\...` as a remote `host:path` spec, and cannot read ZIP at all. Extracting inside the app removes that whole class of problem.
## Option 2: curl (macOS)
```bash theme={null}
curl -fsSL https://assets.vowen.ai/cli/install.sh | bash
```
The script resolves the latest version from `assets.vowen.ai/cli/latest.json`, downloads the universal macOS binary, verifies it against the published `checksums.txt`, installs it, and then runs `vowen --version` to confirm the binary actually executes before declaring success.
Two environment variables change its behavior:
| Variable | Effect |
| ------------------- | --------------------------------------------------------------------- |
| `VOWEN_CLI_VERSION` | Install a specific version instead of the latest, for example `0.2.0` |
| `VOWEN_CLI_BINDIR` | Install into a directory of your choosing |
```bash theme={null}
VOWEN_CLI_VERSION=0.2.0 curl -fsSL https://assets.vowen.ai/cli/install.sh | bash
VOWEN_CLI_BINDIR="$HOME/bin" curl -fsSL https://assets.vowen.ai/cli/install.sh | bash
```
This script is macOS-only. Run on anything else, it stops and points you at the PowerShell installer.
## Option 3: PowerShell (Windows)
```powershell theme={null}
irm https://assets.vowen.ai/cli/install.ps1 | iex
```
The Windows script does the same job: resolve the version, download `vowen--windows-x64.zip`, compare its SHA-256 against `checksums.txt`, extract it, unblock the file, add its directory to your **user** PATH, and run `vowen --version` to prove the binary works.
| Variable | Effect |
| ------------------------ | ----------------------------------------- |
| `$env:VOWEN_CLI_VERSION` | Install a specific version |
| `$env:VOWEN_CLI_BINDIR` | Install into a directory of your choosing |
```powershell theme={null}
$env:VOWEN_CLI_VERSION = "0.2.0"
irm https://assets.vowen.ai/cli/install.ps1 | iex
```
The PATH entry is written through the registry, preserving the value's original type. The obvious `[Environment]::SetEnvironmentVariable` approach reads back an already-expanded PATH and would permanently freeze every `%VAR%` you had in there.
## Where the binary lands
| Platform | Location |
| -------- | -------------------------------------------------------------------------------------- |
| macOS | `/usr/local/bin/vowen` when that directory is writable, otherwise `~/.local/bin/vowen` |
| Windows | `%LOCALAPPDATA%\Vowen\bin\vowen.exe` |
Both the in-app installer and the shell scripts follow the same policy, so it does not matter which one you used. `vowen doctor` prints the path it is running from if you are ever unsure.
The in-app installer also treats anything already on your PATH as installed. If you previously ran the shell installer with a custom `VOWEN_CLI_BINDIR`, the settings card finds that copy rather than dropping a second binary somewhere else.
## Updating
The CLI versions independently of the app, so "update" means "fetch whatever the release manifest currently points at", not "match the app version".
Open **Settings > Developer > Command Line Tool**. When a newer release exists, the card shows "Update available: `` to ``" and the **Update CLI** button becomes the primary action. Clicking it always goes to the network.
```bash theme={null}
vowen update --check # report only
vowen update # download and install
```
`vowen update` downloads the manifest, verifies the SHA-256, and swaps the binary in place. On Windows it renames the running executable out of the way first, so updating works even while `vowen mcp` is live under a coding agent.
## Uninstalling
**Settings > Developer > Command Line Tool > Uninstall CLI**. This removes every copy it knows about, including ones discovered on your PATH and any `.old` leftovers from a Windows update.
```bash theme={null}
# macOS
rm -f /usr/local/bin/vowen ~/.local/bin/vowen
```
```powershell theme={null}
# Windows
Remove-Item "$env:LOCALAPPDATA\Vowen\bin\vowen.exe"
```
On Windows, also remove `%LOCALAPPDATA%\Vowen\bin` from your user PATH if you no longer want it there.
Uninstalling the CLI does not touch the desktop app, your history, or your settings.
## Troubleshooting
The full message is: *"Installed to ``, but the binary would not run. This is almost always antivirus quarantine — allow that file in Windows Security, then click again."*
The download succeeded and the checksum matched, so the file is intact, but something on the machine is preventing it from executing. Both installers run `vowen --version` after writing the file so this gets caught here, instead of surfacing later as a confusing `'vowen' is not recognized` in your terminal.
To fix it:
1. Open **Windows Security > Virus & threat protection > Protection history** and look for a recent quarantine or block on `vowen.exe`.
2. Restore it, or add an exclusion for `%LOCALAPPDATA%\Vowen\bin`.
3. Run the installer again.
Third-party antivirus products behave the same way; the exclusion just lives somewhere else. Unsigned or freshly published binaries are the usual trigger.
The macOS variant of the same check reports: *"Installed to ``, but the binary would not run. Check that `` is not mounted noexec."*
This shows up when the install directory sits on a volume mounted with `noexec`, which strips the ability to execute anything stored there regardless of file permissions. Reinstall into a normal location:
```bash theme={null}
VOWEN_CLI_BINDIR="$HOME/.local/bin" curl -fsSL https://assets.vowen.ai/cli/install.sh | bash
```
The binary installed fine, your shell just cannot see it.
**macOS.** If the installer fell back to `~/.local/bin` (because `/usr/local/bin` was not writable), that directory may not be on your PATH. The installer prints a warning when it detects this. Add it to your shell profile:
```bash theme={null}
export PATH="$HOME/.local/bin:$PATH"
```
Then open a new terminal, or `source` the profile you just edited.
**Windows.** The PATH entry is added to your user environment, which existing terminals do not re-read. Close and reopen your terminal. If it still is not found, confirm the directory is present:
```powershell theme={null}
[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment').GetValue('Path')
```
Add `%LOCALAPPDATA%\Vowen\bin` manually if it is missing.
Either way, you can always invoke the binary by full path to confirm it is really installed:
```bash theme={null}
/usr/local/bin/vowen --version
```
`doctor` never launches the app, so what it reports is the true current state.
```
$ vowen doctor
CLI version: 0.2.0
Platform: darwin/arm64
Server file: /Users/you/Library/Application Support/Vowen/cli/server.json
API: 127.0.0.1:52341 (v1) — OK
App version: 0.5.8
Plan: pro
Engine/model: parakeet / parakeet-v2
```
How to read it:
* **`CLI version` printed but nothing else.** The binary works and the problem is the connection, not the install.
* **`App: not reachable (is Vowen running?)`.** Either the app is closed, or the CLI connection has been turned off. Start the app and try again; if it is already running, see [How it connects](/cli/overview#how-it-connects).
* **No `Server file` line.** The app has not written its discovery file, which normally means it has not started since the CLI API was enabled.
* **`Status check: FAILED`.** The port answered but the request did not. This usually means a stale server file from an unclean quit; restarting the app rewrites it.
The download did not match the published SHA-256, and the installer refused to write it. Nothing was installed, so there is nothing to clean up.
This is nearly always a corporate proxy or content filter rewriting the response body. Retry on a different network, or download the archive listed in `assets.vowen.ai/cli/latest.json` directly and check it against `checksums.txt` yourself.
## Next steps
Every command and flag, with examples
`claude mcp add vowen -- vowen mcp`
# MCP server
Source: https://docs.vowen.ai/cli/mcp-server
Expose your dictation history, notes, and transcripts to Claude Code and other MCP clients.
`vowen mcp` runs a Model Context Protocol server over stdio. Point any MCP client at it and that client can search your dictations, read your meeting notes, transcribe audio files, and manage your dictionary, all through the running Vowen app.
```bash theme={null}
claude mcp add vowen -- vowen mcp
```
That is the whole setup for [Claude Code](https://claude.com/claude-code). Restart your session and ask it something like "what did I dictate about the migration last week?"
**This is the outbound direction: agents reading Vowen.**
Vowen also has an inbound MCP feature, [Connectors](/integrations/connectors), where Vowen's own AI reaches out into your other apps. The two run in opposite directions:
* **`vowen mcp` (this page):** Vowen *is the server*. An external agent connects to it and reads your Vowen data. Runs through the CLI, no plan gate beyond what the underlying operations already require.
* **[Connectors](/integrations/connectors):** Vowen *is the client*. It connects out to Linear, Notion, GitHub and others so its AI can look things up while answering you. Configured in the app, Pro and experimental.
## Requirements
* The [`vowen` CLI installed](/cli/installation) and on your PATH.
* The Vowen desktop app installed. The MCP server launches it in the background on the first tool call if it is not already running.
The server holds one connection to the app for the whole session and re-establishes it automatically if the app restarts, so a Vowen update mid-conversation does not break your agent.
## Setting up a client
```bash theme={null}
claude mcp add vowen -- vowen mcp
```
Verify with `claude mcp list`, then start a session and ask it to search your history.
Any client that speaks MCP over stdio works. Register a local server with:
* **command:** `vowen`
* **arguments:** `["mcp"]`
That is all the process needs. There are no environment variables to set and no port to configure, because the CLI discovers the running app itself.
If your client wants an absolute path rather than a bare command, `vowen doctor` prints the path the binary was installed to.
Do not run `vowen mcp` in your terminal to "check that it works". It reads JSON-RPC from stdin and will simply sit there. Use `vowen doctor` to verify the connection and let the client own the process.
## Available tools
23 tools, grouped by what they touch.
### Reading your data
| Tool | What it does | Key parameters |
| ----------- | --------------------------------------------------------------------------------------------------- | ----------------------------------- |
| `search` | Full-text search across dictations, file transcriptions, and meeting notes. Returns compact matches | `query` (required), `limit`, `type` |
| `history` | List recent items, newest first | `limit`, `type`, `since`, `before` |
| `read_item` | Full text and metadata of one item. Omit the id for the latest dictation | `id` |
| `stats` | Lifetime dictation statistics, last-30-days activity, and per-type counts | none |
`type` is one of `dictation`, `transcription`, `note`, or `all`. `search` defaults to `all`, `history` defaults to `dictation`. Dates are `YYYY-MM-DD`. Item ids may be given as a prefix.
Search first, then `read_item` on whatever looked relevant. `search` deliberately returns snippets rather than whole transcripts.
### Meeting notes
| Tool | What it does | Key parameters |
| ------------- | ------------------------------------------------------ | ----------------------------------------------------------- |
| `note_create` | Create a meeting note from text, Markdown accepted | `text` (required), `title`, `contextNotes` |
| `note_update` | Update a note's title, text, context notes, or summary | `id` (required), `title`, `text`, `contextNotes`, `summary` |
### Transcription
| Tool | What it does | Key parameters |
| ---------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------- |
| `transcribe_file` | Queue an audio or video file for transcription. Returns a job id | `path` (required, absolute), `modelId`, `language`, `diarize` |
| `transcription_status` | Job status: `processing`, `done`, or `error`, plus the transcript once done | `id` (required) |
Transcription is asynchronous. `transcribe_file` returns immediately, so poll `transcription_status` until it reports `done`. Anything you leave out falls back to the user's configured model and language.
### Tags
| Tool | What it does | Key parameters |
| ----------- | --------------------------------------------- | ------------------------------------ |
| `tags_list` | List tags. Omit the pool to get both | `pool` (`notes` or `transcriptions`) |
| `tag_item` | Add or remove tags on a note or transcription | `id` (required), `add`, `remove` |
`tag_item` takes tag **ids**, not names. Call `tags_list` first to resolve them.
### Dictionary and text rules
| Tool | What it does | Key parameters |
| --------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| `vocab_list` | List custom vocabulary terms | none |
| `vocab_add` | Add a vocabulary term. The term keeps the case you give it, and adding one that already exists is a no-op | `word` (required) |
| `vocab_remove` | Remove a vocabulary term, matching the whole term and ignoring case | `word` (required) |
| `replacements_list` | List text replacements applied to transcripts | none |
| `replacements_set` | Create or update a replacement, keyed by trigger | `trigger`, `replacement` (both required) |
| `replacements_remove` | Remove a replacement by trigger | `trigger` (required) |
| `expansions_list` | List live typing expansions | none |
| `expansions_set` | Create or update an expansion, keyed by shortcut | `shortcut`, `body` (both required) |
### Settings and app control
| Tool | What it does | Key parameters |
| -------------- | ------------------------------------------------------------- | ------------------------------ |
| `settings_get` | Read settings, secrets redacted. Optionally one top-level key | `key` |
| `settings_set` | Set a whitelisted setting | `key`, `value` (both required) |
| `record_start` | Start dictation recording in the app | none |
| `record_stop` | Stop recording, which transcribes what was captured | none |
| `app_status` | App version, plan, active model, recording state | none |
`settings_set` writes only the same whitelisted keys the CLI allows. Shortcuts, API keys, sync, and account settings cannot be changed by an agent. The full list is on the [command reference](/cli/commands#settings).
## What an agent can and cannot reach
* **It reads and writes real data.** These tools are not a sandbox. `note_update`, `vocab_add`, `replacements_set` and `settings_set` change what is in your app.
* **It cannot delete anything.** No delete tool is exposed. `vowen delete` exists on the CLI, but there is no MCP equivalent.
* **Secrets never leave.** `settings_get` redacts every key that looks like an API key, token, secret, password, or licence.
* **Everything goes through the app.** The server has no direct access to your files. It goes through the app exactly as the CLI does, so plan limits and validation apply identically.
* **Nothing is exposed off-machine.** The transport is stdio between your client and the `vowen` process, and the app's API binds `127.0.0.1` only.
## Troubleshooting
Confirm the binary is reachable under the same PATH your client sees:
```bash theme={null}
which vowen # macOS
where vowen # Windows
vowen doctor
```
GUI-launched clients frequently do not inherit the PATH from your shell profile. If `vowen` works in your terminal but not from the client, register it by absolute path instead. `vowen doctor` prints the location.
Every tool call goes through the desktop app, so it has to be reachable. Run `vowen doctor`. If it reports "App: not reachable", start Vowen and try again. See [the CLI troubleshooting section](/cli/installation#troubleshooting) for the rest.
A few operations are plan-gated. Exceeding the free lifetime transcription limit, or queuing a second transcription while one is already running, both surface as an error in the tool result. Check `app_status` for the current plan.
`vowen update` handles this. On Windows the running executable is renamed out of the way rather than overwritten, so an active `vowen mcp` process does not block the update. The client will pick up the new binary the next time it spawns the server.
## Related
How the CLI talks to the app
The other direction: Vowen's AI reading your other apps
# Vowen CLI
Source: https://docs.vowen.ai/cli/overview
Drive the Vowen desktop app from your terminal, your scripts, and your coding agent.
One click from settings, or a single curl or PowerShell line
Every command, flag, and example
Give Claude Code and other agents access to your Vowen data
The same import pipeline the CLI drives with `vowen transcribe`
## What the CLI is
`vowen` is a small companion binary that talks to the Vowen desktop app. It is not a second copy of Vowen and it does not transcribe anything itself. Every command is a request to the app already running on your machine, so the CLI gets the same models you configured in the UI, the same dictionary and text replacements, the same plan limits, and the same data stores.
So the desktop app has to be installed, and something has to be running. If the app is closed when you type a command, the CLI wakes it in the background for you (see [Launching the app](#launching-the-app) below).
The CLI ships and versions independently of the desktop app. `vowen --version` and the app version are unrelated numbers.
## How it connects
The `vowen` command does not run Vowen. It talks to the copy already running on your machine, so
the app has to be open for any command to work.
```
vowen ──▶ the running Vowen app (this machine only)
```
Nothing is reachable from another machine, and no request leaves your computer.
A few things the CLI deliberately cannot do:
* **Secrets are never returned.** Anything that looks like an API key, token, secret, password or
licence comes back as `` from `vowen settings get`.
* **Only some settings can be written.** `vowen settings set` accepts a fixed list of keys.
Shortcuts, API keys, sync and account settings are not on it. The full list is in the
[command reference](/cli/commands#settings).
* **Deleting requires a paid plan.** `vowen delete` and `vowen notes delete` exit with code 5 on
the Free plan.
The CLI connection is on by default. `vowen settings set cliServerEnabled false` turns it off,
taking effect the next time the app starts. With it off, no `vowen` command can reach the app.
## What you can do with it
| Area | Commands |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Read your data | `history`, `search`, `read`, `stats`, `export`, `watch` |
| Meeting notes | `notes list`, `notes read`, `notes create`, `notes import`, `notes regenerate`, `notes update`, `notes delete`, `notes start/stop/pause/resume` |
| Transcribe files | `transcribe`, `import`, `models` |
| Configure | `tags`, `tag`, `vocab`, `replacements`, `expansions`, `settings` |
| Control the app | `record start/stop/toggle/cancel`, `status`, `app launch`, `app version` |
| Setup and tooling | `doctor`, `mcp`, `update`, `completion` |
Full syntax for all of them is on the [command reference](/cli/commands) page.
## Global flags
These three flags work on every command.
Prints the raw API response as indented JSON instead of the human-readable table. Use it in scripts. The table layout is not a stable contract; the JSON shape is what the app actually serves.
```bash theme={null}
vowen history --limit 50 --json | jq -r '.items[] | .text'
vowen status --json | jq -r '.model'
```
`vowen watch` never pretty-prints. It always emits one compact JSON object per line (NDJSON), so it can be piped straight into a line-oriented consumer.
```bash theme={null}
vowen watch --type dictation | while read -r line; do
echo "$line" | jq -r '.text'
done
```
By default, a command issued while the app is closed launches it. `--no-launch` turns that off. If no live app is found, the command fails immediately with exit code 3.
Use it in cron jobs, CI, and status checks where silently starting a desktop app would be the wrong behavior.
```bash theme={null}
vowen status --no-launch
```
How long to wait for the app to come up after the CLI wakes it. Defaults to `20s`. Accepts Go duration strings: `5s`, `1m`, `500ms`.
```bash theme={null}
vowen status --timeout 45s
```
This is the launch wait only. It does not cap how long a transcription takes.
## Launching the app
When the app is not running and `--no-launch` was not passed, the CLI fires the `vowen://cli/wake` deeplink and polls until the API answers or `--timeout` expires. On macOS it launches without stealing focus, so a command typed in your terminal will not pull a window in front of you.
The deeplink can only wake the app. It carries no data and cannot read or write anything, so a link clicked in a browser cannot reach your history.
## Exit codes
| Code | Meaning |
| ---- | -------------------------------------------------------------------- |
| `0` | Success |
| `1` | Error (bad arguments, file not found, API error, network failure) |
| `3` | The app is not running, and could not be launched within the timeout |
| `5` | Your plan does not allow this operation |
The CLI exits 5 when the app answers `upgrade_required`, which happens when you delete history or notes, exceed the free lifetime transcription limit, or queue a second transcription while one is already running.
### Handling exit 3 in a script
```bash theme={null}
#!/usr/bin/env bash
set -uo pipefail
# Probe without launching, so this script never pops a desktop app open
# unexpectedly on a headless or unattended run.
vowen status --no-launch >/dev/null 2>&1
case $? in
0)
;;
3)
echo "Vowen is not running." >&2
# Decide explicitly: either bail out...
exit 0
# ...or wake it on purpose:
# vowen app launch --timeout 60s || exit 1
;;
5)
echo "This operation needs a paid plan." >&2
exit 1
;;
*)
echo "vowen failed unexpectedly." >&2
exit 1
;;
esac
vowen history --type dictation --limit 20 --json > today.json
```
## Diagnostics
Run `vowen doctor` first when something is not working. It prints the CLI version, your platform, whether it can reach the app, and then the app version, plan, and active engine and model. It never launches the app, so a "not reachable" line is a genuine signal rather than a race.
```
$ vowen doctor
CLI version: 0.2.0
Platform: darwin/arm64
Server file: /Users/you/Library/Application Support/Vowen/cli/server.json
API: 127.0.0.1:52341 (v1) — OK
App version: 0.5.4
Plan: pro
Engine/model: parakeet / parakeet-v2
```
## Next steps
Install, update, uninstall, and troubleshoot
The complete reference
# FAQ
Source: https://docs.vowen.ai/faq
Answers to the most commonly asked questions about Vowen.
## General
Yes. Core transcription is free forever: local and cloud models, AI enhancement with your own API key, custom shortcuts, history, and custom AI instructions for dictation. Some features have caps on the free plan, which Pro removes. See the full breakdown on the [Pricing page](/pricing).
There are two: **Free**, which is what you get without a licence, and **Pro**, which an activated licence key unlocks. Where the two differ:
| | Free | Pro |
| -------------------------- | -------- | --------- |
| Command Mode runs per day | 5 | Unlimited |
| Voice Shortcuts | 3 | Unlimited |
| Manual file transcriptions | 10 total | Unlimited |
| Real-time preview | No | Yes |
| Speaker diarization | No | Yes |
| Multiple shortcuts | No | Yes |
| Import / export data | No | Yes |
| Mute or pause system audio | No | Yes |
Other Free plan caps: 10 saved meeting notes, 3 memory items, 1 tone, 1 custom text expansion.
Your current plan is shown in **Settings > Account**, and as a badge at the top of the sidebar.
Only if you choose a cloud transcription model. With local models (Whisper, Parakeet, Nemotron) transcription happens entirely on your machine with no network call. With a cloud model, audio goes directly from your machine to the provider you configured, using your own API key. Vowen does not proxy or store it.
That is not the whole picture though. Vowen also sends product analytics, checks for updates, and fetches a model catalog, and several optional features send data to third parties. [Privacy and data](/get-started/privacy) lays all of it out.
Not currently. Vowen sends product usage events to PostHog, and those events include your name and email if you have set them. There is no setting to disable it.
The mitigations available today are to leave the email field blank in **Settings > Account** and to block `us.i.posthog.com` at your network level. See [Privacy and data](/get-started/privacy#analytics).
Encrypted on your machine, alongside your Vowen settings. They are not saved as individual Keychain or Credential Manager entries, so searching Keychain Access will not find them. Keys never leave your device except to reach the provider they belong to, and are never sent to Vowen.
See [Privacy and data](/get-started/privacy#api-key-storage).
Vowen uses open-source components internally (Whisper.cpp, Parakeet) but the application itself is not currently open source. Open-sourcing is being considered for the future.
Yes, always. We will never paywall features that are currently free. The Pro plan is for new, advanced capabilities only.
macOS (Apple Silicon and Intel) and Windows (x64). There is no separate ARM64 Windows build; on an ARM64 Windows machine the x64 build runs under emulation. Linux is not currently supported.
Yes, but Apple Silicon (M1/M2/M3/M4) is recommended for best performance with local models. Some larger models may be slower on Intel.
## Licence and plans
No. Pro is a **one-time payment** for a lifetime licence. There is nothing to renew and nothing to cancel.
Three. To move your licence to a fourth machine, deactivate one of the existing three first
from **Settings > Account**.
Deactivate it on the old machine first, then activate on the new one.
Open **Settings > Account** and click **Deactivate** on the plan card. Confirm. That releases the activation slot.
Open **Settings > Account** and activate with the same licence key.
Deactivation needs an internet connection and has to reach the licence server. If the old machine is gone, wiped, or permanently offline, it cannot release its own slot. Use the **Manage License** link in **Settings > Account** to open the customer portal and free it from there.
Yes. Pro keeps working without an internet connection. There is no offline countdown or grace period to run out.
Deleting history is a Pro feature. On the free plan the delete controls are disabled.
The free plan caps how many meeting notes you can save and how many manual file transcriptions you can run, and deleting old ones would otherwise recycle those slots indefinitely. Upgrading to Pro removes both the caps and the restriction.
## Permissions
Fully quit Vowen (right-click the menu bar or tray icon > Quit Vowen) and relaunch it. macOS in particular requires a full restart after granting Accessibility permission before the change takes effect.
Launch Vowen at least once. The app registers itself with macOS on first launch. If it still doesn't appear, try dragging the Vowen app from Applications directly into the permission list in System Settings.
Go to **System Settings > Privacy & Security > \[Permission Type]**, find Vowen, and toggle it on. If the toggle is greyed out, click the lock icon at the bottom of the window and authenticate to make changes.
On macOS: **Microphone** and **Accessibility** are required. **Screen Recording** is optional and only needed for Meeting Notes, Command Mode screenshots, and region capture. **Automation** is optional and only needed for per-app tones.
Vowen does **not** use Input Monitoring, so it will not appear in that list and you do not need to add it.
On Windows, no manual grants are needed. See [Permissions](/get-started/permissions).
**Settings > Permissions** shows live status for each one with a button that opens the right pane of System Settings. This section is excluded from the settings search box, since these are system grants rather than settings. Click Permissions in the settings sidebar to reach it.
## Updates
Check your internet connection. If you are behind a VPN or firewall, try disabling it temporarily. Some regions may have slower connections to our update server.
Manually quit Vowen (right-click the menu bar or tray icon and choose Quit) and relaunch from Applications or the Start menu.
Every 6 hours. The check runs in the app window, so it does not happen while Vowen is closed. Dismissing an update banner hides it for 24 hours.
Use **Settings > General > Check for Updates** to force a check. The automatic 6-hour check can be delayed if your machine was offline or asleep.
## Transcription
Vowen defaults to **Parakeet V2** on both macOS and Windows, which is a good place to stay unless you have a specific reason to move. Beyond that:
* **Speed, offline:** Parakeet V2 (English) or V3 (25 European languages)
* **Speed, cloud:** a Groq model
* **Accuracy:** Whisper Large v3 Turbo, or Groq Whisper Large v3
* **Languages beyond 25:** Whisper Large v3 or a cloud model
* **Privacy:** any local model (Whisper, Parakeet, or Nemotron)
* **Real-time preview:** a streaming-capable model such as Parakeet, Deepgram, Soniox, or Mistral
See the full [Models Guide](/transcription/models) for detailed comparisons.
**Local models** run entirely on your device. They work offline and keep your data private, but may be slower on some hardware.
**Cloud models** send your audio to a third-party API (Groq, Deepgram, etc.) for transcription. They're faster and more accurate for complex vocabulary, but require an internet connection and an API key.
Groq serves two purposes in Vowen:
1. **Transcription:** Whisper Large v3 and Whisper Large v3 Turbo convert speech to text. Configured under **Speech models**
2. **AI Enhancement:** a chat model polishes and formats the transcribed text. Configured under **Configure your AI**
They are different model types serving different stages of the pipeline, and they use the same API key.
Vowen supports 99 languages via Whisper models and 25 European languages via Parakeet V3. Set your dictation language in **Settings > Language**. For best non-English results, use the multilingual Large v3 model or a cloud model.
Vowen's own interface is also translated into 18 languages. Pick one under **Settings > Language > Interface language**.
Yes. Open **Transcribe** in the sidebar to drag and drop or browse for audio and video files. Common formats are supported, with timestamps in the output. The Free plan includes 10 manual file transcriptions in total; Pro has no cap.
## Models
Check your internet connection and available disk space. Downloads can be resumed if interrupted; just click download again.
The model file may be corrupted. Delete the model and re-download it. If the issue persists, check that your antivirus hasn't quarantined the model files.
The first transcription after launching Vowen (or switching models) takes longer as the model loads into memory. Subsequent transcriptions are faster.
## Accuracy
Whisper sometimes hallucinates "Thank you." when it detects silence. Vowen's junk detection catches and discards it in most cases. If it persists, speak immediately when you press the shortcut.
Pause for a brief moment (half a second) after pressing the shortcut before speaking, and after finishing before releasing. This gives the audio capture time to start and stop cleanly.
Slow down slightly, or switch to a larger model. Cloud models (Groq, Deepgram) handle fast speech better than smaller local models.
Add them to your custom vocabulary on the **Dictionary** page in the sidebar. For consistent misspellings, create a Thread replacement rule on the same page.
This occasionally happens with local models. Re-record the phrase. If it happens frequently, try a different model or enable AI Enhancement, which catches and removes repetitions.
## AI & Enhancement
Yes. Vowen supports 10+ AI providers including OpenAI, Anthropic (Claude), Google Gemini, Groq, DeepSeek, OpenRouter, and more. Bring your own key. No Vowen subscription is required for AI enhancement.
It lightly cleans up your transcription: fixes spelling and grammar, removes filler words (um, uh), applies formatting (bullet points, paragraphs), and converts spoken numbers to digits. It preserves your voice and wording. It does not rewrite your text.
Yes. Many developers use Vowen to dictate prompts to AI coding tools. For code-related dictation, we recommend **disabling AI Enhancement** so you get the literal transcription without any cleanup.
Yes. Use **Command Mode** (default: Alt+Shift). When you have text selected, it automatically becomes context for your voice command. Say things like "rewrite this more formally" or "fix the grammar" and the AI will process your selected text.
## Features
Press the hands-free shortcut again to toggle it off, or press the stop button in the recording indicator. Pressing `Escape` cancels the recording outright and discards it.
Press `Escape`. That is the default cancel shortcut, and you can change it in **Settings > Shortcuts**.
Vowen works globally, but you can set up **Tones** to change behavior per app. For example: formal writing in email apps, casual in chat apps, no AI enhancement in code editors. The free plan includes one tone; Pro removes the limit.
On macOS, per-app tones need the **Automation** permission so Vowen can tell which app is in front. If tones stop matching for no visible reason, check **System Settings > Privacy & Security > Automation**. See [Permissions](/get-started/permissions#automation--apple-events-optional).
Locally on your device:
* **macOS:** `~/Library/Application Support/vowen/`
* **Windows:** `%APPDATA%\vowen\`
That folder holds your history, your meeting notes and your downloaded models. Saved audio goes to `~/Documents/Vowen Recordings` instead, outside it.
[Privacy and data](/get-started/privacy#where-your-data-lives) has the full picture.
Yes. Vowen's Meeting Notes captures system audio silently. No bot joins the call and no banner appears to other participants. Works with Zoom, Teams, Meet, Slack Huddles, and any app that produces audio. Available on both macOS and Windows. The free plan lets you keep 10 saved notes.
Go to **Settings > Account** and use the **Export Data** button on the Data card at the bottom. **Import Data** is beside it. Import and export are Pro features.
Yes. Rank your Bluetooth device in **Settings > Audio**. Vowen keeps an ordered list of microphones and uses the highest-ranked one that is currently connected, so a headset can take priority automatically when you put it on. On macOS, if your Bluetooth headset is connected, Meeting Notes captures both system audio and your microphone through it.
Yes. Install the `vowen` command line tool from **Settings > Developer**. The same section has Update and Uninstall buttons. See the [CLI documentation](/cli/overview).
Try **Settings > Developer > Prefer IPv4 Connections**. It is on by default and resolves cloud services over IPv4 first, which works around networks that advertise broken IPv6. If you are on an IPv6-only network, turn it off. The change applies immediately.
## macOS
macOS sometimes stops sending key presses to apps after sleep. Vowen auto-recovers in most cases, but if it doesn't, fully quit and relaunch.
Restart Vowen after granting Accessibility permission. The Fn key is only picked up once Vowen has been relaunched.
On first launch after enabling this setting, the Dock icon may briefly appear. It will be hidden on subsequent launches.
## Windows-Specific
The app is not yet code-signed with an Extended Validation (EV) certificate, which is expensive for indie developers. The app is safe to use. You can whitelist it in your antivirus settings.
Some apps don't support standard Ctrl+V paste. Switch to **Direct insertion** in **Settings > General > Text Insertion Method**.
The paste method puts your transcription on the clipboard for a moment, and clipboard managers pick it up. Vowen keeps them out by default. If yours is still recording them, check that **Settings > Developer > Allow Dictations in Clipboard History** is off. Turn it on if you actually want dictations kept there.
With dual monitors, the indicator may appear on the wrong screen. Restart Vowen and it recalculates position. This has been improved in recent versions.
Some antivirus software quarantines Whisper model files. Add the Vowen data directory (`%APPDATA%/vowen/`) to your antivirus exclusion list, then re-download the model.
Right-click the icon in the system tray (hidden icons) and select **Open Settings**. Direct taskbar clicks opening the app window is a known UX issue being addressed.
The **Option** key on macOS corresponds to the **Alt** key on Windows. So "Option+Shift" becomes "Alt+Shift" on Windows.
Three options:
1. **Use a cloud model:** Groq offers a generous free tier and is very fast
2. **Enable GPU acceleration:** if you have an NVIDIA GPU, download the acceleration module from the **Speech models** page in the sidebar
3. **Use a smaller model:** Tiny or Base are faster than Medium and Large
# In-app shortcuts
Source: https://docs.vowen.ai/features/app-shortcuts
Keyboard shortcuts for moving around inside the Vowen window.
These keys work **inside the Vowen window**: jumping between pages, searching lists, going back, switching note tabs. They are fixed and are not configurable.
For the global shortcuts that start and stop recording from any app, see [Keyboard Shortcuts](/features/shortcuts). Those are rebindable.
## Quick reference
| Shortcut (macOS) | Shortcut (Windows / Linux) | Where | Does |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------- | -------------------------------------------------------------- |
| Cmd + K | Ctrl + K | Anywhere in the app window | Open or close the [command palette](/features/command-palette) |
| Cmd + F or / | Ctrl + F or / | Any list page | Focus that page's search box and select what is in it |
| Cmd + ← | Alt + ← | Anywhere | Back |
| Cmd + → | Alt + → | Anywhere | Forward |
| Cmd + 1 / 2 / 3 | Ctrl + 1 / 2 / 3 | An open note | Summary / Transcript / Ask AI |
| Cmd + 1 / 2 / 3 | Ctrl + 1 / 2 / 3 | Meeting panel | Ask AI / My Notes / Transcript |
| Cmd + F | Ctrl + F | Summary editor, transcript editor | Open the find bar |
| Cmd + Shift + F | Ctrl + Shift + F | Summary editor, transcript editor | Open find and replace |
| Cmd + Z | Ctrl + Z | Transcript editor | Undo |
| Cmd + Shift + Z or Cmd + Y | Ctrl + Shift + Z or Ctrl + Y | Transcript editor | Redo |
| \< / > | \< / > | Any audio player | Step playback speed down / up |
| Shift-click | Shift-click | Notes and Transcribe lists | Select a range of rows |
| Esc | Esc | Anywhere | Close the top-most thing, or clear the list selection |
| ↑↓Enter | ↑↓Enter | Command palette | Move and open |
| Cmd + Enter | Ctrl + Enter | Fill-in window | Submit the form |
## Focusing the search box
Cmd + F (Ctrl + F on Windows and Linux) or a bare / focuses the search box on the page you are looking at and selects whatever is already in it, so a second search overwrites rather than appends.
It works on six surfaces:
* **Home** (the Voice Log tab)
* **Transcribe**
* **Notes**
* **Dictionary > Dictionary**
* **Dictionary > Threads**
* **Dictionary > Expansions**
Only the search box actually on screen responds, so the key never lands on a hidden page.
Two deliberate differences between the two keys:
* / is ignored while your cursor is already in a text field. Otherwise you could never type a slash into the box it just focused.
* Cmd + F works from a text field, matching what you expect from a browser. Shift is allowed with /, because several keyboard layouts need it to produce the character at all.
Both stand down while a modal is open, so the modal keeps the keyboard.
## Back and forward
Vowen keeps a browser-style history of where you have been in the window. On macOS the chords are Cmd + ← and Cmd + →. On Windows and Linux they are Alt + ← and Alt + →, matching the browser and File Explorer gesture. Detail pages also show a back arrow that does the same thing.
A location is a page (with its sub-tab where there is one) or one of the two full-screen detail views, a note or a transcription. The settings modal is deliberately not in the history. It is a dialog with its own Escape, and putting it in would make Back reopen dialogs.
The history holds the last **10** locations. If a note or transcription you visited has since been deleted, Back skips over it rather than landing you on an empty detail view.
The chord is ignored while your cursor is in a text field or a rich-text editor, and while any modal is open. On macOS Cmd + ← means "move the caret to the start of the line", and stealing that would break editing a note title or a summary.
## Note tabs
With a note open, Cmd + 1 / 2 / 3 (Ctrl on Windows and Linux) jumps straight to **Summary**, **Transcript** and **Ask AI**.
The digits map to fixed tabs, not to positions. The optional **My Notes** tab sits between Transcript and Ask AI, so if the chords followed position, the same keystroke would do different things from one note to the next.
Unlike back and forward, these stay live while your cursor is in the title, the summary editor or the Ask AI composer. The chord is not a text-editing gesture on any platform, so there is nothing to steal. It does stand down while a modal is open.
These chords are keyed to the **physical key**, and the numeric keypad counts too. On AZERTY, where the unshifted "1" key reports as `&`, the shortcut still works. The same is true in the [meeting panel](/meeting-notes/overview), which uses Cmd / Ctrl + 1 / 2 / 3 for Ask AI, My Notes and Transcript.
## Selecting a range of rows
On the **Notes** and **Transcribe** lists, click one checkbox and then shift-click another to fill in everything between them.
The range takes the state of the row you shift-clicked. Shift-clicking an unchecked box checks the whole range; shift-clicking a checked box unchecks it.
These are checkboxes, not Finder icons. A range fill never wipes rows you ticked somewhere else in the list, for example in a different date group.
A second shift-click re-ranges from the same starting row instead of chaining onto the last one, so you can widen or narrow a range without starting over. A plain click moves the anchor.
If the row you first clicked has since been filtered out or deleted, the shift-click falls back to a plain toggle.
The range only ever covers rows currently visible in the list, in the order you see them, after search, tag filters and sorting have been applied.
## Escape
Escape is unified across the app. Whatever is on top gets it, and only that.
Open dialogs form a stack, and only the one on top responds. Closing a model picker that you opened on top of a settings modal leaves the settings modal open behind it.
In the voice shortcut editor, the tone editor and the expansion editor, Escape with unsaved changes asks before discarding instead of closing.
If nothing is open and you have rows selected on Notes or Transcribe, Escape clears the selection. It is only bound while something is actually selected, so Escape stays available to everything else the rest of the time.
Escape dismisses the summary or transcript find bar even if your cursor has since moved into the text.
Escape is also the default binding for the global **Cancel Recording** shortcut, which is enabled out of the box. That one is rebindable in **Settings > Shortcuts**. See [Keyboard Shortcuts](/features/shortcuts).
## Related
What Cmd + K opens and everything it searches.
The rebindable global shortcuts for recording.
# Ask AI
Source: https://docs.vowen.ai/features/chat
Ask questions about a transcript in plain language, with the transcript as context.
Ask AI requires the Pro plan, on both the transcription and meeting-note surfaces.
Ask AI ships on two surfaces and they behave differently. **This page covers manual transcriptions**, plus the concepts both surfaces share. For Ask AI on a meeting note, where it has its own tab, saved conversations, and the ability to rewrite the note, see [Ask AI on meeting notes](/meeting-notes/ask-ai).
## Overview
Ask AI lets you have a conversation about one transcript. Pull out action items, summarize a section, find a quote, or draft a follow-up, all in plain language.
Ask AI only exists **inside an individual item**:
* A completed [manual transcription](/transcription/manual-transcription)
* A completed [meeting note](/meeting-notes/recording)
There is no global "ask across all my history" view. Every conversation is scoped to the single item you have open.
## On a manual transcription
Open a completed transcription from the **Transcribe** tab. Ask AI is a floating panel docked at the bottom of the transcript reading column. There is no separate button to press. The panel *is* the prompt box, carrying the placeholder **"Ask about the transcript..."**.
Type a question and press Enter. The panel expands into a full conversation view headed **Chat with transcript**, with a chevron to collapse it again. If you collapse a conversation that has messages, a small chip appears above the box showing the message count so you can reopen it.
The panel on this surface is labeled "Chat with transcript" in the app. On meeting notes the same feature appears as a tab named **Ask AI**. Both run the same conversation engine, with different amounts of surface around it.
### Starter prompts
An empty conversation offers three one-click prompts under the heading "Ask anything":
* **What decisions were made?**
* **List the action items**
* **Draft a follow-up email**
Typing `/` in the box opens the full command menu, which adds **Summarize the key points** and **What is still unresolved?**, plus **Clear chat**.
## What Ask AI can see
Click the `@` button in the composer to choose what is attached to your question. It lists the context sources available on the current surface as toggleable cards.
On a **manual transcription** there is exactly one source:
| Source | Default | Notes |
| -------------- | -------- | ---------------------------------------------------------------------------------------------- |
| **Transcript** | Attached | Shows the number of blocks it covers. Can be toggled off if you want to ask a general question |
That is the only card here, so the `@` menu reports "Nothing else to add" once it is attached. Meeting notes expose more sources, including the summary and your own notes.
Two more inputs apply on both surfaces:
* **File attachments.** The paperclip accepts a single image or PDF, up to 10 MB. Images are read by the model directly. Other file types are only announced to the model by name, not read.
* **[Connectors](/integrations/connectors)** (Pro, experimental). When your question calls for it, Ask AI can look things up in your linked apps, for example a Linear issue or a Notion page.
**[Memory](/features/memory) is not one of these sources.** Memory reaches Command Mode and Custom Utilities only. Nothing you store there is visible to Ask AI.
Where the transcript carries timing, answers cite the blocks they drew on, and clicking a citation jumps to that point in the transcript. Very long transcripts are truncated before being sent, and the model is told that the content was cut.
## Choosing a model
The composer has a model picker. You can switch which configured AI provider and model answers, per conversation, without leaving the page. See [Configure your AI](/ai-features/ai-setup) for setting providers up.
## Conversation history
On a **manual transcription**, the conversation is not saved. It survives navigating away and coming back during the same session, but quitting Vowen discards it. There is no conversation list, no renaming, and no way to reopen an old thread on a transcription.
A question about a one-off transcription is treated as throwaway. Conversations that persist across restarts, appear in a list, and can be renamed are a **meeting-note** feature. See [Ask AI on meeting notes](/meeting-notes/ask-ai).
The only history control on a transcription is the trash icon in the composer, or `/clear`, which empties the current conversation.
## What Ask AI cannot do here
The assistant is **read-only** on a manual transcription. It answers questions and drafts text into the conversation, and it never edits the transcript itself. You can still edit the transcript by hand in the transcript editor.
On a meeting note the assistant is given write access to the note's title and summary, with an undo. That does not apply here, because a manual transcription has no summary to rewrite.
## Requirements
* An **AI provider must be configured**. Without one the panel shows "No AI provider configured. Set one up in Settings to chat." Configure one on the [Configure your AI](/ai-features/ai-setup) page.
* **Pro plan.** On the Free plan the composer is replaced by an upgrade prompt reading "Chat with transcript is a Pro feature".
## Example questions
* "What were the action items from this?"
* "Summarize the key decisions"
* "Find the part where the timeline was discussed"
* "Who agreed to follow up on the budget question?"
* "Rewrite the second half as a status update for my manager"
# Cloud Sync
Source: https://docs.vowen.ai/features/cloud-sync
Keep your Vowen data in step across devices, through your own cloud storage.
The Pro plan unlocks Cloud Sync so your settings, notes, and transcripts stay in step across devices.
## Overview
Cloud Sync keeps your Vowen data synchronized across machines using **your own** cloud storage. Vowen writes plain JSON files into a `Vowen Sync` folder inside the storage folder your provider's desktop app already maintains, and your provider's own client moves them between machines. Vowen never stores your data on our servers, and never sees your cloud account credentials, because it never talks to a cloud API at all.
**The provider's desktop app must be installed and signed in.** Vowen detects the folder on disk, so if the app is not installed, the provider card reads "Not detected".
## Supported providers
| Provider | Platforms | Sync folder |
| ------------ | ----------------- | --------------------------------------------- |
| iCloud Drive | macOS only | `iCloud Drive/Vowen Sync` |
| Google Drive | macOS and Windows | `Vowen Sync` in your Google Drive root |
| Dropbox | macOS and Windows | `Dropbox/Vowen Sync` |
| OneDrive | macOS and Windows | `Vowen Sync` in the selected account's folder |
Every device must use **the same provider and the same account**. A device syncing through iCloud and another through Google Drive will never see each other's data.
## Setup
iCloud Drive, Google Drive for Desktop, Dropbox, or OneDrive. Vowen only reads the folder that app maintains.
Go to **Settings > Sync**.
Detected providers show a **Connect** button. Undetected ones show "Not detected" and a hint telling you what to install.
Once connected, the **Sync transcription data** switch appears. It is on by default. Turn it off if you want only your configuration to travel.
Press **Sync Now** for the first sync, or turn on **Auto-sync in the background**.
### Choosing your OneDrive account
If you are signed in to more than one OneDrive account on the same machine, a **OneDrive account** dropdown appears once OneDrive is selected. Pick the account you want; your data goes into a `Vowen Sync` folder inside it. After switching accounts, press **Sync Now** to set up sync in the new location. Data in the previous account's folder is left untouched.
## What gets synced
### Always synced
These categories sync whenever Cloud Sync is on. Each one is a folder inside `Vowen Sync`.
| Folder | Contents |
| ------------ | ------------------------------------------------------------------------------------------ |
| `Dictionary` | Custom vocabulary, including misspelling aliases |
| `Threads` | Voice-triggered text replacements |
| `Expansions` | Text expansions, expansion global variables, and expansion tags |
| `Tones` | Your tones |
| `Workflows` | Custom voice shortcuts, custom utilities, and the on/off state of built-in voice shortcuts |
| `Tags` | Meeting-note tags and transcription tags |
| `Templates` | Meeting-note summary templates |
| `Settings` | Synced preferences, shortcut configuration, and filler words |
### Optional
One switch, labeled **Sync transcription data**, covers all three history types:
* Transcription history (your dictation log)
* Meeting notes
* Manual transcriptions
The description reads *"Sync your transcriptions, meeting notes, and manual transcriptions across devices."* It **defaults to on**, and it only appears after you have connected a provider. Turning it off leaves your configuration syncing while your content stays local.
### Never synced
**Memory items do not sync.** [Memory](/features/memory) notes and files are per device. They are absent from every sync category, and they are not covered by [Import & Export Data](/features/import-data) either. Moving to a new machine means re-adding them by hand.
Also excluded:
* **Audio and video recordings.** Only the text and metadata travel. File paths are stripped before upload and reattached from each device's own copy, so a note synced to a second machine has its transcript and summary but no playable media.
* **Downloaded speech models.** Each device downloads its own.
* **API keys.** Preferences sync from an allowlist that contains no credential of any kind. Your provider keys stay in encrypted local storage.
* **Your licence key**, which lives in its own file outside settings.
* **Device-specific settings**, such as your selected microphone.
## Cloud folder layout
The `Vowen Sync` folder is deliberately browsable. Most categories store one file per device, so no two devices ever write the same file:
```
Vowen Sync/
Dictionary/.json
Threads/.json
Expansions/.json
Tones/.json
Workflows/.json
Tags/.json
Templates/.json
Settings/.json
Transcriptions/.json
Meeting Notes/
[].json
.sync/.json
Manual Transcriptions/
[].json
.sync/.json
```
**Meeting Notes and Manual Transcriptions store one file per item**, named after the note's title with its id in brackets. The id is the authority; the title is cosmetic, and renaming a note rewrites the file under the new name. Alongside them, a hidden `.sync/` folder holds one deletion ledger per device.
**Deleting an item file directly in the cloud folder deletes that item everywhere, permanently.** Vowen treats a file it has seen before disappearing from a healthy folder listing as a deliberate deletion, records a tombstone, and propagates it to every device on the next sync. There is no undo from within the app.
Corrupt, unreadable, or half-downloaded files are handled differently and safely. Vowen treats them as "no information", so they contribute nothing to the merge and are **never** interpreted as deletions. If a whole folder cannot be listed, the entire sync cycle is deferred rather than run on a partial view.
## Automatic sync
Turn on **Auto-sync in the background** in Settings > Sync. It is **off by default**; without it, sync only runs when you press **Sync Now**.
With it on, sync is triggered by:
| Trigger | Timing |
| -------------------------- | ---------------------------------------------------------------------------------------- |
| App launch | Once, about 8 seconds after boot, so the cloud client has time to settle |
| Window focus | On focus, throttled to at most once per minute |
| A local change | Debounced by 3 minutes, so a burst of edits becomes one sync |
| Losing focus, and quitting | A pending push is flushed immediately so changes leave before the app idles |
| Periodic backstop | Every 30 minutes, to pick up other devices' changes while this one sits open and focused |
All of these funnel through a single lock, so triggers can never overlap.
The connection status shows the last sync time and which device pushed. Manual **Sync Now** shows you a preview of every incoming add, update and delete before applying it; background auto-sync applies without asking.
## Conflict resolution
Conflicts are resolved **per item**, not per file and not per category. Editing your dictionary on one machine and your tones on another is not a conflict at all; nor is editing two different dictionary words.
Each item carries a stamp recording when the fleet last observed it change. The stamp has three parts: a wall-clock timestamp, a counter that every device raises to match the highest it has seen, and the id of the device that wrote it. Comparison runs through all three in order, so the result is a total order that every device computes identically. Whichever device syncs last does not change the outcome, and merging is order-independent.
**Deletions are explicit tombstones.** A device records one only when it observes an item disappear from its own data, or from a healthy cloud listing. A device is never allowed to infer a deletion from another device simply not having the item, which is what keeps a machine that has been offline for a month from wiping everything created since. When an edit and a delete land at exactly the same moment, the edit wins.
Before any merge is applied, Vowen takes a compressed backup of your local stores and records what the cycle did in a log file, both under your Vowen data directory.
## Devices and licensing
Every device participating in Cloud Sync needs an active Pro licence.
How many machines one licence key covers is a property of **the licence**, enforced by our payments provider, not by Cloud Sync. Cloud Sync itself places no cap on how many devices you connect. See [Pricing](/pricing) for the current licence terms.
## Privacy
* Data is stored in **your own** cloud storage account, in a folder you can open and read.
* Vowen never contacts a cloud provider's API. It reads and writes files on your disk and lets the provider's own client move them.
* Vowen has no access to your cloud files beyond the `Vowen Sync` folder.
* You can disconnect at any time. Disconnecting stops syncing and clears local sync state; the files already in your cloud folder are left in place.
# Command palette
Source: https://docs.vowen.ai/features/command-palette
Jump to any page and search everything you have ever dictated with one keystroke.
Press Cmd + K on macOS, or Ctrl + K on Windows and Linux, anywhere in the Vowen app window. Press it again to close it, or press Esc.
Leave the box empty and the palette jumps you to a page. Type, and it also searches the content you have already captured: your dictation history, your meeting notes, and your uploaded transcriptions.
## Jumping to a page
Open the palette and press Enter on any row, or use ↑ and ↓ to move first. With nothing typed, every page in the app is listed:
Home, Transcribe, Speech models, Dictionary, Voice Shortcuts, Configure your AI, Notes, Tones, Connectors, Settings.
Two rows are conditional. **Connectors** only appears when you have turned Connectors on in **Settings > Experimental**. Choosing **Settings** opens the settings modal rather than a page.
### Aliases
Each page carries a list of aliases, so typing what you actually call the thing finds it even when that is not the sidebar label.
| Page | Also found by typing |
| ----------------- | ---------------------------------------------------------------- |
| Home | history, voice log, voicelog, dictation, stats, activity, streak |
| Transcribe | upload, audio file, import, recording |
| Speech models | model, engine, whisper, parakeet, language |
| Dictionary | vocabulary, words, snippets, expansions, replacements, spelling |
| Voice Shortcuts | automation, actions, triggers |
| Configure your AI | ai, provider, llm, api key, openai, anthropic, model provider |
| Notes | meeting, summary, transcript, notes |
| Tones | tone, style, formatting |
| Connectors | mcp, integration, connector |
| Settings | preferences, options, shortcuts, hotkeys, general |
So typing `api key` finds **Configure your AI**, and typing `voice log` finds **Home**.
Page rows are ranked in three bands: a page whose label *starts* with what you typed comes first, then a page whose label merely contains it, then an alias-only match. That is why typing `no` puts the **Notes** page above any individual note.
## Searching your content
Once there is a query, three more groups can appear below **Pages**:
Everything in your voice log. Matches against the final text and the original pre-enhancement text. Command Mode entries are matched across every refinement turn in the thread, not just the last one, so a phrase you later refined away still finds the conversation. Meeting notes are excluded from this group, because they have a group of their own.
Your meeting notes. Matches the note title, the summary, and the full transcript.
Files you transcribed from the Transcribe page. Matches the filename and the transcribed text. Files still processing are skipped.
Matching is literal, not fuzzy. Vowen splits your query on spaces, and every term has to appear somewhere in the record, in any order, in any field, ignoring case. Searching `acoustic echo` finds an entry containing both words without needing the exact phrase. Every result shows you the words you typed, highlighted in the snippet.
Within a group, a hit in a title-like field outranks a hit in the body, and results are otherwise newest first. Each row shows a snippet centered on the first match, plus a compact date stamp on the right: a time for today, "Yesterday", a weekday for the last week, then a date.
The palette searches your dictation history, meeting notes and uploaded transcriptions. It does not search dictionary entries, threads, expansions, voice shortcuts or tones.
## The per-group cap and "Show more"
Each content group shows a maximum of **5 rows**. The group header carries the real total, and when there are more than five a row appears at the bottom of the group reading **Show N more in Dictation** (or Notes, or Transcribe).
Selecting that row closes the palette, opens that group's page, and drops your query into that page's own search box, where the full result set is waiting. Nothing is silently truncated.
The **Pages** group is not capped.
## What happens when you pick a result
Opens the Notes page and takes you straight into that note's detail view.
Opens the Transcribe page and takes you straight into that transcription's detail view.
The voice log has no detail view, so Vowen opens **Home > Voice Log** instead, seeds the search box with your query, resets the type filter to All so nothing hides the match, then scrolls to the matching entry and flashes it.
Opens that group's page with your query already in its search box.
If you are on **Configure your AI** with unsaved changes, Vowen asks before it navigates away. Resolve the prompt and pick the result again.
## Performance and privacy
Nothing is pre-indexed. A palette you never open costs nothing and stores nothing. Opening it just to jump between pages reads nothing from disk, and your content is only searched once you start typing.
## Keys inside the palette
| Key | Does |
| ----------------------------------------------- | ------------------------------------------- |
| ↑ / ↓ | Move between results, wrapping at both ends |
| Enter | Open the selected result |
| Esc | Close the palette |
| Cmd / Ctrl + K | Close the palette |
Hovering the mouse over a row also selects it.
## Related
Every keyboard shortcut for moving around inside the Vowen window.
The history the Dictation group searches.
# Dictionary & Vocabulary
Source: https://docs.vowen.ai/features/dictionary
Teach Vowen your specialized terminology, and the ways it gets misheard.
## What the Dictionary does
A dictionary entry does two separate jobs.
1. **It biases recognition.** The word is sent to your transcription engine as a hint, so the engine is more likely to produce it in the first place.
2. **It corrects known mistakes.** Each entry can carry a list of *misspellings*, the ways the word actually comes back wrong. Those are rewritten to your canonical spelling after transcription, deterministically.
The first job depends on which engine you use. The second works on every engine, always.
Typical entries:
* Product names (Kubernetes, PostgreSQL, Figma)
* People's names, especially unusual spellings
* Industry jargon and acronyms
* Company-specific terminology
## Adding words
Click **Dictionary** in the left sidebar. The **Dictionary** tab is selected by default; **Threads** and **Expansions** are the other two tabs on the same page.
Click **Add Word** in the window toolbar. Once you have entries, there is a second **Add Word** button beside the search box, and typing a term into the search box and pressing Enter adds it directly.
In the Add Word dialog, click **Add frequent misspellings** and fill in one row per variant. Press **Add another** for more rows.
Once your dictionary grows, use the **search bar** at the top of the tab to filter the list. Press `/` or `Cmd+F` (`Ctrl+F` on Windows) to jump to it.
There is no limit on how many words you can add, on any plan.
## Misspelling aliases
Biasing is only a hint. Even with "Kubernetes" in your dictionary, an engine will sometimes still hand back "cuber netties". A misspelling is the deterministic half of the entry, an exact phrase that Vowen rewrites to the entry's canonical text after transcription.
In the Add Word dialog the section is labeled **Frequent misspellings**, with the hint *"Anything you add here is auto-corrected to "Kubernetes" in your transcriptions."* Each variant goes in its own row, with the placeholder **How it gets misheard**.
| Entry | Misspellings |
| ---------- | ------------------------ |
| Kubernetes | cuber netties, cube nets |
| GitHub | github, git hub |
| Swaathy | Swati, Swathi |
How misspellings behave:
* Matching is case-insensitive, and anchored to whole phrases, so a misspelling of `cal` will not rewrite the middle of "calendar".
* Case-only variants are deliberately allowed. Listing `github` under `GitHub` is one of the most useful things you can do, and Vowen keeps it rather than deduplicating it away.
* Because this is a rewrite applied after transcription rather than a hint, it works on every engine, including the local models that take no vocabulary at all.
Entries that carry misspellings show a small pencil badge in the list, with the full rule in its tooltip.
This is the same replacement machinery [Threads](/features/threads) use. A misspelling belongs to a word you already have in the Dictionary and always resolves to that word's spelling. A Thread is a standalone rule that can expand a short phrase into anything.
## Which engines use your vocabulary
Most cloud engines can steer recognition towards your terms directly, and use your Dictionary well. A few can only take them as a loose hint. Vowen sends your list to each one and stays inside that provider's limits.
| Engine | How well it uses your Dictionary |
| ---------------------------------- | --------------------------------------------------- |
| Deepgram | Well, on both Nova-3 and Nova-2 |
| AssemblyAI | Well, for files and live dictation |
| ElevenLabs | Well, for files and live dictation |
| Speechmatics | Well |
| xAI | Well |
| Mistral | Well |
| Soniox | Well |
| OpenAI | Well, on `gpt-transcribe` and during live dictation |
| Cartesia | Well, live dictation only |
| Groq and OpenAI-compatible servers | Weakly, as a hint the model may ignore |
| Gemini | Weakly, as a hint, file transcription only |
| Sarvam | Weakly, as a hint, live dictation only |
### The exceptions
These engines receive **no** vocabulary at all. Your dictionary still corrects their output through misspellings, but it cannot influence what they produce.
* **Local Whisper Tiny and Base.** See the warning below
* **Local Parakeet** and **local Nemotron**, on both macOS and Windows
* **Sarvam** when transcribing a file or a meeting (live dictation does receive your terms)
* **Cartesia** when transcribing a file (only live dictation receives your terms)
* **OpenAI's diarization model.** Turning on Identify Speakers switches OpenAI to `gpt-4o-transcribe-diarize`, which takes no vocabulary of any kind, so your whole dictionary is dropped for that transcription
* **Gemini Live.** Live dictation ignores your terms; Gemini file transcription applies them
The split is not simply cloud versus local. Check your specific engine.
**Local Whisper applies vocabulary only on Small and larger.** Small, Small (EN), Medium, Medium (EN) and the Large models all use your terms. **Tiny and Base receive nothing at all** and are skipped entirely rather than nudged weakly.
Base was the recommended default for a long time, so if you have never changed your model, every word you add is currently being ignored at recognition time. Two ways out: move to Small or larger in [Speech models](/transcription/models), or attach misspellings to your entries, which are applied afterwards and work on every model including Tiny.
## How terms are prioritized
Every provider has a ceiling, and a long dictionary will hit it. Vowen decides what survives truncation by how much each term matters to you, not alphabetically:
1. **How often you actually say the term.** Usage is counted per term as you dictate.
2. **How recently you said it**, then how recently you added it.
A term you added a year ago and use daily outranks one you added yesterday and have never spoken. Ranking is automatic.
## Bulk import from CSV
Click the **Import from CSV** button in the search row (the download icon) to add many words at once.
* One word or phrase per row, in the first column
* A `word` header row is optional and detected automatically
* Duplicates are detected and skipped, and the preview tells you how many before you commit
The dialog offers a **Download sample CSV** link that saves `vowen-dictionary-sample.csv` with the expected shape.
CSV import handles words only. Misspellings have to be added in the Add Word dialog.
## Auto-add corrections
Auto-add corrections is a Pro feature, available on macOS and Windows.
When Vowen pastes a transcription and you then fix a word by hand, it can notice and offer to remember the fix. Nothing is ever added silently. Every proposal raises a confirmation banner next to the recording indicator, and you decide.
### Turning it on
Turn on **Auto-add corrections to Dictionary** in **Settings > General**. The row carries a **Beta** badge and reads:
> When you correct transcribed text, suggest adding the correction to your Dictionary for improved future recognition. Requires at least one AI provider to be configured.
The row stays greyed out and the switch stays disabled until you have connected an AI provider on the [Configure your AI](/ai-features/ai-setup) page.
### What the banner asks
Title: **Add to Dictionary?**, followed by the word you typed. Offered after a **single** sighting. A dictionary entry is only a hint to the recognizer, so a wrong one costs very little.
Title: **Always correct this?**, showing the rule as `"Swati" → "Swaathy"`. Offered only after **two** sightings, because the result is a permanent find-and-replace applied to every future transcript, and one odd correction is as likely to be you restructuring a sentence as a recurring recognition error.
Press **Add** to accept. The banner clears itself after 15 seconds if you ignore it, which leaves the proposal pending so it can come back.
### The rules it follows
* **One sighting** promotes a new word; **two** are required for a misspelling.
* The two sightings must fall within a **30-day** window. Older evidence is treated as stale and does not carry forward, because a problem that genuinely recurs recurs within a month.
* At most **five** corrections are taken from any single dictation. More than that is a rewrite the diff mis-read, not a set of spelling fixes.
* **Dismissing a proposal is permanent.** Closing the banner with its X records a refusal for that exact pair and Vowen never asks about it again. Only adding the word yourself in the Dictionary reinstates it.
## Related: pass screen as context
A separate feature reads names visible in your current window and passes them to your AI provider so it can repair ones the recognizer misheard. It attacks the same problem as the Dictionary, but it is not part of the Dictionary.
Find it on the **Configure your AI** page, on the **Configuration** tab, nested under "Enhance transcription with AI" and labeled **Pass screen as context**. It is macOS-only, and it reads the accessibility tree rather than taking a screenshot, so it needs no Screen Recording permission and makes no extra model call. See [Configure your AI](/ai-features/ai-setup).
## Dictionary, Threads and Text Expander
| | Dictionary | [Threads](/features/threads) | [Text Expander](/features/text-expander) |
| -------------- | ------------------------------------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------- |
| Triggered by | Speaking the word | Speaking the trigger phrase | Typing `:shortcut` |
| What it does | Biases the engine, then rewrites known misspellings to the canonical word | Replaces a phrase with any text, plain or rich | Expands a typed shortcut into any text, plain or rich |
| Trigger casing | Case-insensitive | Case-insensitive | Case-**sensitive** |
| Reach | Every engine for misspellings; recognition depends on the engine | Every engine | Every app, no dictation needed |
| Use when | A term is yours and you want it spelled right everywhere | You want a short phrase to become longer text | You want the same, while typing |
Start with the word alone. If it still comes back wrong after a few dictations, open the entry and add the exact wrong spelling as a misspelling. That converts an unreliable hint into a guaranteed result.
## Tips
* Add the exact spelling and casing you want. That string is both the hint and the replacement target.
* Add the full form and the abbreviation as separate entries when you use both.
* Skip common English words. Only specialized terms are worth the space in a truncated list.
* Keep misspellings specific. A very short misspelling like `cal` is anchored to whole phrases and will not corrupt longer words, but it will still fire on the standalone word "cal" wherever it appears.
# Home & Stats
Source: https://docs.vowen.ai/features/home
Your Vowen dashboard: words dictated, streaks, time saved, and a shareable stats card.
**Home** is the first item in the left sidebar and where Vowen opens. It has two tabs in the window toolbar: **Overview**, covered below, and **History**, covered in [Voice Log](/transcription/voice-log).
Double-clicking **Home** in the sidebar jumps straight to Overview. A single click keeps whichever tab you had open last.
## The greeting
At the top is a personal greeting and a count of how many words you have spoken today.
Once you pass **1,000 lifetime words**, a small share button appears at the right end of the greeting banner. See [Share your stats](#share-your-stats).
## Your stats
Four cards sit below the greeting. Each shows an all-time figure with a "+N this week" badge underneath.
| Card | What it counts |
| -------------------- | ----------------------------------------------------------------------------------------- |
| **Total Words** | Every word you have ever dictated |
| **Longest Streak** | Your best run of consecutive days using Vowen. The badge shows your current active streak |
| **Total Time Saved** | An estimate of the typing time you avoided, based on 40 words per minute |
| **Transcriptions** | How many dictations you have completed |
The numbers count up when the page opens.
## The quick-start card
Below the stats is a card that reminds you of your two main shortcuts:
* Your **push-to-talk** shortcut, rendered as the actual keys you have configured.
* Your **Command Mode** shortcut, shown once an AI provider is connected. Until then the card shows an **Enable AI Mode** button that takes you to [Configure your AI](/ai-features/ai-setup).
The microphone illustration on this card is decorative. It animates while a recording is in progress, but it is not a button. Start dictation with your shortcut, the [idle pill](/features/recording-indicator), or the tray menu.
## Other cards you may see
Overview also surfaces a few contextual cards:
* **Try out the new Expansions feature**. A one-time introduction to [text expansions](/features/text-expander), with **Try it out** and **Dismiss**.
* **Want faster transcription?** Shown on **Windows only**, and only while a local model is selected. It links to the Speech models page so you can connect a cloud provider.
## Share your stats
Once you have dictated 1,000 words or more, the share button in the greeting banner generates a stats card image summarizing your name, time saved, total words, longest streak and transcription count.
A preview opens with three things you can do:
| Action | Where it goes |
| ----------------------------- | ------------------------------- |
| Download button in the header | Saves the card as a PNG |
| **LinkedIn** | Opens a LinkedIn share composer |
| **X** | Opens an X post composer |
Vowen uploads nothing. The card is rendered locally and you choose what to do with it.
## Related
Your transcription history, search, and per-entry actions.
Change the push-to-talk and Command Mode keys shown on the quick-start card.
# Import & Export Data
Source: https://docs.vowen.ai/features/import-data
Move your dictionary, threads, voice shortcuts, expansions, and custom utilities in and out of Vowen using a single JSON file.
Import and Export Data require a paid plan. Pro unlocks them. On the free plan the buttons are replaced by an upgrade prompt.
## Overview
Vowen stores your customisations in a single JSON file you can export, share, and re-import on another machine. The same file format is used whether you are:
* Migrating from one computer to another
* Sharing a curated pack of expansions with your team
* Building a starter pack programmatically, for example by asking an LLM to generate one
The importer **never overwrites** existing items. Anything that already exists in your settings, matched by shortcut, name, or trigger, is skipped. Only new items are added.
This is a one-off file transfer, not an ongoing mirror. If you want your data kept in step automatically across machines, use [Cloud Sync](/features/cloud-sync) instead. Note that neither feature carries [Memory](/features/memory) items.
## Where the buttons are
Import Data and Export Data are two buttons on a **Data** card at the **bottom of Settings > Account**. There is no Data section in the settings sidebar.
The card is titled **Data**, subtitled "Back up or restore your dictionary, threads, and voice shortcuts", and sits below your plan and profile cards.
### How to import
**Settings > Account**, then scroll to the bottom.
Drop your `.json` file onto the dropzone, or click to browse.
Vowen shows a count of each item type found in the file. The Import button stays disabled if the file contains nothing importable.
Expansions and custom utility hotkeys go live immediately, with no restart.
### How to export
**Settings > Account**, then scroll to the bottom.
Choose where to save the resulting `.json` file. The default name is `vowen-export-.json`.
The export includes every customisation listed in the [file format](#file-format) below.
## File format
An import file is a single JSON object.
```json theme={null}
{
"_vowen": true,
"version": 1,
"exportedAt": "2026-06-01T12:00:00.000Z",
"appVersion": "import",
"dictionary": [],
"threads": [],
"workflows": { "builtin": [], "custom": [] },
"expansions": [],
"customUtilities": []
}
```
### Top-level keys
| Key | Type | Required | Notes |
| ----------------- | ------- | -------- | --------------------------------------------------------------------------- |
| `_vowen` | boolean | yes | Must be present and truthy. The importer rejects files without this marker. |
| `dictionary` | array | yes | Vocabulary words. May be `[]`. |
| `threads` | array | yes | Text replacement rules. May be `[]`. |
| `workflows` | object | yes | Must contain a `custom` array. `builtin` is optional. |
| `expansions` | array | no | Text expansion shortcuts. Treated as `[]` if absent. |
| `customUtilities` | array | no | Custom utility hotkeys. Treated as `[]` if absent. |
| `version` | number | no | File-format version. Informational; not read. |
| `exportedAt` | string | no | ISO 8601 timestamp. Informational; not read. |
| `appVersion` | string | no | Informational; not read. |
Vowen's own export always writes all nine keys, and including them all is the safest thing to do when hand-authoring a file. Only `_vowen`, `dictionary`, `threads` and `workflows` are actually validated.
If any of `dictionary`, `threads`, or `workflows` is missing, the import is rejected with *"This file doesn't appear to be a Vowen export."*
## Expansions (rich text supported)
Expansions are the most flexible item type and the only one alongside threads that supports rich text (bold, lists, links, headings, colors, highlights, alignment).
### Schema
```json theme={null}
{
"shortcut": ":email",
"body": "
contact@example.com
",
"format": "html",
"replacement": "contact@example.com",
"enabled": true,
"isBuiltin": false,
"createdAt": 1780409992000
}
```
| Field | Required | Description |
| ------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shortcut` | yes | The trigger you'll type. Should start with `:` (e.g. `:sig`) so the expander recognizes it. Triggers must be unique. |
| `body` | one of | The content to paste. Either plain text or an HTML fragment depending on `format`. At least one of `body` or `replacement` must be non-empty. |
| `replacement` | one of | Plain-text fallback. Used by apps that don't support rich paste (Terminal, code editors, single-line inputs). For `format: "plain"` this should equal `body`. |
| `format` | no | `"plain"`, `"markdown"`, or `"html"`. Defaults are applied by the app if absent. |
| `enabled` | no | `true` to activate the expansion immediately on import. |
| `isBuiltin` | no | Always `false` for user-imported expansions. |
| `createdAt` | no | Unix timestamp in milliseconds. Used only for sort order. |
Vowen's own export writes every field, and including them all is recommended.
Shortcuts already present in your settings are **skipped on import**, matched exactly and case-sensitively. If you want to update an existing expansion, delete it first in the app, then re-import.
Per-expansion `variables` arrays survive import and are still honoured. The **global variable library** is not part of the export file, so shared variable definitions do not transfer between machines. Expansions whose bodies reference `{{tokens}}` still import fine and will prompt for those values when used.
### Plain expansions
```json theme={null}
{
"shortcut": ":addr",
"body": "123 Main Street, Suite 400, New York, NY 10001",
"format": "plain",
"replacement": "123 Main Street, Suite 400, New York, NY 10001",
"enabled": true,
"isBuiltin": false,
"createdAt": 1780409992000
}
```
For plain expansions, `body` and `replacement` are identical.
### Rich-text expansions (HTML)
When `format` is `"html"`, the `body` is parsed as an HTML fragment by Vowen's rich editor and the rich version is placed on the OS clipboard. Apps that read the rich slot (Gmail, Notion, Apple Mail, Slack rich compose, Word, Google Docs) receive the formatted version; apps that only read plain text (Terminal, code editors, `` fields) get `replacement`.
#### Supported HTML
Vowen's editor is built on Tiptap with the StarterKit, Link, TextStyle, Color, Highlight, and TextAlign extensions. The following tags round-trip cleanly:
| Element | HTML |
| --------------- | ----------------------------------------------------------------- |
| Paragraph | `
` |
| Horizontal rule | `` |
#### Special characters
Use HTML entities inside `body` for any character that has meaning in HTML:
| Character | Entity | Use in |
| --------- | ------------------- | ---------------------------------- |
| `<` | `<` | Anywhere literal `<` should appear |
| `>` | `>` | Anywhere literal `>` should appear |
| `&` | `&` | Anywhere literal `&` should appear |
| `"` | `"` | Inside attribute values |
| £ | `£` | Or use the literal character |
| ‘ ’ | `‘` `’` | Smart single quotes |
| “ ” | `“` `”` | Smart double quotes |
In `replacement` (plain text) you can use the literal characters directly, with no escaping needed.
#### Rich expansion example
```json theme={null}
{
"shortcut": ":pay",
"body": "
",
"format": "html",
"replacement": "You can pay by PayPal or Bank Transfer.\n\nPayPal: https://www.paypal.me/example\n\nBank Details:\n• Account Holder: Example Ltd\n• Sort Code: 401234\n• Account Number: 12345678",
"enabled": true,
"isBuiltin": false,
"createdAt": 1780409992000
}
```
### Dynamic tokens
Both `plain` and `html` bodies support these tokens, which are resolved at expansion time:
| Token | Resolves to |
| ---------------- | -------------------------------------------------------------------------------- |
| `{{DATE}}` | ISO date (e.g. `2026-06-01`) |
| `{{TIME}}` | 24-hour time (e.g. `14:30`) |
| `{{DATE:}}` | A preset date format (see the **Add Expansion** modal in-app for available keys) |
| `{{TIME:}}` | A preset time format |
## Other item types
### Dictionary
Vocabulary words that bias transcription accuracy.
```json theme={null}
{
"text": "Anthropic"
}
```
`text` is the only field read. Existing words are skipped by case-insensitive match on `text`; ids and timestamps are regenerated on import.
**Dictionary import discards misspellings.** Export writes a word's `misspellings` array, but the importer rebuilds each entry from its `text` alone, so misspelling aliases do not survive the round trip. After importing a dictionary on a new machine, re-add misspellings in the Add Word dialog. See [Dictionary](/features/dictionary#misspelling-aliases).
### Threads
Voice-triggered text replacements applied after transcription.
```json theme={null}
{
"trigger": "my address",
"replacement": "123 Main Street, Suite 400, New York, NY 10001",
"body": "123 Main Street, Suite 400, New York, NY 10001",
"format": "plain"
}
```
`trigger` and `replacement` must both be strings. `format` is `"plain"` unless it is exactly `"html"`; `body` falls back to `replacement` when absent. Threads also support rich text (`format: "html"` with `body` as HTML), following the same conventions as expansions.
Existing threads are skipped when **both** `trigger` and `replacement` match exactly, case-sensitively.
### Voice Shortcuts
```json theme={null}
{
"builtin": [
{ "id": "google", "enabled": true }
],
"custom": [
{
"name": "Standup",
"trigger": "standup",
"icon": "Globe",
"urls": ["https://meet.google.com/abc-defg-hij"],
"apps": [],
"folders": [],
"openAppsWithFolder": false,
"webhook": null,
"script": null,
"browser": null,
"enabled": true,
"type": "custom"
}
]
}
```
Custom voice shortcuts open websites, applications, and folders, and optionally fire a webhook or run a script. They are not AI prompts, and they have no `prompt` or `model` field.
| Field | Required | Description |
| --------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `name` | yes | Used for duplicate detection. Entries without it are skipped. |
| `trigger` | yes | The phrase you speak, lowercase. |
| `icon` | no | A lucide icon name. |
| `urls` / `apps` / `folders` | no | Arrays of things to open. At least one of these, or `webhook`/`script`, should be non-empty for the voice shortcut to do anything. |
| `openAppsWithFolder` | no | Open the listed apps alongside the folder. |
| `webhook` / `script` | no | Pro actions. `null` when unused. |
| `browser` | no | A specific browser and profile, or `null` for the system default. |
| `enabled` | no | `true` to activate on import. |
| `type` | no | `"custom"`. |
Custom voice shortcuts created in the app are stored under their `trigger` and do not carry a `name` field, but the importer requires one for duplicate detection. If you are re-importing your own export, add a `name` to each custom voice shortcut, most simply by copying its `trigger`. Entries without a `name` are skipped silently and will not appear in the added count.
**builtin** entries only flip the enabled state of voice shortcuts that ship with Vowen; unknown ids are ignored, and builtin toggles are not shown in the import preview. **custom** entries are added as new voice shortcuts; existing ones are skipped by case-insensitive `name` match.
### Custom utilities
```json theme={null}
{
"name": "Fix Grammar",
"templateId": "fix_grammar",
"prompt": "",
"hotkey": { "modifiers": ["Meta", "Shift"], "keys": ["G"], "enabled": true },
"context": { "selectedText": true, "clipboard": true },
"outputAction": "banner",
"enabled": true,
"createdAt": 1780409992000
}
```
| Field | Required | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name` | yes | Used for duplicate detection. |
| `templateId` | no | One of `polish_text`, `email_rewrite`, `fix_grammar`, `make_professional`, `summarize`, `bullet_points`, or `custom`. |
| `prompt` | no | Only used when `templateId` is `"custom"`. Presets resolve their own prompt, so leave it as `""`. May reference `{{selected_text}}` and `{{clipboard}}`. |
| `hotkey` | no | An **object**, not a string. `modifiers` uses DOM names: `"Meta"`, `"Control"`, `"Alt"`, `"Shift"`. |
| `context` | no | Which inputs the utility receives. |
| `outputAction` | no | `"banner"`. |
| `enabled` | no | `true` to activate on import. |
Existing utilities are skipped by case-insensitive `name` match. After import, the keyboard hook is automatically re-registered with the new hotkeys, so they work immediately.
## Validation rules
The importer checks, in order:
1. The file extension must be `.json`, or you get *"Not a JSON file."*
2. The file must parse as valid JSON, or you get *"Not a valid JSON file."*
3. `_vowen` must be present and truthy, and `dictionary`, `threads` and `workflows` must all exist, or you get *"This file doesn't appear to be a Vowen export."*
4. `dictionary` and `threads` must be arrays, `workflows` must be an object containing a `custom` array, or you get *"The file format is invalid."*
Malformed individual entries are silently skipped rather than failing the whole import. They are not counted in the skipped total either, so a file with bad entries can report fewer items than it contained.
## Minimal example (just expansions)
A valid file can contain expansions only. The three validated keys must still be present:
```json theme={null}
{
"_vowen": true,
"version": 1,
"exportedAt": "2026-06-01T00:00:00.000Z",
"appVersion": "import",
"dictionary": [],
"threads": [],
"workflows": { "builtin": [], "custom": [] },
"expansions": [
{
"shortcut": ":sig",
"body": "
Import & Export Data covers your configuration. To get your **content** out, select multiple items on the **Notes** or **Transcribe** page and click **Export** in the bulk action bar.
Available formats: **md**, **txt**, **pdf**, and, when the selected items carry subtitle timing, **srt** and **vtt**. Items without real timing are skipped rather than exported with invented timestamps.
The result is a single zip, named `vowen-notes-.zip` or `vowen-transcriptions-.zip`, laid out like this:
```
README.txt
index.json
notes/
2026-06-01_0930_weekly-planning/
summary.md
transcript.md
...
```
* **`README.txt`** explains what the archive contains and how it is organized.
* **`index.json`** is a machine-readable manifest listing every exported item with its id, title, timestamp, folder name, and whether it has a summary and a transcript. It also records anything that was skipped, and why.
* Each item gets its own dated folder containing `summary.` and `transcript.`. Manual transcriptions only ever have a transcript.
## Related
Point Vowen at a folder and have audio dropped into it transcribed automatically.
Publish a meeting note as a link instead of exporting a file.
## Generating a file with an LLM
Hand your list of shortcuts, in any format (a spreadsheet, a Word doc, a wiki page), to ChatGPT, Claude, Gemini, or any other LLM along with the prompt below. The model produces a ready-to-import `.json` file.
Copy the prompt below verbatim, paste your source material under **My shortcuts** at the bottom, and ask the model to return only the JSON inside a code block. Save the response as `vowen-import.json` and drop it into Vowen's Import Data dialog.
````markdown theme={null}
You are building an import file for Vowen, a desktop dictation app that
supports text expansions. I will give you a list of shortcuts and their
expanded responses. Your job is to produce a single JSON file conforming
exactly to the schema below.
# File shape (all keys required)
```json
{
"_vowen": true,
"version": 1,
"exportedAt": "",
"appVersion": "import",
"dictionary": [],
"threads": [],
"voice shortcuts": { "builtin": [], "custom": [] },
"expansions": [ /* one object per shortcut */ ],
"customUtilities": []
}
```
# Each expansion object
```json
{
"shortcut": ":example",
"body": "",
"format": "html",
"replacement": "",
"enabled": true,
"isBuiltin": false,
"createdAt":
}
```
# Rules for `body` when format is "html"
- Wrap each paragraph in `
...
`.
- Use `` for bold, `` for italic, `URL` for links.
- Bulleted lists: `
item
item
`.
- Numbered lists: `
item
`.
- Headings: `
` to `
`.
- Escape `<`, `>`, `&` as `<`, `>`, `&` inside text.
- Use `£` for £, `‘`/`’` for ‘ ’, `“`/`”` for “ ”.
- Do NOT wrap the whole body in `` or `` tags.
# Rules for `replacement`
- A plain-text equivalent of `body` with no HTML tags.
- Use real line breaks (`\n` in JSON strings) between paragraphs.
- Use `• ` to mark bulleted list items.
- Keep URLs as plain text.
# Rules for `shortcut`
- Must start with `:`.
- Use only lowercase letters, digits, and underscores after the `:`.
- Keep it short and mnemonic. If the source uses `:foo**bar**baz` style
formatted text, treat the bold markers as cosmetic and concatenate
the letters: `:foobarbaz`.
- Must be unique across the whole file.
# Output
Return ONLY the final JSON file inside a single ```json fenced block.
No preface, no explanation, no trailing prose.
# My shortcuts
````
## Troubleshooting
The file is missing `_vowen` or one of the three validated keys (`dictionary`, `threads`, `workflows`). Check that all keys from the [file format](#file-format) section are present, even as empty arrays.
One of the required keys exists but is the wrong type. `dictionary` and `threads` must be arrays; `workflows` must be an object containing a `custom` array.
The file doesn't parse as JSON. Common causes: trailing commas, unescaped quotes inside `body` strings, smart quotes around keys. Paste the file into a JSON validator to locate the syntax error.
Items whose shortcut, trigger, or name already exists are skipped; the success toast shows how many were added. Delete the existing entry in the app first if you want to replace it. Two other causes: custom voice shortcuts without a `name` are dropped silently, and dictionary misspellings are always discarded.
The file parsed but contained no importable items. A file that only flips built-in voice shortcut states shows a count of zero, because builtin toggles are not included in the preview.
The target app doesn't support rich paste (Terminal, code editors, single-line inputs). Vowen falls back to the `replacement` string in these apps, which is expected behavior.
# Interface language
Source: https://docs.vowen.ai/features/interface-language
Run the Vowen interface in any of 18 languages.
Vowen's own interface is fully translated into **18 languages**. Interface language is separate from the language you dictate in, and separate again from the language your meeting summaries are written in. If you are not sure which one you need, see [Three different language settings](#three-different-language-settings) below.
## Changing it
Click **Settings** in the left sidebar footer.
Select the **Language** section.
The first row is **UI Language**. Pick from the dropdown. It has a search box, so you can type instead of scrolling.
The change applies immediately. There is no restart. The menu bar and the tray menu are rebuilt at the same time, so their labels follow too.
You can switch language before setup is finished. The onboarding window has a small button in the top right, next to the light/dark toggle, showing the current language code. Click it for the full list.
Picking a language there saves the same setting, so the app is already in your language when onboarding finishes.
## Supported languages
| Language | Shown in the app as | Code |
| --------------------- | ------------------- | ------- |
| English | English | `en` |
| Bulgarian | Български | `bg` |
| Czech | Čeština | `cs` |
| German | Deutsch | `de` |
| Spanish | Español | `es` |
| French | Français | `fr` |
| Italian | Italiano | `it` |
| Japanese | 日本語 | `ja` |
| Korean | 한국어 | `ko` |
| Polish | Polski | `pl` |
| Portuguese | Português | `pt` |
| Russian | Русский | `ru` |
| Swedish | Svenska | `sv` |
| Turkish | Türkçe | `tr` |
| Ukrainian | Українська | `uk` |
| Vietnamese | Tiếng Việt | `vi` |
| Chinese (Simplified) | 简体中文 | `zh` |
| Chinese (Traditional) | 繁體中文 | `zh-TW` |
The dropdown lists each language under its own name, never an English label, so you can find yours without reading English.
Dates and times throughout the app follow your choice as well. Portuguese formats dates the Brazilian way, and Chinese (Simplified) the mainland way.
The choice is one of the preferences that [Cloud Sync](/features/cloud-sync) carries between your devices, so setting it once covers your other machines.
## Three different language settings
The three are independent. Changing one does not change the others.
Buttons, menus, settings labels, the tray, notifications, dialogs.
**Where:** Settings > Language > **UI Language**, or the language button in the onboarding toolbar.
It has no effect on transcription accuracy and no effect on what any AI model produces.
The language the speech model expects to hear.
**Where:** Settings > Language > **Dictation Language**.
The available options depend on the speech model you have selected, because different models support different languages. Some models fix the language outright. With those, the picker is greyed out and explains why, and the row shows the language the model actually uses rather than whatever you had stored. If you switch to a model that does not support your saved language, Vowen resets you to Auto-detect rather than sending a language the model cannot transcribe.
Full detail: [Languages](/transcription/languages).
Dictation language can also be overridden in two narrower places, both of which otherwise inherit this setting: per tone, and in the Notes recording defaults.
The language the AI writes your note summaries in, regardless of what language the meeting was held in.
**Where:** Settings > Language > **Notes Summary Language**.
The default is **Auto-detect**, which means the summary matches the language of the transcript. Because it is not tied to your speech model, this picker always offers the full catalog.
It can also be set per template, in the template editor, including on the built-in Meeting Notes template. Resolution order: the template's own override, then your global Notes Summary Language, then Auto-detect.
See [Summaries](/meeting-notes/summaries).
You can run the interface in Japanese, dictate in English, and have your meeting summaries written in French. Nothing about those three choices is linked.
Two related rows live in the same Settings > Language section but are not language *settings* in this sense. **English Spelling** picks American or British spelling and only appears when your dictation language is English or auto-detecting. **Auto-translate** translates your dictation into English and is a Pro feature.
## Untranslated strings
Translations are per language file. If a string has not been translated yet in the language you picked, the main app window shows the raw internal key instead of English text, for example `command_palette.placeholder`. There is no per-string fallback to English in the app window.
Menus, dialogs and notifications produced by the app outside the main window do fall back to English for a missing string.
If you see something that looks like a dotted identifier where a label should be, that is a missing translation, not a broken install. Switching **UI Language** to English restores the text while it is fixed.
# Memory
Source: https://docs.vowen.ai/features/memory
Give Command Mode persistent context about you, from your notes and files.
The Free plan includes 3 Memory items. Pro removes the cap.
## What is Memory?
Memory is a small collection of notes and files that Vowen reads once, indexes, and then supplies as background context every time you use Command Mode. It exists so you stop dictating the same facts about yourself over and over.
## Where to find it
Memory is a **tab on the [Configure your AI](/ai-features/ai-setup) page** in the left sidebar. That page has three tabs, in order: **Configuration**, **Command Mode**, **Memory**.
There is no Memory section in the Settings modal.
**Memory is locked until you connect an AI provider.** Open the tab without one and you get a lock card with a **Connect an AI provider** button instead of the Memory list. The lock is not only a UI gate. Indexing an item requires a model call, so nothing can be stored usefully until a provider is configured. Set one up on the **Configuration** tab first.
## Where Memory reaches
**Memory is injected into:**
* [Command Mode](/ai-features/command-mode)
* [Custom Utilities](/features/workflows)
**Memory is NOT injected into:**
* [AI enhancement](/ai-features/ai-enhancement) of your dictations
* [Meeting note summaries](/meeting-notes/summaries)
* [Ask AI](/features/chat)
If you want a fact to shape how your dictations are cleaned up, put it in [Custom AI Instructions](/ai-features/custom-instructions) or a [Tone](/ai-features/tones), not in Memory.
Custom Utilities carry one further exception. A utility built on the "polish text" template is treated as a transcription enhancer and gets no Memory context. Utilities built on the other templates, or on a custom prompt, do.
## What Memory can hold
### Notes
Short pieces of text you type in. Click **Add Note** and fill in **Name** and **Content**, then **Save Note**.
Good candidates:
* **Reference numbers:** passport, driver's license, tax ID, frequent flyer numbers
* **Professional certifications:** credential IDs, issuing body, dates earned and expiring
* **Academic records:** degree, university, grades, thesis title
* **Personal info:** name, role, company, mailing address, signature block
* **Project context:** current projects, team members, technical stack
### Files
Memory also holds files. Drag one onto the banner at the top of the tab, click the banner to browse, or use the **Upload File** button. One file at a time.
The file picker offers `.txt`, `.md`, `.pdf`, `.docx`, `.json`, `.csv`, `.xml`, `.html` and `.htm`.
How a file is read depends on its type:
* **Plain-text formats** (`.txt`, `.md`, `.json`, `.csv`, `.xml`, `.html`, `.htm`) are read directly from disk.
* **Documents** (`.pdf`, `.docx`) are handed to your AI provider's document API. This path works on **Gemini** and **Anthropic** only, and Anthropic accepts PDF but not DOCX. If your provider cannot process documents, the item finishes in the `Error` state and tells you to switch providers for indexing.
Files are copied into Vowen's own storage when you add them, so moving or deleting the original afterwards does not break the memory item.
## How indexing works
Adding an item does not store the raw text for later. Vowen sends the content to your AI provider once and asks it to extract the durable facts: personal and professional details, dates, numbers, key facts, preferences and requirements. That summary is what gets injected later, never the original document.
Each item shows its state in the list:
| Status | Meaning |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Pending** | Added, not yet indexed |
| **Indexing...** | The model call is in flight |
| **Indexed** | Ready. This item will be supplied as context |
| **Error** | Indexing failed. Common causes are a missing or invalid API key, exhausted quota, a network failure, or a document type your provider cannot read |
Only items in the **Indexed** state ever reach the AI. Items in any other state are silently ignored.
Each row has controls to **Index this item** (or **Re-index this item** once it has succeeded) and **Delete this item**. Re-indexing is how you recover an item that failed while your provider was misconfigured.
Very long content is truncated before indexing, so a book-length PDF contributes only its opening portion.
## Adding, changing and removing items
**Add Note** for text, or drag a file onto the banner. Indexing starts automatically.
The status column tells you when the item is live. If it lands in **Error**, fix the cause and press the re-index button on that row.
The trash icon on the row, then confirm. Deleting also removes Vowen's copy of the file.
There is no edit UI. To change an item, delete it and add it again.
There is also no search box on the Memory tab. The list is short by design.
## The free limit
The free plan is capped at **3 Memory items**. Notes and files count towards the same total. Pro removes the cap.
The counter beside the Upload File button shows where you are. If you were previously on Pro and have more than three items, the extras remain visible but carry a **Locked** badge and stop contributing context.
Custom Utilities are Pro-only, so on a free plan Memory effectively shapes Command Mode alone.
## Memory does not sync
**Memory is per device and is not covered by [Cloud Sync](/features/cloud-sync).** Notes and files you add on one machine will not appear on another, even with Cloud Sync enabled and working. Memory is also not part of [Import & Export Data](/features/import-data). If you move to a new machine, you have to add your Memory items again by hand.
## How it is used
When you trigger Command Mode or a Custom Utility:
1. Vowen collects the summaries of every indexed Memory item.
2. They are attached to the system prompt sent to your AI provider.
3. The model answers with those facts available.
**Example**
* Memory note "AWS Certification": *"AWS Certified Solutions Architect Associate, credential ID ABC-12345-XYZ, earned 2024-06-12, expires 2027-06-12."*
* Command: *"Update my LinkedIn About section with my latest AWS certification details."*
* Result: the exact credential ID and dates come out of Memory rather than out of a drawer.
## Tips
* **Keep it short.** There is no retrieval step. Every indexed item is sent on every Command Mode call, so an oversized Memory costs latency and tokens on requests that have nothing to do with it.
* **Prefer notes to documents** where you can. A five-line note you wrote yourself indexes more precisely than a forty-page PDF that gets truncated.
* **Re-index after changing a file.** Vowen indexed a copy at the moment you added it; editing the original changes nothing until you re-index.
* **Use descriptive names.** The name is shown to the model alongside the summary.
* **Do not store live credentials.** Passwords, API keys and card numbers belong in a password manager. Indexing sends content to your AI provider, and binary documents are uploaded to that provider in full.
# Microphones
Source: https://docs.vowen.ai/features/microphones
Choose an input device, rank your microphones so Vowen falls through to the next one, and give meetings their own order.
Vowen stores a ranked list of microphones rather than a single pick. At the start of every recording it opens the highest-ranked microphone that is actually connected.
## Choosing a microphone
**Settings > Audio** has a single **Microphone** row. The line underneath it shows the microphone a recording started right now would actually use, and the **Change** button opens the picker.
The picker opens in select mode:
* It lists your ranked microphones in order, plus an **Auto-detect** row.
* Only microphones that are currently plugged in are listed. A mic you own but have not connected is hidden here, so you can only pick hardware that is really there.
* The row Vowen would use right now is highlighted and shows a live input meter, which is the quickest way to test a microphone. Speak and watch the segments light up. Selecting a different row moves the meter to it, so you can compare devices before committing.
Tapping a row makes that microphone your top choice. It does not wipe the rest of your ranking. Everything else keeps its relative order underneath, and microphones that happen to be unplugged right now keep their ranks too.
## Ranking your microphones
Click **Reorder Ranking** in the picker footer to switch to reorder mode. The button is only enabled once there are at least two rows to order.
**Settings > Audio > Change**, then **Reorder Ranking**.
Drag rows by the handle, or use the up and down arrows on each row. The top row is your first choice.
Reorder mode also shows every microphone you have ever ranked, including disconnected ones, greyed out. Those rows carry a delete button. Connected microphones cannot be deleted, because they would immediately reappear on the next device scan.
Click **Done Editing**. Edits are held in a draft until then, so an abandoned drag never lands in your settings.
### How the chain resolves
At the start of every capture, Vowen walks the ranking from the top and takes the first entry that is available.
**Auto-detect** means "if nothing above this is connected, let the operating system choose". Because letting the OS choose always succeeds, Auto-detect terminates the chain, and anything ranked below it can never be reached. The reorder editor shows it as an ordinary draggable row for exactly this reason, so you can see what it cuts off.
When the ranking contains no Auto-detect row and none of the ranked microphones is present, Vowen falls back to the single microphone you had picked before you built a ranking. If that is missing too, the usual "device not found" handling takes over.
An empty ranking uses your saved single pick. Every user starts here, and nothing changes until you commit an order in the editor.
An empty device list means "unknown", not "nothing plugged in". Device enumeration legitimately comes back empty while the audio recorder is restarting, or when a USB hub is re-enumerating. Vowen never reads that as "your microphone is gone" and never rewrites your ranking because of it.
Vowen passes the whole ordered list to the audio recorder, which checks it against its own fresh device scan when it opens the stream. A microphone that disappears in the moments between resolution and opening still falls through to the next rank instead of silently landing on the system default.
Reordering takes effect on the **next** recording. Nothing switches devices in the middle of a session.
Microphones are matched by the device name your operating system reports. Two devices that report the same name are indistinguishable to the ranking.
## A separate microphone order for Meeting Notes
Meetings normally follow the same ranking as everything else, but they can have their own.
The control is in the Notes settings, under **Recording Defaults**, on the **Microphone** row. While meetings are inheriting, the row shows the microphone in effect labeled as the global default, with a single **Customize** button.
Clicking **Customize** forks a copy of your global order for meetings. The picker then shows a standing note saying the list was copied from your global order and that later changes to the global list will not affect meetings.
The button is disabled until Vowen has finished scanning your audio devices, so the fork can never capture an empty list.
Once meetings own a ranking, the row offers **Edit order** instead. It opens the picker straight into reorder mode, scoped and titled for meetings, so disconnected entries are visible and deletable.
**Use global** hands meetings back to the global ranking. It asks for confirmation first, because your custom meeting order is discarded.
### What inheriting actually means
The meetings preference stores one of two things, and they are never collapsed together:
| Stored value | Meaning |
| -------------- | --------------------------------------------------------------------------------------------------------------------- |
| Nothing (null) | Meetings follow the global ranking, live. Editing the global list changes what meetings use. |
| A list | Meetings use their own ranking. The global list no longer affects them, even if the two lists happen to be identical. |
The two-step UI exists to keep those states apart. A copy that currently matches your global order diverges from it the moment you edit the global list, so "follows global" has to stay a different state from "a copy that looks the same today".
An empty meetings ranking is a real override, not an absence. It means "let the operating system choose for meetings". Reverting to the global order clears the preference entirely rather than saving an empty list.
Once meetings own a ranking, there is no fallback to your old single microphone pick. The meetings chain resolves against its own entries only.
# Recording behavior
Source: https://docs.vowen.ai/features/recording-behavior
What Vowen does to the rest of your machine while you dictate: system audio, live preview, silence detection, and the clipboard.
Dictation touches more than the text field you are typing into. These settings decide what happens to your music, your clipboard, and your screen while a recording is running.
## System audio while you dictate
Controlling system audio requires **Pro**. On the free plan only **Do nothing** is selectable; the other two cards carry a Pro badge.
**Settings > Recording > When recording starts** is a three-way choice, shown as picture cards. It is available on macOS and Windows.
This setting governs **dictation only**. It is not applied when you record a meeting note, because a meeting needs the other participants to stay audible. See [Meeting Notes recording](/meeting-notes/recording) for what Vowen does with audio during a meeting.
| Card | What it does |
| -------------- | ----------------------------------------------------------------------------- |
| **Do nothing** | Leaves system audio untouched while recording. |
| **Mute** | Silences all system audio while recording and restores the volume afterwards. |
| **Pause** | Pauses playing media and resumes it after your transcription is pasted. |
**Mute** silences your output. Whatever was playing keeps playing, you just cannot hear it, and the volume is put back when the recording ends. **Pause** stops the track where it was, so it picks up from the same point afterwards.
### When Pause cannot pause
Not every app responds to a pause. If you have chosen Pause and something is making noise that ignores it, Vowen mutes your output instead for that recording, so you still get a quiet microphone.
Vowen always undoes exactly what it did, not what you chose. A recording that fell back to muting is unmuted rather than "resumed", which is why a Pause recording sometimes restores your volume rather than your playback position.
If Vowen quits or crashes mid-recording while your system is muted, the next launch restores your volume for you.
## Real-time transcription preview
Real-time preview requires **Pro**.
**Settings > Recording > Real-time transcription preview** shows a live preview of your transcription below the recording indicator while you are still speaking.
The toggle is greyed out, with the message "Configure a real-time capable model to use this feature", unless your active speech model can stream. Streaming-capable models are:
Nova 2 and Nova 3 (Deepgram), Scribe v2 (ElevenLabs), Universal-3.5 Pro (AssemblyAI), Voxtral Mini (Mistral), Saaras v3 (Sarvam AI), Real-Time STT (Soniox), Aurora (xAI), Ink 2 (Cartesia), Speechmatics, OpenAI, and Google Gemini.
A cloud model only counts as streaming-capable once it is actually configured. Selecting it without saving credentials leaves the toggle greyed out.
Parakeet V3 and Parakeet V2, and Nemotron EN and Nemotron Multilingual.
Local streaming preview is macOS only. On Windows, Parakeet cannot drive the live preview, so the toggle stays greyed out for local models there.
Nemotron streams natively and its partial results already carry punctuation and capitalisation, so its preview reads as finished text rather than a running lowercase stream.
This is not the same setting as the meeting notes preview. **Show real-time transcription preview** in the Notes settings, under **Recording Defaults**, streams live text into the meeting notes page while a meeting is being recorded. It is Pro, and it follows the transcription model chosen for meetings rather than your dictation model. Turning one on does not turn the other on.
## Silence and voice detection
These two controls live in **Settings > Experimental**, not Settings > Recording.
Cloud speech models sometimes invent text from room noise: fans, air conditioning, a keyboard. **Enhanced silence detection** raises the silence threshold applied before audio is sent to a cloud model, so quiet noise is treated as silence instead of speech.
Turn it on if you get empty or hallucinated transcriptions when you were not speaking.
Switching it on reveals a second row, **Sensitivity**, a slider from 1x to 5x with a default of 2x. It multiplies the base threshold. At 2x, audio has to be twice as loud as the measured baseline before it counts as speech.
* Increase it if phantom transcriptions still get through.
* Decrease it if real speech starts getting skipped.
This affects cloud models only. Local models run their own voice detection.
## Restore clipboard after paste
**Settings > General > Restore clipboard after paste** puts your original clipboard contents back after a transcription is pasted, so dictating does not cost you whatever you had copied.
This is **on by default**. There is nothing to switch on.
## Keeping dictations out of clipboard history
Vowen pastes by putting text on the clipboard, so clipboard managers such as Maccy, Raycast, or Ditto would otherwise record every dictation you make. They do not, because Vowen marks the clipboard entry as transient.
**Settings > Developer > Allow Dictations in Clipboard History** is the switch that changes this, and it is off by default. Leave it off to keep dictations out of your clipboard history. Turn it on if you would rather be able to fish an old dictation back out of your clipboard manager.
Vowen keeps its own record of your dictations in the [Voice Log](/transcription/voice-log), so turning this on is rarely necessary just to recover text.
# Recording indicator
Source: https://docs.vowen.ai/features/recording-indicator
Control how the on-screen recording indicator looks, where it sits, and what the idle pill can do.
The recording indicator is the small on-screen surface that shows Vowen is listening. Everything on this page lives in **Settings > Recording**.
Meeting Notes has its own separate recording indicator with pause, stop, live transcript, Ask AI, and screenshot controls. That surface is documented at [Meeting notes recording](/meeting-notes/recording) and is configured in the Notes settings, not here.
## Indicator style
The **Indicator style** setting only appears on macOS. On Windows and Linux the indicator is always the pill.
Pick one of two styles, shown as picture cards:
The default. A rounded bar rendered in Vowen's own overlay window, floating over whatever you are working in. It can sit at the top or the bottom of the screen.
macOS only. Instead of the floating pill, the indicator is drawn by a small native helper that owns a panel hanging from the MacBook notch, so it lines up with the hardware cut-out exactly. It is a separate process from the app window, which is why it can paint over the menu bar area.
Notch style is offered on every Mac. On a Mac with no physical notch, the helper draws a synthetic notch bar centered at the top of the menu bar instead.
Because the bar is native rather than DOM, a few recording-time confirmations (for example the "screenshot added" chip) are drawn natively underneath the bar rather than as an on-screen pill.
## Position
**Settings > Recording > Recording Indicator Position** offers three choices:
| Option | Behavior |
| -------------- | ------------------------------------------------------------------ |
| **Top** | Default. The pill sits at the top edge of the screen. |
| **Bottom** | The pill sits at the bottom edge. Banners and menus flip to match. |
| **Don't show** | No pill is drawn at all. Recording still works normally. |
The indicator follows your cursor: when you move the pointer to another display, the indicator moves with it. It also repositions itself when a display changes resolution or scale, or when a monitor is connected or disconnected.
Position applies to the pill. In Notch style the bar always sits at the notch, so the setting has no visible effect on it.
### Hiding the indicator
Choosing **Don't show** removes the indicator entirely. This also disables the idle pill, since the idle pill lives in the same overlay. Hotkeys, sound effects, transcription, and pasting are all unaffected.
## What the indicator shows while recording
The pill changes appearance as a dictation moves through its stages:
Three animated dots and no waveform. The audio device is still opening. This is normal for the first recording after a cold start.
A live waveform driven by your microphone input.
The waveform stops moving and the pill switches to its paused styling. The pause button becomes a play button.
The waveform is replaced by the blinking Vowen mark while the transcription is produced. When the recording was meeting audio, the pill says "Creating notes" instead.
Shown when a recording is being picked back up after an interruption.
The pill can also carry small badges while recording:
* The icon of the app you are dictating into.
* The icon of the tone that will be applied, when a tone is active.
* A sparkle when AI enhancement is on and no tone is active.
### Pause and stop controls
Pause and stop buttons flank the pill whenever the recording is one you are not holding a key for: hands-free recordings, screen recordings, and toggle-style dictation or command-mode recordings.
Holding the stop button for about half a second cancels the recording and discards it instead of transcribing. A progress ring fills around the button while you hold. Hold-to-cancel is available for dictation and command mode, not for screen recordings or meeting audio.
## The idle pill
**Settings > Recording > Show idle pill** is off by default. Turn it on to keep a thin bar parked at the screen edge whenever nothing is recording. Hover it and it expands into a row of round buttons.
The expanded row contains, left to right:
Only present when you have at least one enabled tone. The icon shows which tone the next dictation would use, taking your per-app and per-website tone rules into account.
Clicking it opens a menu with **Automatic** at the top (with the tone that matching currently resolves to shown underneath), then every tone you have configured, then a **Manage tones** action that opens the Tones page.
Picking a tone pins it, so it keeps applying to later dictations until you switch back to Automatic. The chip is marked while a tone is pinned so it cannot linger unnoticed.
Starts a hands-free dictation immediately, on the same path as the hands-free hotkey. Its tooltip shows your dictation hotkey, and that hotkey also stops the recording.
Starts a command-mode recording as a toggle, so you do not have to hold a key. Stop it from the indicator's stop button.
Clicking starts a meeting note with your default summary template.
Hovering the button for a moment opens a template menu listing the built-in Meeting Notes template plus your own, with a check next to your default. Picking one starts the note with that template for this session only. A **Manage templates** action at the bottom opens the Notes settings.
The idle pill only appears when nothing else is happening. It stays hidden while a recording, a transcription, a confirmation banner, an error, or a pending correction is on screen.
### The idle bar in Notch style
In Notch style there is no separate idle pill. The notch bar itself is the idle affordance. It stays parked at the cut-out, and hovering expands it sideways into the same four buttons, drawn natively with SF Symbols. The tone and template menus are native macOS menus rather than DOM dropdowns, but the contents match the pill exactly.
## Related settings
* [Real-time transcription preview](/features/recording-behavior#real-time-transcription-preview) draws live text underneath the indicator while you speak.
* [System audio during recording](/features/recording-behavior#system-audio-while-you-dictate) controls what happens to your music while the indicator is up.
* The meeting notes indicator is configured separately. In the Notes settings, under **Recording Defaults**, **Show floating indicator while recording** hides it. Turning that off also disables the meeting panel, because the panel shortcut is only registered while the indicator is enabled.
# Shortcut Patterns
Source: https://docs.vowen.ai/features/shortcut-patterns
Tips and tricks for getting more out of the shortcut system.
These are shortcut setups people have shared that go beyond the defaults. For the full reference of every key, mode, and option, see [Shortcuts](/features/shortcuts).
Most of the patterns below rely on assigning **multiple shortcuts** (or alternative modifiers) to the same action. The free plan supports one shortcut per action; multiple shortcuts and the patterns that depend on them require Pro.
## Slide into hands-free without releasing your hand
If your push-to-talk and hands-free shortcuts share a common prefix, you can start dictating with one finger and "upgrade" mid-sentence by tapping the extra modifier. Release everything afterwards and Vowen stays in hands-free.
| Shortcut | Mode |
| -------------- | ----------------- |
| `Fn` | Push-to-talk |
| `Fn + Control` | Hands-free toggle |
**Why it works:** Vowen waits 500ms before deciding which shortcut you intended, so the longer combo wins if it arrives within that window. Use it when you don't know yet how long a thought will run.
The macOS defaults already nest this way. The Windows defaults do not: push-to-talk is `Ctrl + Shift` and hands-free is `Ctrl + H`, and neither is a prefix of the other. To get the same behavior on Windows, rebind hands-free to something that extends push-to-talk, such as `Ctrl + Shift + Space`.
## Separate raw and polished onto two adjacent shortcuts
If you toggle AI Enhancement on and off through the day, give it its own shortcut instead of opening settings every time. Most useful when you alternate between dictating into code editors or AI prompts (where you want raw words) and writing emails or docs (where you want polish).
| Shortcut | AI Enhancement |
| ------------ | -------------------------------------------- |
| `Fn` | Primary, follows your global setting |
| `Fn + Shift` | Alternative, chip set to **Enhance with AI** |
The AI chip only exists on alternative shortcuts, so the pairing is always "primary plus an alternative", never two primaries. Add the alternative, then flip its chip to **Enhance with AI** (new alternatives start with AI off).
`Fn` for terminal commands, Cursor prompts, and replies that need exact phrasing. `Fn + Shift` when you're drafting prose.
## Put dictation on a mouse button
When your hand is already on the mouse, reaching back to the keyboard breaks flow. This one is for designers in Figma, video editors, and anyone working in a graphics-heavy app.
Vowen binds mouse buttons natively, so there is no vendor software step. Open **Settings > Shortcuts**, click the key display for the action you want, and click the button instead of pressing a key. Middle, M4, M5, M6, M7 and M8 are all bindable.
Mouse-bound shortcuts follow the same Hold and Tap modes as keyboard shortcuts. In the default Hold mode the button is push-to-talk and recording stops when you release it. Set the shortcut to Tap if you want the first click to start and the next one to stop.
## Pair left and right modifiers for two-thumb operation
Your thumbs already reach for `Alt + Space` (or `Cmd + Space`) regularly. Use left and right variants to do different things without learning a new finger pattern.
| Shortcut | Action |
| ------------------- | ------------ |
| Left `Alt + Space` | Transcribe |
| Right `Alt + Space` | Command Mode |
Left to dictate. Right to ask the AI to act on whatever's selected. The keys are identical, the side decides the behavior.
## Give a long shortcut a Tap mode instead of a second finger
Holding a chord for a two-minute thought is uncomfortable. Rather than adding a hands-free binding, switch the Transcription or Command Mode row to **Tap** with the Hold/Tap pill next to the key display. One tap starts, one tap stops. Alternatives carry their own pill, so you can keep the primary on Hold and put a Tap-mode alternative next to it.
## Turn on Start New Note before you need it
The Start New Note shortcut is off by default, so most people don't think about it until they're already in a meeting. Flip it on in [Settings > Shortcuts](/features/shortcuts) with the default `Cmd + Shift + N` (macOS) / `Alt + N` (Windows) or your own combo. Then it's ready the first time a call unexpectedly turns into something worth recording.
## Adding more shortcuts? Reach for Tones instead
If you find yourself adding shortcut after shortcut for different writing styles (formal, casual, technical, dev), [Per-app Tones](/ai-features/tones) is the cleaner answer. Tones change Vowen's behavior based on the active app, so the same shortcut writes formally in Mail and casually in Slack with no thinking on your part.
Tones can also carry their own shortcut, and those bindings share the same namespace as your global shortcuts, so Vowen refuses a tone shortcut that would collide with one you already use.
# Keyboard Shortcuts
Source: https://docs.vowen.ai/features/shortcuts
Every global recording shortcut in Vowen and how to rebind it.
Global shortcuts start and stop recording from anywhere on your computer. They live in
**Settings > Shortcuts**.
These are the global recording shortcuts. For shortcuts that only work inside the Vowen window (command palette, search, back/forward, note tabs), see [In-App Shortcuts](/features/app-shortcuts).
## Default Shortcuts
| Action | macOS | Windows | Mode | On by default |
| ------------------------ | ----------------- | ------------------ | -------------- | ------------- |
| Transcription Shortcut | `Fn` | `Ctrl + Shift` | Hold to record | Yes |
| Command Mode Shortcut | `Alt + Shift` | `Alt + Shift` | Hold to record | Yes |
| Hands-Free Mode | `Fn + Control` | `Ctrl + H` | Toggle on/off | Yes |
| Start New Note | `Cmd + Shift + N` | `Alt + N` | Press | No |
| Paste Last Transcription | `Cmd + Shift + L` | `Ctrl + Shift + L` | Press | No |
| Cancel Recording | `Escape` | `Escape` | Press | Yes |
| Meeting Panel | `Cmd + \` | `Ctrl + \` | Press | Yes |
**Command Mode Shortcut** triggers [Command Mode](/ai-features/command-mode), not plain dictation.
**Paste Last Transcription** re-pastes your most recent transcription into the focused app without
re-recording, which helps when a paste landed in the wrong window. It is off by default, so turn it
on in **Settings > Shortcuts** before using it.
**Meeting Panel** is the only shortcut not configured on the Shortcuts page. It lives in the Notes
settings modal under **Recording Defaults**, directly below the floating recording indicator toggle.
Vowen only registers the shortcut while a meeting-notes session is running and the indicator is
enabled. See the [meeting panel](/meeting-notes/meeting-panel) for what it opens.
## Customizing Shortcuts
The Shortcuts section lists every rebindable action.
A recorder dialog opens. Vowen suspends its own hotkeys while it is open, so pressing your
transcribe combo binds it instead of starting a recording.
Keys are captured by physical position, not by the character they produce.
The new binding takes effect immediately. If the combination is already taken, the dialog
refuses it and tells you so (naming the tone, when a tone owns it).
## Hold vs Tap Mode
Transcription and Command Mode carry a **Hold / Tap** pill next to the key display.
| Mode | Behavior |
| ---- | ---------------------------------------------------------------------------------------- |
| Hold | Push-to-talk. Hold the keys, speak, release to stop and transcribe. This is the default. |
| Tap | Tap once to start, tap the same shortcut again to stop. |
The pill appears only on **Transcription** and **Command Mode**. **Hands-Free Mode** does not get
one, since it is already a toggle by definition, and Start New Note, Paste Last Transcribed and
Cancel Recording are single-action shortcuts with no mode.
Each alternative shortcut carries its own Hold/Tap pill, so the same action can be push-to-talk on
one binding and tap-to-toggle on another.
## Alternative Shortcuts
Adding multiple shortcuts for the same action is a Pro feature. The free plan supports one shortcut per action.
Transcription, Command Mode and Hands-Free each have an **Add another shortcut** button underneath
them. An alternative is a full shortcut in its own right: it has its own enable toggle, its own
Hold/Tap mode, and its own AI setting.
For example:
* Main transcription: `Fn`
* Alternative transcription: `Ctrl + Space`
## Per-Shortcut AI Override
The AI setting is a two-sided chip labeled **Enhance with AI / Off**, shown to the left of the key
display box.
It appears **only on alternative shortcuts**. The primary Transcription and Hands-Free rows have no
AI control at all, and Command Mode has none anywhere because it always goes through the AI
provider. New alternatives are created with AI **off**, so an alternative you add is a raw-text
shortcut until you flip the chip.
That chip is how the "one key for raw text, one key for polished text" pattern works. See
[Shortcut Patterns](/features/shortcut-patterns).
## Supported Keys
* Control (left and right distinguished)
* Shift (left and right distinguished)
* Alt / Option (left and right distinguished)
* Command / Windows (left and right distinguished)
* Fn (macOS only)
* Letters `A` to `Z` and digits `0` to `9`
* Function keys `F1` through `F24`
* Punctuation: `-` `=` `[` `]` `\` `;` `'` `` ` `` `,` `.` `/`
* The **ISO 102nd key**, the extra key found on ISO keyboards (left of `1` on Mac ISO boards,
next to Left Shift on PC ISO boards). It types `§` on UK Mac, `º` on Spanish, `<` on
German and French PC layouts.
* Arrows: Up, Down, Left, Right
* Navigation: Home, End, Page Up, Page Down, Insert
* Whitespace and editing: Space, Tab, Enter, Backspace, Delete
Escape can only be bound to **Cancel Recording**. Every other row rejects it so the recorder
dialog keeps a way to close.
Six buttons are bindable directly, with no vendor software involved:
* Middle mouse button
* M4 (usually "back")
* M5 (usually "forward")
* M6
* M7
* M8
Left and right click are deliberately excluded, since binding them would swallow ordinary
clicking. M6, M7 and M8 have no equivalent in the browser layer and are captured through the
native hook, so they only work on a mouse that actually reports them.
Mouse buttons cannot be bound to Cancel Recording or to the Meeting Panel shortcut.
Mouse-bound shortcuts follow the same Hold and Tap modes as keyboard shortcuts. In the default
Hold mode a mouse button is push-to-talk: recording stops when you release it. Set the shortcut to
Tap and the button starts recording on the first press and stops on the next, ignoring the release.
## Keyboard Layouts
Vowen captures shortcuts by **physical key position**, so a binding keeps working when you switch
layouts. What changes is the drawing. Vowen reads your active keyboard layout from the operating
system and translates the key caps in Settings, so a key stored as `Q` shows as `A` on AZERTY, and
the ISO 102nd key shows the character your layout actually types. The display updates live when you
switch layouts.
If you already had Vowen installed before the non-QWERTY keyboard work landed and you use a
non-QWERTY layout, a one-time **"Some shortcuts may need to be updated"** modal appears after
updating. It lists every configured shortcut as Vowen now reads it so you can confirm it still
matches what you expect. Dismissing it either way (**Looks good** or **Something's off**) marks it
seen and it never returns. Fresh installs never see it.
## Hands-Free Mode
Press the hands-free shortcut once to start recording, press it again to stop.
* **Upgrade mid-recording:** while a regular push-to-talk recording is running, completing the
hands-free combination on top of it converts the recording to hands-free. You can then release
everything and keep talking.
* **Cancel:** press the Cancel Recording shortcut (Escape by default) to discard the active
recording without transcribing it.
In regular push-to-talk mode, release the shortcut key to end the recording and trigger
transcription.
Set push-to-talk to `Fn` and hands-free to `Fn + Control`. Hold `Fn` to start dictating; if the thought runs long, tap `Control` and release both keys. You are in hands-free without lifting a finger.
## Cancel Recording
Cancel Recording is a real rebindable row, enabled by default and bound to bare `Escape`. Turning
its toggle off disables cancel-by-shortcut entirely; recordings can still be stopped normally. Once
you change the binding, a reset arrow appears next to it that restores plain Escape.
Cancelling a **toggle-started** recording (hands-free, or a Tap-mode shortcut) can be undone. Vowen
offers a resume so an accidental Escape does not lose what you were saying. Hold-to-record sessions
end with the key release and are never resumable.
## Left vs Right Modifier Keys
Vowen distinguishes between left and right modifier keys, so you can set:
* `Left Alt + Space` for transcription
* `Right Alt + Space` for Command Mode
The keys are identical, the side decides the behavior.
## Conflict Resolution
If two shortcuts share a common prefix (for example `Fn` and `Fn + Control`), Vowen waits a **500ms
grace period** before deciding which one you intended. The more specific shortcut wins if it
arrives inside that window.
Vowen refuses exact duplicates at binding time rather than resolving them at runtime. Global
shortcuts, their alternatives, per-tone shortcuts and the Meeting Panel shortcut all draw on one
shared namespace and are checked against each other, so a [tone](/ai-features/tones) can never
silently shadow your transcribe key.
[Custom Utility](/features/workflows#custom-utilities) hotkeys are checked against the global
shortcuts and against other utilities when you create them, but the Shortcuts page does not check
back against utilities. If you rebind a global shortcut onto a combination a utility already uses,
re-open the utility and give it a different key.
The Meeting Panel shortcut has to be expressible as a system-level accelerator. Fn chords, mouse buttons and bare keys are rejected there even though the Shortcuts page accepts them.
# Text Expander
Source: https://docs.vowen.ai/features/text-expander
Type short triggers that expand into longer text snippets.
Free plan includes built-in expansions plus 1 custom expansion. Pro unlocks unlimited custom expansions.
## What is Text Expander?
Type a short trigger like `:date` anywhere on your computer and Vowen expands it into longer text. It works globally, in any app and any text field.
## Built-in Expansions
There are exactly two, and neither can be deleted.
| Trigger | Expands To | Example Output |
| ------- | ------------ | -------------- |
| `:date` | Current date | 2026-05-10 |
| `:time` | Current time | 14:30 |
## Creating Custom Expansions
1. Open the Vowen app and click **Dictionary** in the left sidebar
2. Switch to the **Expansions** tab
3. Click **+ Add Expansion**
4. Enter your trigger (e.g., `:addr`) and replacement text (e.g., "123 Main Street, Suite 400, New York, NY 10001")
5. Click Save
New custom expansions open in the **Rich** editor by default, so you can keep bold, links, lists, and other formatting in the expanded text. Use the **Plain/Rich** toggle in the editor if you'd rather store the expansion as plain text. (The built-in `:date` and `:time` are always plain.)
## How It Works
1. You type the trigger characters (e.g., `:email`)
2. Vowen detects the completed trigger
3. It simulates backspaces to delete the trigger
4. It pastes the replacement text
This happens in real-time as you type, no shortcut needed.
## Use Cases
* **Contact info:** `:email` → your email address
* **Signatures:** `:sig` → your full email signature
* **Boilerplate:** `:thanks` → "Thank you for your message. I'll get back to you shortly."
* **Links:** `:gh` → your GitHub profile URL
* **Date/Time:** `:date` → today's date (built-in)
## Fill-in Variables
An expansion does not have to be a fixed block of text. Put a `{{name}}` token anywhere in the
replacement and Vowen opens a small focused form when the trigger fires, collects the values, and
injects the finished text.
```
Hi {{first_name}},
Thanks for coming in on {{visit_date}}. Your follow-up is {{followup}}.
```
Typing `:letter` opens a form with three fields. Fill them, press **Insert**, and the completed
letter is pasted into whatever you were typing in.
### How the fill-in form behaves
* It opens over the app you were typing in and takes keyboard focus, but never brings the rest of
Vowen forward. Your typed `:shortcut` stays visible until you submit.
* Fields appear in the order the tokens appear in the text.
* **Tab** moves between fields, **Enter** advances (and submits from the last single-line field),
**Cmd/Ctrl + Enter** submits from anywhere, **Esc** cancels.
* A live **Preview** underneath shows the finished text as you type.
* Cancelling is a clean no-op. Nothing has been deleted from the target app yet.
### Variable types
Configure each token as one of five types.
| Type | Control in the form | Extra settings |
| ------------- | -------------------------- | ------------------------------------------------------------------------- |
| `text` | Single-line input | Default value |
| `multiline` | Multi-line textarea | Default value |
| `choice` | Pick exactly one option | Option list, and which option is preselected |
| `multiselect` | Pick any number of options | Option list, plus the separator used to join the picks (defaults to `, `) |
| `date` | Date picker | Date format, chosen from the same presets as `{{DATE}}` below |
Every type also has:
* **Label:** the text shown above the field in the form. Falls back to the token name.
* **Required:** a toggle. The Insert button stays disabled until every required field is filled.
A token with no configuration at all still works. It falls back to a plain text field, so you can
write `{{anything}}` and get a prompt for it without touching any settings.
### The variable library
Variables you want in more than one expansion live in a reusable library, so you define
`{{client_name}}` once and every expansion containing that token picks it up.
The library lives in the **Expansions settings modal** (see below), on the **Variables** tab. It
lists each variable with its type, its details, and how many expansions currently use it.
Vowen resolves each token with this precedence:
Anything you customized on that specific expansion wins. The editor shows a **Customize for this expansion** action, and a **Reset to library** action to undo it.
A library entry with a matching name. Expansions using it show a **Library** pill, and editing the library entry changes every expansion at once.
The fallback when neither of the above matches the token name.
`DATE` and `TIME` are reserved and cannot be used as variable names. Renaming a library variable is allowed, but expansions still referencing the old token silently fall back to a plain text field.
## Date and Time Tokens
Use `{{DATE}}` and `{{TIME}}` inside any expansion, not just the built-ins. They resolve
automatically without prompting. Add `:key` to pick a format. The expansion editor has an
**Insert date / time** menu that writes these tokens for you.
### Date presets
| Token | Format | Example |
| ---------------------------- | -------------------------------- | -------------------- |
| `{{DATE}}` or `{{DATE:iso}}` | ISO (YYYY-MM-DD) | 2026-05-10 |
| `{{DATE:us-short}}` | US (MM/DD/YYYY) | 05/10/2026 |
| `{{DATE:us-long}}` | US long (Month D, YYYY) | May 10, 2026 |
| `{{DATE:eu-short}}` | European (DD/MM/YYYY) | 10/05/2026 |
| `{{DATE:eu-long}}` | European long (D Month YYYY) | 10 May 2026 |
| `{{DATE:verbose}}` | Verbose (Weekday, Month D, YYYY) | Sunday, May 10, 2026 |
| `{{DATE:compact}}` | Compact (YYYYMMDD) | 20260510 |
| `{{DATE:year}}` | Year only | 2026 |
| `{{DATE:month-year}}` | Month and year | May 2026 |
| `{{DATE:weekday}}` | Weekday name | Sunday |
### Time presets
| Token | Format | Example |
| ---------------------------- | ------------------------ | ------------------- |
| `{{TIME}}` or `{{TIME:24h}}` | 24-hour (HH:MM) | 14:30 |
| `{{TIME:24h-seconds}}` | 24-hour with seconds | 14:30:05 |
| `{{TIME:12h}}` | 12-hour (H:MM AM/PM) | 2:30 PM |
| `{{TIME:12h-seconds}}` | 12-hour with seconds | 2:30:05 PM |
| `{{TIME:iso-datetime}}` | ISO datetime | 2026-05-10T14:30:05 |
| `{{TIME:unix}}` | Unix timestamp (seconds) | 1778423405 |
An unrecognised key falls back to the default for that token (`iso` for dates, `24h` for times).
## Expansions Settings Modal
Click the gear icon in the window toolbar while the **Expansions** tab is open. The modal has two
tabs:
* **General:** the **Show suggestions dropdown** toggle.
* **Variables:** the global variable library described above, with create, edit and delete.
## Managing Expansions
* **Enable/Disable:** toggle individual expansions without deleting them
* **Edit:** change the trigger or replacement text
* **Delete:** remove custom expansions (built-ins cannot be deleted)
* **Built-in label:** shows which expansions are system-provided
* **Search:** filter the list by shortcut or text with the search bar at the top
* **Tags:** label expansions with colored tags, then use the tag filter bar (with any/all match modes) and sort options to organize a large library
## Suggestions Dropdown
Turn on **Show suggestions dropdown** on the **General** tab of the Expansions settings modal (the gear icon in the window toolbar) and Vowen shows a live picker as you type a `:` trigger. Matching expansions appear in a small list near your cursor. Click one to insert it without stealing focus from the app you're typing in, which helps when you can't remember the exact shortcut. It's off by default.
Expansions with fill-in variables show their tokens as `[Label]` slots in the picker preview, so you can tell at a glance that choosing one opens a form rather than pasting immediately.
## Bulk Import
Building dozens of expansions one-by-one in the app is slow. Prepare a JSON file with all of them (plain text or rich HTML) and import it in one click. See [Import & Export Data](/features/import-data) for the file format and an LLM-ready prompt that converts any source list (spreadsheet, Word doc, wiki) into a ready-to-import file.
## Behavior Notes
* Expansions are **paused during voice recording** (won't interfere with transcription)
* A **mouse click resets** the trigger buffer (starts fresh)
* Triggers are **case-sensitive**
* The trigger prefix `:` is not configurable currently
# Threads (Snippets)
Source: https://docs.vowen.ai/features/threads
Automatic text replacements triggered by voice.
## What are Threads?
Threads are text replacement rules. When you speak a trigger phrase, Vowen replaces it with your configured text in the transcription output. The replacement happens after the engine has finished, so it works identically on every transcription engine, local or cloud.
## Creating a Thread
Click **Dictionary** in the left sidebar, then switch to the **Threads** tab.
Click **Add Thread** in the window toolbar.
Type what you say, or more precisely what the engine writes down when you say it.
Choose **Plain** or **Rich** at the top of the field, then write what you want pasted instead.
The thread is live on your next dictation. No restart needed.
Use the **search bar** at the top of the tab to filter by trigger or replacement text. Press `/` or `Cmd+F` (`Ctrl+F` on Windows) to focus it. Triggers must be unique; Vowen refuses a duplicate when you save.
## Examples
| Trigger (what you say) | Replacement (what gets pasted) |
| ---------------------- | ----------------------------------------------------------------------------- |
| my address | 1234 Example Street, Sample City, ST 00000 |
| my email | [john.doe@company.com](mailto:john.doe@company.com) |
| post gress | PostgreSQL |
| thanks template | Thank you for your email. I'll review this and get back to you by end of day. |
## How matching works
1. You speak your phrase normally.
2. The engine transcribes it, for example as "post gress".
3. Vowen scans the finished transcript for trigger matches.
4. Matching text is replaced before pasting, giving "PostgreSQL".
Two properties decide whether a thread fires:
**Triggers are case-insensitive.** A thread with the trigger `my email` matches "My Email" and "MY EMAIL" equally.
**Triggers are anchored as whole phrases.** A trigger matches only where it is not glued to a letter, digit or underscore on either side, using Unicode-aware lookarounds. A thread triggered on `sig` therefore leaves the middle of "design" alone, and `cal` leaves "calendar" alone.
Each side of a trigger is anchored independently, based on its own first and last character. A trigger that ends in punctuation, like `etc.` or `:)`, gets no anchor on that side, so it can still fire when it runs straight into the next word.
### Unsegmented scripts
Word boundaries do not exist in scripts that are written without spaces, so anchoring a trigger whose edge falls in one of them would mean it could never fire. Characters in these ranges are exempt from anchoring:
* Thai and Lao
* Khmer
* Myanmar
* Hiragana and Katakana, including half-width Katakana
* CJK Unified Ideographs, Extension A, and Compatibility Ideographs
* Hangul Syllables
A mixed trigger is anchored only on the segmented side.
## Priority and ordering
Threads are sorted longest trigger first, and every one of them is then applied in turn to the text as it stands after the previous ones.
Longest-first only decides who claims an overlapping span first. It does not mean the shortest threads are skipped. If a longer trigger matched part of your speech, a shorter trigger can still fire on whatever the longer one did not consume, and on any other occurrence elsewhere in the same transcript. Every occurrence of a trigger is replaced, not just the first.
Your [Dictionary](/features/dictionary) misspellings are folded into the same pass as implicit threads, using identical anchoring. They do not count towards thread matching for the purposes of the enhancement skip described below.
## Rich-text threads
The Add Thread dialog has a **Plain** / **Rich** toggle. In Rich mode you get a small formatting editor: bold, italic, lists, links, headings, colors, highlights and alignment. Threads that use it are marked with a **rich** pill in the list.
When a rich thread fires, Vowen places both a formatted and a plain version on the clipboard. Apps that read rich content (Gmail, Notion, Apple Mail, Word, Google Docs) receive the formatting; apps that only read plain text (Terminal, code editors, single-line inputs) receive the plain fallback.
**Rich formatting is lost if AI enhancement runs on that dictation.** The formatted content cannot survive being rewritten by a model, so when a dictation is going to be enhanced (by a Tone, by global AI enhancement, or by a shortcut set to always enhance) any rich threads in it collapse to their plain text before the model sees them. If you want a thread to keep its formatting, use it on a dictation that is not being enhanced.
Rich paste is also skipped when your text insertion method is set to **Direct Input**, since that method types characters rather than pasting.
## Simple thread usage skips AI enhancement
If a dictation is essentially just a thread trigger, Vowen recognizes that and pastes the snippet immediately instead of sending it to a model.
When at least one thread matched and **six or fewer** non-filler words remain around it, Vowen skips AI enhancement for that dictation. Filler words ("um", "uh", and the rest of the filler list) are removed before counting, so "um, my signature, uh" still counts as zero residual words.
The snippet is already exactly what you wrote. Sending it to a model adds latency and risks rewording your own signature block. Saying "my signature" pastes instantly; dictating three paragraphs that happen to contain "my signature" still gets enhanced normally.
There is no setting for this. A shortcut explicitly configured to always enhance still enhances.
## Smart spacing
After threads are applied and any enhancement has run, Vowen inspects the text on either side of your cursor and fixes the spacing at the insertion point, so a snippet dropped mid-sentence does not arrive jammed against the previous word. This is on-device and always on.
Smart spacing applies to dictation output, including thread replacements. It does **not** apply to [Text Expander](/features/text-expander) injections, which go through a separate path.
## Bulk import from CSV
Click the **Import from CSV** button in the search row to add many threads at once.
* Two columns per row: trigger, then replacement
* A header row is optional and detected automatically
* Existing triggers are detected and skipped, with a count shown in the preview before you commit
* Imported threads are always **plain** format
The dialog offers a **Download sample CSV** link that saves `vowen-threads-sample.csv` with the expected shape.
## Use cases
* **Correct consistent misspellings:** "cube nets" becomes "Kubernetes"
* **Paste boilerplate:** "my signature" becomes your full email signature
* **Insert links:** "portfolio link" becomes "yourportfolio.com"
* **Expand abbreviations:** "ETD" becomes "estimated time of delivery"
* **Fix names:** "john smith" becomes "Jon Smyth", when the engine always gets it wrong
For a term you use constantly, prefer a [Dictionary](/features/dictionary) entry with the wrong spelling attached as a misspelling. You get the recognition hint and the guaranteed rewrite from a single entry, and it stays grouped with the word it belongs to. Reach for a Thread when the replacement is longer or unrelated to what you said.
## Threads, Dictionary and Text Expander
| | [Dictionary](/features/dictionary) | Threads | [Text Expander](/features/text-expander) |
| -------------- | ------------------------------------------- | ------------------------------------- | ---------------------------------------- |
| Triggered by | Speaking the word | Speaking the trigger phrase | Typing `:shortcut` |
| Trigger casing | Case-insensitive | Case-**insensitive** | Case-**sensitive** |
| Rich text | No | Yes | Yes |
| Best for | Getting a term recognized and spelled right | Turning a spoken phrase into any text | The same, while typing |
# Voice Shortcuts & Utilities
Source: https://docs.vowen.ai/features/workflows
Voice-triggered automations and shortcut-triggered AI utilities.
Built-in voice shortcuts and 1 preconfigured Custom Utility are available on every plan. Custom voice shortcuts are capped at 3 on the free plan. Pro unlocks unlimited voice shortcuts, unlimited Custom Utilities, custom utility prompts, and the webhook / script actions.
## Voice Shortcuts
Voice Shortcuts are voice-triggered actions. Speak a trigger phrase while in transcription mode and Vowen
executes an action instead of pasting text. They live under **Voice Shortcuts** in the left sidebar.
### Built-in Voice Shortcuts
Eight ship enabled. The trigger is a bare phrase, not a sentence. Say the trigger, then your query,
with nothing in between.
| Trigger | Name | What it does |
| ---------------- | ------------------- | --------------------------------------------------------- |
| `google` | Google Search | Opens a Google search for what you said after the trigger |
| `youtube` | YouTube Search | Opens YouTube results |
| `duck duck go` | DuckDuckGo Search | Opens a DuckDuckGo search |
| `ask chat gpt` | Ask ChatGPT | Opens ChatGPT with your question prefilled |
| `ask claude` | Ask Claude | Opens Claude with your question prefilled |
| `ask perplexity` | Ask Perplexity | Opens a Perplexity search |
| `navigate to` | Navigate to Website | Opens the address you say after the trigger |
| `open` | Open Folder | Opens a common folder in Finder or File Explorer |
So you say "google best pizza near me", not "search Google for best pizza near me". Each one can be
switched off individually on the Voice Shortcuts page.
Say "navigate to vowen dot ai" and Vowen opens the site. Spoken "dot" is collapsed, wrapping
quotes and trailing sentence punctuation are stripped, and an address with no scheme gets
`https://` added automatically, so "navigate to example dot com" opens `https://example.com`.
If the address does not look like a real web address and the trigger only matched fuzzily,
the voice shortcut declines the match and your words are pasted as normal dictation instead of
being swallowed by an error. An address that already carries a scheme (`https://`, `http://`,
`mailto:`) is passed through untouched.
Recognises Documents, Downloads, Desktop, Pictures, Music, Movies (Videos on Windows), Home,
and on macOS also Applications. Singular and plural both work, and a trailing word is ignored,
so "open downloads folder" works.
If nothing matches, the voice shortcut declines and the text is pasted normally.
### How Voice Shortcut Triggers Work
Vowen matches your transcribed speech against every enabled trigger in three tiers:
The transcript starts with the trigger phrase.
Leading politeness and filler words ("can you", "could you", "please", "hey", "okay", "ok",
"um", "uh", "so", "well", "like") are stripped and the result is compared again. Built-ins
also carry known speech-to-text variants, so "ask clawed", "ask chat gbt", "hey google" and
"you tube" all land on the right voice shortcut.
A Levenshtein similarity of at least **0.75** against the trigger or one of its aliases.
Vowen scans triggers longest first. On a tie, your custom voice shortcuts win over built-ins, so shipping
a new built-in can never break a voice shortcut you already had. The text after the trigger phrase becomes
the query for the action.
### Voice Shortcut Actions
A custom voice shortcut is a trigger phrase plus a numbered list of actions, added from chips underneath.
There are five action types, and a single voice shortcut can combine as many of them as you like.
| Action | What it does |
| ---------------------------- | ----------------------------------------------------------------------------------- |
| **Websites** | Opens one or more URLs. All of a voice shortcut's URLs open together in one window. |
| **Applications** | Launches one or more installed apps, optionally with a specific folder. |
| **Folders** | Opens one or more folder paths in Finder or File Explorer. |
| **Webhook** Pro | Sends a request to any HTTP endpoint, with configurable method, headers and body. |
| **Script** Pro | Runs a shell command with a configurable timeout. |
"Search" is not an action type. The built-in searches are just Websites actions with the search engine's query URL, which is exactly how you build your own.
Use `{{text}}` anywhere in a website URL, a webhook URL, header or body, or a script command, and
Vowen substitutes what you said after the trigger. For example a voice shortcut with the trigger
`search amazon` and the URL `amazon.com/s?k={{text}}` turns "search amazon noise cancelling
headphones" into an Amazon results page. A URL with no scheme gets `https://` prefixed, and the
braces are never percent-encoded, so `{{text}}` survives intact.
### Choosing a Browser and Profile
Each voice shortcut has its own **Open in** control for its Websites action. Leave it on **Default
browser** and Vowen hands the URL to the system default. Pick a specific browser and it launches
that one directly.
Vowen detects these browsers:
| Family | Browsers | Profile source |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| Chromium | Google Chrome, Chrome Beta, Chrome Canary, Microsoft Edge, Edge Beta, Brave, Brave Beta, Vivaldi, Opera, Opera GX, Chromium, Arc, Dia, Comet | The browser's own `Local State` file |
| Gecko | Firefox, Firefox Developer Edition, Zen Browser, LibreWolf | `profiles.ini` |
| WebKit | Safari (macOS only) | None |
When the browser you picked supports profiles, a **Profile** dropdown appears next to it, listing
the profiles that browser has on disk. Chromium browsers are launched with `--profile-directory`,
Firefox-family browsers with `-P`.
Safari is deliberately profile-less. Its data directory is protected by macOS privacy controls and
Safari has no command-line profile selector, so there is nothing to offer.
Detection is read-only and prompt-free. Vowen reads profiles from files that belong to non-sandboxed
apps, so building the list never triggers a "wants to access data from other apps" or "wants to
control Google Chrome" permission prompt.
Fallbacks are silent and deliberate. If the browser you picked has since been uninstalled, the profile was deleted, or the launch fails for any reason, the page opens in your default browser instead of showing an error.
On Windows, browsers beyond the list above can still be detected through the Start Menu registry,
but they get no profile support because profile storage is vendor-specific.
### Launching Applications
The Applications action lists apps installed on your machine. Turn on **Open with a specific
folder** and you can give each app a folder to open with, which is what makes "open standup" launch
your editor on the right project. If an app cannot accept a folder, it just opens normally.
On Windows, Vowen enumerates two kinds of app:
* **Desktop apps**, resolved from Start Menu shortcuts to their executable.
* **Microsoft Store / UWP apps**, which have no shortcut or executable at all. These are found by
their App User Model ID and launched through the shell apps folder. Opening a Store app with a
specific folder is not supported, so those always launch plain.
### Custom Scripts on Windows
The Script action requires Pro.
On macOS and Linux, scripts run with `/bin/bash`.
On Windows, Vowen probes for the shells actually installed and offers whichever it finds in a
**Shell** dropdown:
| Shell | Detection |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Windows PowerShell (5.1) | Looked for in the system directory, then on `PATH`. Listed first and used as the default because it ships with every supported Windows. |
| PowerShell 7+ (`pwsh`) | Detected on `PATH` if you installed it. |
| Command Prompt (`cmd.exe`) | Always offered as the final fallback. |
The dropdown only appears when more than one shell was found. Scripts are specific to the machine's
shell and will not necessarily run on another operating system.
## Custom Utilities Pro
Custom Utilities are shortcut-triggered AI prompts that need no voice recording. They gather context
(selected text and clipboard) and send it to your AI provider.
They live in **Configure your AI > Command Mode**, at the bottom of the tab, and only appear once an
AI provider is connected.
### Creating a Custom Utility
Click **Configure your AI** in the left sidebar, then switch to the **Command Mode** tab.
Scroll to the utilities section and click **Create custom utility**.
The shortcut needs at least one modifier plus one regular key. Vowen refuses a combination
already used by one of your global shortcuts or by another utility.
Six presets ship: Fix Grammar, Make Professional, Polish Text, Summarize, Bullet Points, and
Rewrite as Email. Choosing **Custom prompt** instead lets you write your own and requires Pro.
### Template Variables
Custom prompts support exactly two variables:
| Variable | Value |
| ------------------- | ---------------------------------- |
| `{{selected_text}}` | Currently selected text in any app |
| `{{clipboard}}` | Current clipboard contents |
### Example Custom Prompts
**Proofread Selection**
`Proofread and fix any errors in this text, preserving the original meaning: {{selected_text}}`
**Summarize Clipboard**
`Summarize this in 3 bullet points: {{clipboard}}`
**Translate Selection**
`Translate this to Spanish: {{selected_text}}`
### What Happens When You Trigger One
The result arrives in the paste confirmation banner, the same one Command Mode uses, with Tab to
paste, Esc to dismiss, and a Copy action. Nothing is written into your document until you choose to
paste.
If your prompt uses `{{selected_text}}` and nothing is selected, Vowen tells you to highlight
something first instead of sending an empty prompt. The same applies to `{{clipboard}}` with an
empty clipboard.
### Requirements
* An AI provider must be connected. Utilities are hidden until then.
* Utilities have a **500ms debounce** so a double-tap of the shortcut cannot fire two runs.
# Installation
Source: https://docs.vowen.ai/get-started/installation
Download and install Vowen on macOS or Windows.
Download and install Vowen on [macOS](#macos-installation) or [Windows](#windows-installation).
## Supported Platforms
| Platform | OS Version | Architecture |
| -------- | ---------------------------- | -------------------------------------------- |
| macOS | macOS 12 (Monterey) or later | Apple Silicon (M1, M2, M3, M4) and Intel x64 |
| Windows | Windows 10 or later | x64 |
Vowen does not currently support Linux. There is no ARM64 Windows build; on an ARM64 Windows machine the x64 build runs under emulation.
## System Requirements
| | macOS | Windows |
| ---------- | ----------------------------------------------- | -------------------------------------------- |
| RAM | 4 GB minimum, 8 GB recommended | 4 GB minimum, 8 GB recommended |
| Disk Space | \~373 MB for the app, plus the model you choose | Similar, plus the model you choose |
| GPU | Not required | NVIDIA GPU optional, for faster local models |
During setup Vowen offers two models: **Parakeet V2** (English only, recommended) and **Parakeet V3** (25 European languages). You must download one of them to finish setup. Afterwards you can download more local models, or switch to a cloud engine, from **Speech models** in the sidebar.
## Download
Download the latest version from [vowen.ai](https://vowen.ai).
Windows ships two builds:
| Build | File | Notes |
| --------- | ------------------------------ | ---------------------------------------------------------------------------------------- |
| Installer | `Vowen-Setup-.exe` | Standard install, lets you choose the location, creates Start menu and desktop shortcuts |
| Portable | `Vowen--Portable.exe` | Single executable, no installation. Useful on machines where you cannot install software |
The portable build does not register itself with Windows, so it does not appear in Installed Apps and does not create shortcuts. It still writes its data to `%APPDATA%\vowen\`.
## macOS Installation
Double-click the downloaded `.dmg` file to mount it.
Drag the Vowen icon to your Applications folder.
Open Vowen from Applications. macOS may show a standard first-launch warning since the app was downloaded from the internet.
The setup flow has 11 steps. Two of them are gates: you cannot continue past permissions until Microphone and Accessibility are granted, and you cannot continue past the model step until a model has finished downloading. See the [Quickstart](/quickstart#2-walk-the-setup-flow) for the full walkthrough.
## Windows Installation
Double-click the downloaded `.exe` file. If you downloaded the portable build instead, run it. There is nothing to install.
If Windows Defender shows "Windows protected your PC", click **More info** then **Run anyway**. This appears because the app is not yet code-signed with an EV certificate.
The app is safe to install. To bypass this warning permanently, we would need an Extended Validation (EV) code-signing certificate, which Microsoft requires for SmartScreen reputation. EV certs cost several hundred dollars per year and require a hardware token, which is a meaningful expense for a two-person team. We are working toward getting one for future releases.
Follow the installer prompts. Vowen will be installed and shortcuts created.
Open Vowen and complete the setup wizard.
Vowen is safe to install. Some antivirus software (QuickHeal, Kaspersky) may flag it as suspicious because the app is not yet code-signed. If you see a warning, add Vowen to your antivirus whitelist.
## What Gets Installed
* The Vowen application
* Helper binaries for transcription and audio capture
* The Silero Voice Activity Detection (VAD) model
Vowen downloads your transcription model during onboarding rather than bundling it in the installer. That keeps the download small and lets you pick the model that fits your hardware.
## After Installation
Vowen checks for updates **every 6 hours** and shows a banner in the main window when a new version is available. Dismissing the banner hides it for 24 hours. You can force a check any time with **Settings > General > Check for Updates**.
See [Updates](/updates) for details on how releases are shipped and how to give us feedback.
## Uninstalling
1. Quit Vowen completely (right-click menu bar icon > Quit Vowen)
2. Drag Vowen from Applications to Trash
3. To remove all data: delete `~/Library/Application Support/vowen/`
1. Quit Vowen completely (right-click tray icon > Quit Vowen)
2. Open Settings > Apps > Installed Apps
3. Find Vowen and click Uninstall
4. To remove all data: delete `%APPDATA%\vowen\`
If you used the portable build there is nothing to uninstall. Delete the executable, and delete `%APPDATA%\vowen\` too if you want the data gone.
Audio recordings are stored outside that directory, in `~/Documents/Vowen Recordings`, and are not removed by uninstalling. See [Privacy and data](/get-started/privacy#where-your-data-lives) for the full list of what Vowen writes to disk.If you installed the `vowen` command line tool from **Settings > Developer**, uninstall it from that same section before removing the app.
# Interface tour
Source: https://docs.vowen.ai/get-started/interface-tour
Every window, pill, and overlay Vowen can put on your screen, and what each one is for.
Vowen is mostly invisible. It runs in the background and puts a window on your screen only when one is useful. Each surface below is named alongside the setting that controls it.
## The main window
One window, with a sidebar down the left and a toolbar across the top.
### Sidebar
| Item | What it opens |
| --------------- | ----------------------------------------- |
| Home | History, activity graph, lifetime stats |
| Transcribe | Transcribe an audio or video file |
| Speech models | Download and switch transcription engines |
| Dictionary | Vocabulary, threads, text expansions |
| Voice Shortcuts | Voice-triggered automations |
### The Vowen AI group
Below the primary items, under a "Vowen AI" heading:
| Item | What it opens |
| ----------------- | --------------------------------------------------------------- |
| Configure your AI | Providers, API keys, enhancement, memory |
| Notes | Meeting notes and their settings |
| Tones | Per-app writing styles |
| Connectors | MCP connectors. Hidden until enabled in Settings > Experimental |
### Footer and toolbar
The footer has **Settings** and **Help**. Help opens the contact form in your browser.
The toolbar in the top right has the active AI provider (click it to jump to Configure your AI), a **sun/moon button** that toggles light and dark mode, and an account button.
Press `Cmd+K` / `Ctrl+K` anywhere in this window for the [command palette](/features/command-palette).
## The Settings modal
Clicking **Settings** in the sidebar footer opens a modal over the main window with ten sections of its own: Account, General, Audio, Language, Recording, Shortcuts, Sync, Developer, Experimental, Permissions. A search field sits above the section list.
See [Settings](/get-started/settings) for what is in each section.
## The menu bar and tray
Vowen's icon lives in the macOS menu bar and the Windows system tray. The menu is a full control surface. It switches models, languages, and microphones, starts and stops meeting notes, opens any sidebar page, and copies your last transcription. The icon itself changes while recording.
See [Settings](/get-started/settings#menu-bar-and-system-tray) for the full menu.
## Windows Vowen can show
A small floating pill that appears while you dictate. It shows a live audio waveform and controls, and it is where errors, the live transcription preview, expansion picker, and various banners appear.
**On by default**, anchored to the top of the screen. Change it in **Settings > Recording > Recording Indicator Position**, which offers Top, Bottom, or Don't show.
See [Recording indicator](/features/recording-indicator).
An alternative to the pill that hangs the indicator from the notch area instead of floating over your work. It is a native panel rather than a web view, so it draws its own toasts and menus.
**Opt-in.** Switch to it in **Settings > Recording > Indicator style**. Macs without a physical notch get an equivalent bar centered at the top.
A minimized bar pinned to the edge of your screen while you are not recording. Hover it and it expands so you can start a dictation, pick a tone, or start a note without touching a shortcut.
**Off by default.** Turn on **Show idle pill** in **Settings > Recording**. It shares a window with the recording indicator, so it hides as soon as you start recording.
A floating card that appears while a meeting note is recording. Compact by default, it expands on hover to show the note in progress, with pause, resume, and mark-important controls. Drag it anywhere; Vowen remembers where you put it.
**On by default** while recording notes. Turn it off in the notes settings, under **Recording Defaults**.
See [Recording meetings](/meeting-notes/recording).
A wide card with **Ask**, **Notes**, and **Transcript** tabs, opened with `Cmd+\` on macOS or `Ctrl+\` on Windows while a meeting is recording. It is content-protected, so it does not appear if you are sharing your screen.
Available whenever the meeting indicator is enabled. Press the shortcut again or `Esc` to close it.
See [Meeting panel](/meeting-notes/meeting-panel).
A full-screen overlay that appears when you start Command Mode, letting you click and drag to grab a specific area of the screen as context instead of sending your whole display. It stays open so you can grab several regions, and it punches holes around the recording indicator and the meeting pill so those stay clickable.
**Off by default.** Turn on **Drag to capture region** in **Configure your AI**. Press `Esc` to dismiss it.
See [Command Mode](/ai-features/command-mode).
A small input window that appears when you trigger a text expansion containing `{{variable}}` placeholders. Fill in the values and the finished text is inserted where you were typing.
It appears only for expansions you have written variables into. `Esc` cancels and leaves your typed trigger alone.
See [Text expander](/features/text-expander).
A small draggable pill with a countdown, controls to pause and stop, and a chime when it finishes. It appears when you ask for a timer by voice through Command Mode, and tears itself down a few seconds after the countdown ends.
See [Voice Shortcuts](/features/workflows).
A shareable image of your dictation stats. Vowen renders it off-screen, so there is nothing to click. The finished PNG appears inside the main window, where you can save or copy it.
## Banners and prompts
These do not get their own window. They appear inside the recording indicator or the main window.
| Banner | When it appears |
| --------------------- | ----------------------------------------------------------------------- |
| Permissions banner | A required permission is missing. Dismissing it hides it for 24 hours |
| Update banner | A newer version is available. Dismissing it hides it for 24 hours |
| Get Started checklist | Bottom-right of the main window until all six steps are done |
| What's New | The first time you open the main window after updating to a new version |
| Meeting detection | A meeting app started and Vowen offers to record |
| Insertion fallback | Vowen could not paste and is offering another route |
## Related
Every section of the Settings modal
Position, style, and what it shows
Every shortcut Vowen listens for
What leaves your machine
# Permissions
Source: https://docs.vowen.ai/get-started/permissions
What each system permission is for, how to grant it, and what breaks without it.
See how permissions are handled on [macOS](#macos-permissions) or [Windows](#windows-permissions).
## macOS Permissions
Vowen uses four macOS permissions. Two are required, two are optional.
### Microphone (required)
**Why:** to record your voice for transcription.
**How to grant:**
1. When prompted during setup, click "Allow"
2. Or go to **System Settings > Privacy & Security > Microphone** and enable Vowen
Without it, nothing records. The setup flow will not let you past the permissions step until this is granted.
### Accessibility (required)
**Why:** Vowen uses Accessibility to:
* Detect global keyboard shortcuts, so they work in any app
* Paste transcribed text into the focused input field
* Read selected text for Command Mode context
* Read the focused window's text for "Pass screen as context", if you turn that on
**How to grant:**
1. When prompted, click "Open System Settings"
2. In **System Settings > Privacy & Security > Accessibility**, toggle Vowen on
3. You may need to unlock the settings with your password
If you grant Accessibility but shortcuts still don't work, try removing Vowen from the list, then re-adding it. Restart the app after granting this permission.
### Screen Recording (optional)
**Why:** this one covers more than meetings. Vowen uses Screen Recording for four things.
* **Meeting Notes**: capturing system audio from Zoom, Teams, Meet, and anything else producing sound
* **Command Mode screenshots**: attaching an image of your display to an AI request
* **Region capture**: the drag-to-select overlay for Command Mode context
* **Meeting screenshots on Windows**: periodic captures saved alongside a meeting note
**How to grant:**
1. Go to **System Settings > Privacy & Security > Screen & System Audio Recording**
2. Toggle Vowen on
You can skip this permission entirely if you use none of those features. Vowen never captures your screen without an explicit action from you: starting a meeting note, running Command Mode with screenshots enabled, or dragging a capture region.
See [Privacy and data](/get-started/privacy) for exactly what each of those sends and where.
### Automation / Apple Events (optional)
**Why:** Vowen asks System Events which app is in front, and what its window is called. That is how [Tones](/ai-features/tones) apply a different writing style per app, and how voice shortcuts and app-specific behavior know where you are.
**How to grant:**
1. macOS prompts the first time Vowen needs it, usually the first time a per-app feature runs. Click "OK"
2. Or go to **System Settings > Privacy & Security > Automation**, find Vowen, and enable **System Events**
Denying this one fails quietly. Nothing shows an error. Per-app tones stop matching and app-aware behavior falls back to defaults, because Vowen can no longer tell which app you are typing into. If per-app tones stopped working for no visible reason, check this list first.
### What Vowen does not ask for
**Input Monitoring is not requested.** Vowen's keyboard hook works through Accessibility. It never calls the Input Monitoring APIs, so Vowen will not appear in that list and you do not need to add it there.
## Windows Permissions
Windows handles Vowen's permissions itself. There are no manual steps for:
* **Microphone access**: granted on first use through the standard Windows prompt. If you previously denied it, re-enable Vowen under **Windows Settings > Privacy & security > Microphone**
* **Keyboard input monitoring**: no special permission required
* **System audio capture**: handled by the OS
The setup flow still has a permissions step on Windows, but it only gates on the microphone.
## Checking permission status
**Settings > Permissions** shows a live status for each permission, with a button beside each one that opens the right pane of System Settings. Vowen re-checks every 30 seconds, so you can leave the section open while you flip a toggle and watch it turn green.
The Permissions section is deliberately left out of the settings search. These are system grants rather than settings, so they never turn up in results. Click **Permissions** in the settings sidebar to get to them.
## The permissions banner
If a required permission goes missing after setup, a floating banner appears with a **Configure** button that takes you straight to the Permissions section.
Dismissing the banner hides it **for 24 hours**. It comes back after that if the permission is still missing. Granting the permission removes it for good.
***
Have a permissions question that isn't answered here? See the [Permissions troubleshooting](/troubleshooting/permissions) page or the [FAQ](/faq#permissions).
# Privacy and data
Source: https://docs.vowen.ai/get-started/privacy
What stays on your machine, what leaves it, and where Vowen keeps your data.
Local transcription runs on your device and makes no network call. Everything below is what does leave your machine, where it goes, and where Vowen stores your data on disk.
## What runs locally
| Feature | Where it runs |
| --------------------------------------------------- | ---------------------------------------- |
| Local transcription (Whisper, Parakeet, Nemotron) | Entirely on your device. No network call |
| Voice activity and silence detection | On your device |
| Custom vocabulary, threads, text expansions | On your device |
| History, meeting notes, saved audio | On your device |
| Speaker diarization | On your device (macOS and Windows) |
| Voice Shortcuts, app launching, keyboard automation | On your device |
## What leaves your machine
| Feature | Where it goes |
| -------------------------------------------- | ------------------------------------------------------ |
| Cloud transcription models | The provider you configured, using your own API key |
| AI enhancement, Command Mode, note summaries | The AI provider you configured, using your own API key |
| Auto-translate (cloud models and Parakeet) | Google Translate |
| Pass screen as context | Extracted terms go to your AI provider |
| Command Mode screenshots | An image of your display goes to your AI provider |
| Cloud sync | Your own cloud storage account |
| Public share links | Vowen's share service |
| Product analytics | PostHog |
| Update checks and the model catalog | Vowen's asset host |
Audio and text sent to a cloud transcription or AI provider go directly from your machine to that provider. Vowen does not proxy or store them.
## Analytics
Vowen sends product analytics to [PostHog](https://posthog.com) in released builds. **There is currently no way to turn it off.** No setting, no flag, no environment variable.
**What is sent.** An identifier for your installation, your app version, and which platform and OS version you are on. Events record how you use the app: changing your transcription model, downloading a model, triggering a voice shortcut, finishing a meeting note or a Command Mode run, and being active on a given day. Crashes and errors are reported too.
**Your name and email are attached to every event.** Onboarding asks for a name and will not let you continue without one. Whatever name and email you set are sent with every analytics event and every error report.
**What is not sent.** Transcription text, audio, meeting notes, summaries, API keys, and microphone device names are never included.
If sending your name and email alongside product usage events is not acceptable to you, there are only two mitigations. Leave the email field blank in **Settings > Account** (a name is required, an email is not), or block `us.i.posthog.com` at your network or firewall level.
## API key storage
Your API keys are encrypted on your machine and stored with your Vowen settings. They are **not**
saved as individual Keychain or Credential Manager entries, so searching Keychain Access will not
find them.
On a system where Vowen cannot use the operating system's encryption, keys are stored unencrypted
instead. Vowen logs a warning when this happens. This is most likely on Linux.
Keys are never sent to Vowen. They go only to the provider they belong to. The same protection
covers your cloud transcription keys, your webhook signing secret and custom headers, and
connector tokens.
## Pass screen as context
**macOS only. Opt-in. Off by default.**
When enabled, and only while AI enhancement is running, Vowen reads the text of the window you are focused on, through the Accessibility permission you have already granted. It does not take a screenshot and does not need Screen Recording permission.
It does not send that text to your AI provider. Only names it finds on screen that match what you just said are passed along, so a colleague's name or a product name visible in front of you comes out spelled correctly.
The toggle is in **Configure your AI**, nested under "Enhance transcription". It only appears once enhancement is on and a provider is connected.
## Command Mode screenshots
Command Mode can attach a screenshot of your primary display to the request it sends your AI provider. The default is off, and there are checkboxes for it in **Configure your AI** and on the Command Mode page.
When it is on, an image of your whole primary display is sent to the provider along with your command. Vowen does not keep a copy once the call is done.
This is a screenshot of your **whole primary display**, not just the app you are working in. Anything visible at that moment goes with it: another window, a notification, a password manager. Leave it off unless you need it, and use [region capture](/ai-features/command-mode) if you only want to send part of the screen.
## Auto-translate
**Auto-translate to English** does not always run on your own machine.
* **Local Whisper models** translate natively, inside the model, offline.
* **Cloud models and Parakeet** cannot translate themselves, so Vowen sends the transcribed text to **Google Translate** after transcription and pastes the result.
So a Parakeet user, running a fully local transcription model, has their transcribed text sent to Google when auto-translate is on. Neither the toggle in **Settings > Language** nor the **Auto-translate to English** item in the tray menu names Google. Auto-translate is off by default and is a Pro feature.
## Public share links
Publishing a meeting note to a share link uploads a fixed set of fields to Vowen's share service, where anyone with the link can read them without a password.
**Published:** the note title, its date, the summary, the transcript segments with their timings, **speaker labels and per-segment speaker names**, and tag names. A social preview image built from the title and summary is uploaded with it.
**Never published:** the audio recording, the video recording, screenshots, your "My Notes" content, Ask AI conversations, marked important moments, speaker voice fingerprints, your Obsidian folder path, and the summary template you used.
Share pages ask search engines not to list them. Revoking a link takes the page down. The note is stored unencrypted on the service and needs no password to read, so treat a share link as publishing, not as private sharing.
See [Sharing notes](/meeting-notes/sharing).
## Where your data lives
Everything Vowen stores locally sits under a single folder:
* **macOS:** `~/Library/Application Support/vowen/`
* **Windows:** `%APPDATA%\vowen\`
That folder holds your settings, your dictation history, your meeting notes, your dictionary and
expansions, your downloaded transcription models, and anything Vowen captured for you such as
meeting screenshots. Models take up by far the most space.
Two things live outside it:
* **Saved audio recordings** go to `~/Documents/Vowen Recordings/`, if **Save audio recordings**
is on in **Settings > Recording**.
* **The command line tool**, if you installed it from **Settings > Developer**.
To take your content with you, use **Export Data** in **Settings > Account**. To remove
everything Vowen knows about you locally, delete the folder above. See
[Uninstalling](/get-started/installation#uninstalling).
## Vowen is not fully offline
Even with only local models and no cloud provider configured, Vowen makes network requests:
* It checks for a new version every **6 hours** against Vowen's asset host, and again whenever you press **Check for Updates**
* It fetches a model catalog at startup, so new AI models appear without a release
* It sends analytics to PostHog, as described above
Transcription with a local model is genuinely offline. The application around it is not.
## Related
What each system permission is used for
Sync through your own storage account
What a public share link publishes
Which engines run locally
# Settings
Source: https://docs.vowen.ai/get-started/settings
A map of the Vowen window, the Settings modal, and the menu bar menu.
Vowen has two layers of configuration. The **main window** has a sidebar of full pages for the big features. The **Settings modal** opens on top of it and holds the ten sections that configure the app itself.
## Opening Vowen
* Click the Vowen icon in the menu bar (macOS) or system tray (Windows) and choose **General Settings**
* Press `Cmd+,` (macOS) or `Ctrl+,` (Windows) from the tray menu accelerator
Vowen is a background app, so the menu bar route is the faster way in.
## The Sidebar
The main window sidebar has three parts.
| Sidebar item | What it opens |
| --------------- | ----------------------------------------------------- |
| Home | History, daily activity, and lifetime stats |
| Transcribe | Drag in an audio or video file and transcribe it |
| Speech models | Download, switch, and configure transcription engines |
| Dictionary | Custom vocabulary, threads, and text expansions |
| Voice Shortcuts | Voice-triggered automations |
Below those sits a group headed **Vowen AI**:
| Sidebar item | What it opens |
| ----------------- | ------------------------------------------------------------ |
| Configure your AI | Connect AI providers, pick models, enhancement options |
| Notes | Meeting notes list, recordings, and notes settings |
| Tones | Per-app writing style profiles |
| Connectors | MCP connectors, for reading from and acting on external apps |
And a footer:
| Sidebar item | What it opens |
| ------------ | ------------------------------------------- |
| Settings | The Settings modal (the ten sections below) |
| Help | Opens the contact form in your browser |
**Connectors only appears when you turn it on.** It is hidden until you enable **Settings > Experimental > Enable Connectors**. See [Connectors](/integrations/connectors).
## The Settings Modal
Clicking **Settings** in the sidebar footer opens a modal with its own sidebar. There are exactly ten sections.
| Section | What's there |
| ------------ | ------------------------------------------------------------------------------------- |
| Account | Your name and email, licence and plan, Import/Export Data |
| General | Updates, startup, text insertion, sound, history, filler words |
| Audio | Microphone selection and priority ranking |
| Language | Interface language, dictation language, summary language, translation |
| Recording | Indicator style and position, idle pill, saved audio, system audio, real-time preview |
| Shortcuts | Every keyboard shortcut Vowen listens for |
| Sync | Cloud sync setup |
| Developer | The `vowen` CLI, clipboard history, network preferences |
| Experimental | Features still in active development |
| Permissions | System permission status and shortcuts to grant them |
The app version is printed at the bottom of the modal sidebar.
Several things that used to live in this modal are now full sidebar pages: Speech models, Configure your AI, Tones, Dictionary, Voice Shortcuts, and notes integrations. There is no Privacy section and no Memory section. Memory is now part of **Configure your AI**, and data export lives at the bottom of **Settings > Account**.
## Section by Section
Three cards.
* **Plan card**: your current plan, licence key (masked) if activated, and buttons to buy, activate, manage, or deactivate a licence.
* **Profile card**: your name and email. The name you set during onboarding lives here.
* **Data card**: **Import Data** and **Export Data**. Import/Export is a Pro feature.
See [Import and export](/features/import-data).
The rows, in order:
* **Software Updates**: description plus a **Check for Updates** button
* **Open at Login**: launch Vowen when you log in
* **Hide Dock Icon** (macOS only): run as a pure menu bar app
* **Start Minimized to Tray** (Windows only)
* **Auto-paste transcription**: paste into the focused field automatically
* **Text Insertion Method**: Paste method or Direct insertion. Greyed out when auto-paste is off
* **Auto Enter**: press Enter after pasting. Greyed out when auto-paste is off
* **Restore clipboard after paste**
* **Sound Effects**: audio feedback when recording starts and stops
* **Save transcriptions to history**: word count and activity are tracked either way
* **Remove filler words**
* **Auto-add corrections to Dictionary** (Pro, Beta): needs at least one AI provider connected
* **Resource efficient mode**: only shown for local Whisper models, and for Parakeet on Windows
Theme is not here. It is a sun/moon button in the main window toolbar, next to the account icon.
Microphone selection. Vowen keeps a ranked list rather than a single pinned device, and uses the highest-ranked microphone that is currently connected. Drag to reorder.
See [Microphones](/features/microphones).
* **Interface language**: Vowen's own UI. 18 languages ship with the app
* **Dictation language**: the language you speak. The available list depends on the model you have selected
* **Summary language**: the language meeting note summaries are written in
* **English spelling**: British or American conventions
* **Auto-translate to English** (Pro): only shown when the model is not English-only
See [Interface language](/features/interface-language) and [Languages](/transcription/languages).
Auto-translate for cloud models and Parakeet sends your transcribed text to Google Translate. See [Privacy](/get-started/privacy).
* **Indicator style** (macOS only): Pill or Notch
* **Recording Indicator Position**: Top, Bottom, or Don't show
* **Show idle pill**: off by default
* **Save audio recordings**: keeps `.wav` files in `~/Documents/Vowen Recordings`
* **When recording starts**: do nothing, mute system audio, or pause playback (Pro)
* **Real-time transcription preview** (Pro): only available on streaming-capable models
See [Recording indicator](/features/recording-indicator) and [Recording behavior](/features/recording-behavior).
Every shortcut Vowen listens for, grouped by what it does: dictation, hands-free, command mode, tones, cancel recording, and the meeting panel. Alternative and multiple shortcuts are Pro.
See [Shortcuts](/features/shortcuts).
Cloud sync setup. This is the one section where the entire page is behind a Pro overlay rather than individual rows.
See [Cloud sync](/features/cloud-sync).
## Developer
Three settings, all aimed at people who want to script Vowen or who are debugging a connection problem.
Installs a `vowen` command so you can drive Vowen from a terminal or from an agent. The row shows the installed version and path once it is in place, and offers **Install**, **Update**, and **Uninstall** buttons. Vowen checks for a newer CLI release when the section opens and turns the Update button primary when one is available.
See the [CLI documentation](/cli/overview) for what the command can do.
Off by default. Vowen's paste method puts your transcription on the clipboard for a moment, and clipboard managers like Maccy, Raycast, and Ditto will record it if you let them. Leaving this off keeps dictations from piling up in your clipboard history. Turn it on if you actually want them there.
On by default. Vowen resolves cloud services over IPv4 before trying IPv6, which fixes hangs and connection errors on networks with broken IPv6. Turn it off only on an IPv6-only network. The change applies immediately, without a restart.
Try this first if cloud transcription or an AI provider fails to connect on a network where everything else works.
## Experimental
Features in active development. The section header tells you to enable these only if you are hitting a specific problem.
Off by default. Turning it on adds **Connectors** to the sidebar, which lets Live Ask, Chat with Notes, and Command Mode read from and act on external apps. Connections may break or behave unexpectedly. Requires Pro to actually use.
Off by default. Raises the silence threshold for cloud models so a fan, an air conditioner, or keyboard noise is less likely to be sent as speech. Turn this on if you get empty or hallucinated transcriptions while you are not talking.
Enabling it reveals a **Sensitivity** slider from 1x to 5x, defaulting to 2x. Higher is stricter: at 3x, audio has to be three times louder than the measured baseline before Vowen treats it as speech. Raise it if phantom transcriptions persist; lower it if real speech starts getting skipped.
## Permissions
A live status list of the system permissions Vowen uses, with a button beside each one that opens the right pane of System Settings. This is the fastest way to check whether a permission actually stuck after you granted it.
See [Permissions](/get-started/permissions) for what each one is for.
## Searching Settings
The Settings modal has a search field above its section list. Rather than a flat list of results, it renders the real settings sections filtered down to the rows that match, so every control looks and behaves exactly as it does when you browse to it. You can toggle a setting straight from the search results.
How matching works:
* Matching is English-only. Vowen searches the row text and a set of English synonyms, regardless of your interface language. Searching "microphone" works even if your UI is in German; searching "Mikrofon" does not.
* All of your typed words have to match somewhere in the row.
* Matching a section's own name ("recording", "sync") shows every row in that section.
* Permissions is deliberately excluded from search. Those are system grants, not settings, so they never appear in results. Click the Permissions item in the sidebar to reach them.
Clicking a section header in the results jumps to that section and clears the query.
## Command Palette
Press `Cmd+K` (macOS) or `Ctrl+K` (Windows) anywhere in the main window to open the command palette. It searches sidebar pages by name or by what you call them ("voice log" finds Home, "api key" finds Configure your AI), and it searches your content as well.
See [Command palette](/features/command-palette).
## Menu Bar and System Tray
Vowen lives in your menu bar on macOS and your system tray on Windows. The menu holds a lot more than the settings shortcut.
**Always present:**
* **General Settings** (`Cmd+,` / `Ctrl+,`)
* **Speech Models** submenu: every installed local model plus every configured cloud model, with the active one checked
* **Language** submenu: the dictation languages your current model supports
* **Microphone** submenu: "Default microphone / Same as system" plus every connected device
* **Transcribe File**
* **Dictionary**
* **Voice Shortcuts**
* **Keyboard Controls**
* **AI Setup**
* **Notes**
* **Tones**
* **History**
* **Contact Us**
* **Privacy Policy**
* **Copy Last Transcription**
* **Quit Vowen** (`Cmd+Q` / `Ctrl+Q`)
**Shown depending on state:**
* **Auto-translate to English**: a checkbox, hidden for English-only models and when the effective language already resolves to English. Pro.
* **Start Meeting Notes**: when nothing is recording
* **Pause Meeting Notes** / **Resume Meeting Notes** and **Stop Meeting Notes**: while a meeting note is being recorded
* **Stop Recording**: while a screen recording is running
On Windows, **Copy Last Transcription** sits at the bottom of the menu rather than near the top.
## Theme
Vowen has Light and Dark themes. The toggle is the sun/moon button in the main window toolbar, in the top right beside the AI provider chip and the account icon. There is no theme row in Settings.
## Text Insertion
Vowen can deliver your transcription using either the **paste method** (simulates `Cmd+V` / `Ctrl+V`) or **direct insertion** (types each character as if you were typing it). Choose in **Settings > General > Text Insertion Method**.
The paste method is fast but touches your clipboard; enable **Restore clipboard after paste** in the same section to put your previous clipboard contents back. Direct insertion is the right choice in apps that block standard paste.
See [Text Insertion Methods](/transcription/how-it-works#text-insertion-methods) for the full explanation.
## Idle Pill
Turn on **Show idle pill** in **Settings > Recording** to keep a small minimized bar pinned to the edge of your screen when you are not recording. Hover it to expand and start a recording without reaching for a shortcut. It is off by default.
## Hide Dock Icon (macOS)
If you prefer Vowen to be a pure background app without a Dock icon, enable **Settings > General > Hide Dock Icon**. The app stays accessible from the menu bar.
# Connectors
Source: https://docs.vowen.ai/integrations/connectors
Let Vowen's AI look things up in your apps and on your Mac.
Connectors are a Pro feature, currently **experimental**.
## What connectors do
Connectors link Vowen to external apps and to your own Mac so the AI can pull in relevant
information while it answers you. Once a connector is linked, Vowen's AI features can look things up
in the background (search your Linear issues, read a Notion page, find a file in Google Drive, check
a Vercel deployment) and fold the results into the response. You don't run a special command; it
happens as part of asking the AI.
In shipping builds, only read tools reach the model. Vowen filters the tool list down to look-ups
(search, list, get, read, find) before the AI ever sees it, so a connector cannot send an email,
open an issue, or edit a document on your behalf. This is a build setting rather than an
architectural guarantee. The underlying catalogs do define write actions, and Vowen excludes them
before the model is given the toolset.
## Turning connectors on
Connectors are gated twice. Clear both gates in this order.
Open **Settings > Experimental** and turn on **Connectors**. Until you do, the **Connectors**
item does not appear in the sidebar at all, and the Command Palette will not find it.
With the flag on, open **Connectors** from the sidebar (under **Vowen AI**). Free users see an
upgrade prompt here instead of the connector cards.
The feature is early. Connections can break, a tool may not fire when you expect it to, and the set
of supported apps will keep changing.
## Available connectors
Ten cards ship in the app. Six of them authorize through **Composio**; the rest connect directly.
| Connector | What the AI can read | How it connects |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| **Linear** | Issues, projects, and comments | Browser sign-in (direct) |
| **Notion** | Pages, databases, and documents | Browser sign-in (direct) |
| **Vercel** | Docs, teams, projects, deployments, and deployment logs | Browser sign-in (direct) |
| **Gmail** | Messages, threads, drafts, and attachments | Composio |
| **Google Drive** | Files and folders, metadata, downloads and exports | Composio |
| **Google Docs** | Document search, contents, and plain text | Composio |
| **Google Calendar** | Calendars, events, event instances, and free/busy | Composio |
| **GitHub** | Repositories and code search, file contents, branches, commits, releases, issues, pull requests, reviews, and Actions runs | Composio |
| **LinkedIn** | Your profile, people, company info, and post content | Composio |
| **Computer Use** (macOS) | Apple Notes, Calendar, Reminders, Contacts, Spotlight file search, your Finder selection, and browser tabs and bookmarks | Runs locally, no sign-in |
Beyond these, you can pull in more apps from Composio's catalog by searching. See
[Finding more connectors](#finding-more-connectors).
Computer Use is macOS-only. Every other connector works on macOS and Windows.
## Connecting a direct app (Linear, Notion, Vercel)
Click **Connect** on the card. A browser window opens for you to authorize Vowen. After you approve,
the authorization is remembered on this device, so reconnecting later is one click. **Disconnect**
clears the saved authorization, and the next connect starts the browser sign-in again.
## Connecting a Composio app
Gmail, Google Drive, Google Docs, Google Calendar, GitHub, and LinkedIn go through
[Composio](https://composio.dev). You need your own Composio account; the free tier covers everyday
use.
There are **two** authorizations, and only the first one is with Vowen.
The first time you connect any Composio-backed app, a browser opens for Composio itself. The
card shows **Signing in to Composio...** while this leg is in flight. This happens once. Every
Composio connector shares the session afterwards.
Composio then hands back an authorization link for the app itself (Google, GitHub, LinkedIn).
Vowen opens it and waits until the connection reports as active. The card shows
**Opening browser...** during this leg.
Because the second authorization lives in **your** Composio account rather than on your machine, a
connector you authorized on another device, or before a reinstall, comes back already connected and
skips the browser entirely.
### Disconnecting, and signing out of Composio
**Disconnect** on a Composio card removes that app's connection from your Composio account. It
deliberately leaves the shared Composio session alone, so dropping one app does not force a
re-authorization for the rest.
Disconnecting your last Composio app therefore still leaves a signed-in Composio session cached. To
clear it, use the **Sign out of Composio** button at the bottom of the Connectors page. It
disconnects every Composio-backed connector and forgets the session.
## Computer Use (macOS only)
The Computer Use connector runs entirely on your Mac. There is no account and no sign-in, so
connecting simply makes its tools available.
The first time the AI actually calls one, macOS prompts for access:
* **Automation**: a separate prompt per app it scripts (Notes, Calendar, Reminders, Contacts,
Finder, and your browser)
* **Calendars**, **Reminders**, and **Contacts**: the standard privacy prompts for those data types
* **Full Disk Access**: additionally required to read Safari bookmarks
It can read Notes, Calendar, Reminders, Contacts, Spotlight file searches, your current Finder
selection, and the active tab and bookmarks of common browsers (Safari, Chrome, Brave, Edge, Arc).
Read-only throughout.
## Finding more connectors
The search bar at the top of the Connectors page does two things at once. It filters the cards you
already have, matching on name, description, and id, so typing `email` finds Gmail without you
knowing the name.
Type at least two characters and it also queries **Composio's full catalog** underneath the cards,
under the heading **From Composio's catalog**. The search is use-case driven, so you can describe
what you want to do rather than name an app. Click **Connect** on a result and it becomes a normal
card: same connect flow, same routing, same read-only filtering. Discovered connectors are
remembered across restarts.
The ten built-in connectors have hand-verified tool lists. For a connector you discover through
search, Vowen classifies each tool as read or write **heuristically**, from the verb in its name. A
tool whose name does not follow the usual convention could be misclassified, so treat a
runtime-discovered connector as less predictable than a built-in one.
Searching the catalog requires a Composio session, so sign in to Composio first.
## Using a connector
Connectors plug into Vowen's AI surfaces. There is no separate shortcut to learn.
* **[Ask AI](/meeting-notes/ask-ai)**, including live during a meeting
* **[Chat with transcriptions](/features/chat)**
* **[Command Mode](/ai-features/command-mode)**
Vowen decides which connected apps are relevant to each request from the words you use. Mention
issues or a sprint and it considers Linear; mention a deployment and it considers Vercel; mention
email or your inbox and it considers Gmail; mention a note, calendar, or file and it considers
Computer Use. If nothing in your message matches, no connector is used, which keeps requests fast
and focused. When a tool runs, you'll see a brief inline note in the response showing which app it
called.
Click a connected card to see exactly which tools are exposed for it.
Connectors work with any AI provider whose models support tool calling: Anthropic, OpenAI (and
OpenAI-compatible providers like Groq, DeepSeek, OpenRouter, and Cerebras), and Google Gemini.
## Connectors and your other devices
Connector authorizations are **per-device** and are not part of [cloud sync](/features/cloud-sync).
Connecting Linear on your laptop does not connect it on your desktop.
Tokens live in your local settings, encrypted at rest. Nothing about a connector is written to any
sync category.
The exception is Composio-backed connectors. Their app authorization lives in your Composio account,
not on the device, so once you sign in to Composio on a second machine those connectors come back
already connected.
## Limits and notes
* Shipping builds expose **read tools only** and filter write actions out before the model sees the
toolset
* **Pro** and the **experimental flag** are both required, and the feature may change
* Computer Use is **macOS-only** and triggers macOS privacy prompts on first use
* A connector is only considered when your wording matches it, so phrasing your request around the
app or content type helps
* Each AI turn is capped at **five** rounds of tool look-ups to keep responses snappy
# Obsidian
Source: https://docs.vowen.ai/integrations/obsidian
Write meeting notes into your Obsidian vault as Markdown, with frontmatter.
The Pro plan unlocks the Obsidian integration so meeting notes flow into your vault automatically.
## Overview
Vowen writes each finished meeting note into your Obsidian vault as plain Markdown files with YAML
frontmatter. Nothing is appended to a daily note, and no plugin is required. Vowen writes files
directly into the vault folder on disk, and Obsidian picks them up.
## Setup
Go to **Settings > Meeting Notes > Integrations** and click **Configure Obsidian**.
Set the **Vault Path** to the directory your Obsidian vault lives in. **Browse** opens a folder
picker.
**Folder** is the folder inside the vault that Vowen writes into. It defaults to `Vowen`. A live
hint shows where notes will land, for example `MyVault/Vowen/`.
Under **What to save**, enable the **Summary**, the **Transcript**, or both. Both are on by
default, and at least one must stay enabled. Turning the last one off switches the other back on.
Turn on **Keep notes synced** if you want later edits to reach the vault. See
[Keeping the vault up to date](#keeping-the-vault-up-to-date).
Click **Save**. **Disconnect** clears the vault path and resets every option.
## How it works
When a meeting note finishes, Vowen creates a **dedicated folder for that note** inside your chosen
parent folder and writes the content as Markdown files:
```
//YYYY-MM-DD /
├── summary.md
└── transcript.md
```
### Folder names
The folder name is the note's **local date**, a space, then the note title:
```
2026-08-24 Weekly sync with Design
```
The date prefix is part of the folder name. Any Dataview, Templater, or QuickAdd recipe that matches
on the note title alone will not find these folders.
* The date comes from the note's own timestamp and is formatted in **local time**, deliberately, so
an evening meeting in a negative-UTC zone does not roll forward to the next day
* Characters that are illegal in a path (`/ \ ? % * : | " < >`) are replaced with `-`
* If the folder name is already taken, Vowen creates `... (1)`, `... (2)`, and so on
### Files
`summary.md` holds the summary; `transcript.md` holds the full transcript with any speaker names you
assigned. A file is written when that content exists **and** you kept it enabled under
**What to save**.
There is one override. If the side you chose is empty, Vowen writes the other side instead, so the
sync is never a silent no-op. Pick summary only, and a note that has a transcript but no summary
still gets its transcript written. A note with neither a summary nor a transcript is skipped
entirely.
### Frontmatter
Every file starts with YAML frontmatter:
```yaml theme={null}
---
title: "Weekly sync with Design"
date: 2026-08-24T18:30:00.000Z
source: vowen
type: summary
template: Meeting Notes
---
```
| Field | Notes |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `title` | The note title, quoted |
| `date` | A **full ISO-8601 timestamp in UTC**, not the local date used by the folder name. The two can differ by a day near midnight |
| `source` | Always `vowen` |
| `type` | `summary` or `transcript` |
| `template` | The name of the [summary template](/meeting-notes/summaries#custom-templates) that produced the note. Omitted when there is none |
Because `date` is a real timestamp, sort and filter on the frontmatter field rather than parsing the
folder name. Use the folder name for a chronological view in the file tree, where the `YYYY-MM-DD`
prefix does the sorting for you.
Vowen strips its internal citation markers out of the summary before writing, so vault copies never
contain them.
## Keeping the vault up to date
Vowen writes a note to the vault once, when the note finishes. Edits you make afterwards do **not**
reach the vault unless you take one of the two routes below.
### Keep notes synced (automatic)
Turn on **Keep notes synced** in the Configure Obsidian screen. It is off by default. Once on, Vowen
re-writes the vault copy whenever you edit a note's:
* summary
* transcript
* title
* **speaker names**
Edits are debounced, so the summary editor firing once per keystroke results in a single write about
two and a half seconds after you stop typing. The re-sync overwrites the same folder rather than
creating a duplicate.
**Renaming speakers does not reach your vault** unless **Keep notes synced** is on, or you sync that
note manually. The in-app transcript updates immediately; the vault copy still says `Speaker 1`.
Changing a note's **tags** does not trigger a re-sync, because tags are not written to the vault.
### Sync with Obsidian (manual)
Open any meeting note and click **Sync with Obsidian**. Vowen writes the note's current state to the
vault right away and confirms with a toast. Useful after editing a summary, renaming a note or its
speakers, or changing the **What to save** options.
Manual sync does one thing automatic sync does not. If Vowen has no record of a folder for this
note, manual sync **adopts an existing folder** that already matches the canonical `YYYY-MM-DD Title`
name instead of creating a numbered duplicate, which is what lets notes exported before Vowen
started tracking folder paths get updated in place. Automatic sync at note creation deliberately
does not do this, so two genuinely different meetings with the same name on the same day stay in
separate numbered folders.
## Driving Obsidian workflows
Because the frontmatter carries `source`, `type`, and `template`, and the transcript ships as its own
file, you can key Templater, QuickAdd, or Dataview flows off any of those values.
A Dataview query over the summaries, for example:
```
TABLE date, template
FROM "Vowen"
WHERE source = "vowen" AND type = "summary"
SORT date DESC
```
`type` distinguishes the two files inside each folder, so filter on it unless you want each note
counted twice.
## Use cases
* **Meeting archive**: every call lands in the vault as searchable Markdown with a date-sorted folder
* **Template routing**: post-process notes by `template` name with Templater or QuickAdd
* **Research notes**: dictate observations into notes and have them indexed by Dataview
* **Handoff**: share the vault folder rather than exporting a note one at a time
# Webhooks
Source: https://docs.vowen.ai/integrations/webhooks
Post meeting note summaries to any HTTP endpoint, with optional HMAC signing.
The Pro plan unlocks webhooks so meeting notes can flow into Slack, Discord, n8n, Zapier, Make, or your own server.
## Overview
Vowen fires a webhook when a **meeting note** is ready. It sends an HTTP `POST` with the note's
transcript, summary, and tags to any URL you configure. Use it to push notes into Slack or Discord,
into an automation platform, or into your own service.
Webhooks fire on meeting notes only. There is no per-dictation webhook. If you want dictation text
to trigger something, use a [voice shortcut](/features/workflows) or the [Vowen CLI](/cli/overview).
## Setup
Go to **Settings > Meeting Notes > Integrations** and click **Configure Webhook**.
Paste the **URL** that should receive the `POST`. This is the only required field.
Add custom request headers for authentication, and a signing secret if your receiver should
verify that the request really came from Vowen. Both are covered below.
Click **Save**. The integration is enabled as soon as a URL is saved. **Disconnect** clears the
URL, the headers, and the signing secret in one go.
## Payload
For any URL that is not a Slack or Discord webhook, the body is a JSON object:
```json theme={null}
{
"event": "note.created",
"trigger": "auto",
"noteId": "1725000000000123",
"title": "Weekly sync",
"createdAt": "2026-09-03T10:00:00.000Z",
"updatedAt": "2026-09-03T11:30:00.000Z",
"durationSeconds": 1830,
"template": "Meeting Notes",
"templateId": "meeting-notes",
"hasTranscript": true,
"hasSummary": true,
"transcript": "Speaker 1: ...\nSpeaker 2: ...",
"summary": "The AI-generated meeting summary",
"tags": ["Sales", "Follow-up"]
}
```
* `event`: what produced this delivery. `note.created` when a summary finishes generating,
`note.manual_send` for the **Send to webhook** action on a note
* `trigger`: `auto` or `manual`, the short form of `event`. Also sent as the `X-Vowen-Event` header
* `noteId`: the note's identifier, as a string. It is the same on every device once
[cloud sync](/features/cloud-sync) has run, and it never changes, so use it to connect an automatic
delivery with any later manual send of the same note. `X-Vowen-Delivery-Id` identifies one
delivery; `noteId` identifies the note
* `title`: the note title at the time of sending
* `createdAt`: when the note was created, ISO 8601
* `updatedAt`: when the note record last changed, ISO 8601. `null` for notes that have not been
edited since updating to the version that introduced it
* `durationSeconds`: length of the recording. `null` when unknown, for example imported text
* `template` / `templateId`: the summary template's display name and its stored id
* `hasTranscript` / `hasSummary`: whether the matching text field is non-empty, so you can branch
without inspecting the text itself
* `transcript`: the full transcript, with any speaker names you assigned folded into the
`Speaker N:` prefixes
* `summary`: the summary text, with Vowen's internal citation markers stripped out
* `tags`: resolved tag **names**, not internal IDs. Always present; `[]` when the note has no tags
`transcript`, `summary` and `tags` are the original payload fields and keep their exact shape, so
receivers built against the three-field body keep working. Every other field is additive.
`Content-Type` is always `application/json` and cannot be overridden by a custom header.
A **manual** send (the **Send to webhook** action on a note) posts the same shape with the note's
current transcript, summary and tags, so it can be used to backfill older notes into a receiver.
A note with neither a summary nor a transcript is refused.
## Slack and Discord formatting
Vowen detects Slack and Discord webhook URLs automatically. Just paste the URL; there is no format
selector to set.
| URL | What gets sent |
| ------------------------------ | ------------------------------------------------------------------------------------------------ |
| `hooks.slack.com/services/...` | **Block Kit** blocks, with headings, dividers, and Slack `mrkdwn` (bold, italic, links, bullets) |
| `discord.com/api/webhooks/...` | Rich **embeds**, with the note title as the embed title |
| Anything else | The JSON payload above |
## Custom headers
Add any number of `key: value` header pairs under **Headers**. These are useful for bearer tokens,
API keys, or routing headers your endpoint expects. Header values are encrypted at rest on your
device.
Vowen's own `X-Vowen-*` headers and `Content-Type` are applied **after** your custom headers, so a
custom header can never shadow them. If you add a header called `X-Vowen-Signature`, it is
overwritten before the request goes out.
## Send automatically
The **Send automatically** checkbox controls whether the webhook fires on its own.
* **On** (default): the webhook fires every time a summary is generated
* **Off**: nothing fires automatically. Open a note and click **Send to webhook** to send it by hand
Turn it off to keep a configured endpoint around for occasional manual pushes without every meeting
going out.
## Verifying deliveries with HMAC signing
Set a **Signing secret** and Vowen signs every delivery so your receiver can prove the request came
from your copy of Vowen and was not replayed. The **Generate a new secret** button produces 32
random bytes as hex; you can also paste your own. The secret is stored encrypted on your device and
never leaves it. Only the derived signature is transmitted.
### Headers
| Header | Sent when | Value |
| --------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `X-Vowen-Delivery-Id` | **Always**, secret or not | A UUID, unique per delivery attempt. Use it to deduplicate retries |
| `X-Vowen-Event` | **Always**, secret or not | The payload's `event` value (`note.created` or `note.manual_send`), so you can route without parsing the body |
| `X-Vowen-Timestamp` | Only when a secret is set | Unix time in **seconds** |
| `X-Vowen-Signature` | Only when a secret is set | `sha256=` |
### What is signed
The signature is an HMAC-SHA256, keyed with your secret, over this exact string:
```
.
```
That is the timestamp, a literal `.`, then the raw body bytes as sent. The timestamp is inside the
signed string rather than merely alongside it, so a captured request cannot be replayed later with a
fresh timestamp.
Verify against the **raw request body**, before any JSON parsing. Re-serializing the parsed object
will change whitespace or key order and the signature will not match.
### Verification example
```js theme={null}
const crypto = require('crypto');
const TOLERANCE_SECONDS = 300;
function verifyVowenWebhook(rawBody, headers, secret) {
const signature = headers['x-vowen-signature'];
const timestamp = headers['x-vowen-timestamp'];
if (!signature || !timestamp) return false;
// Reject anything outside the replay window.
const age = Math.abs(Math.floor(Date.now() / 1000) - Number(timestamp));
if (!Number.isFinite(age) || age > TOLERANCE_SECONDS) return false;
const digest = crypto
.createHmac('sha256', secret)
.update(`${timestamp}.${rawBody}`, 'utf8')
.digest('hex');
const expected = `sha256=${digest}`;
if (signature.length !== expected.length) return false;
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}
```
Slack and Discord deliveries are signed too, if a secret is set. They will ignore the extra headers,
so there is no reason to clear the secret when pointing Vowen at a chat webhook.
## Delivery logs
Vowen keeps a log of recent deliveries so you can confirm they are landing and debug failures. Click
**Logs** in the Configure Webhook screen to open the **Webhook Logs** view.
* The **last 25 deliveries** are retained; older entries drop off automatically
* Each row shows **Time, Status, Trigger** (`auto` or `manual`), **Note**, and **Duration**
* Expanding a row reveals the endpoint, the payload format (`json`, `slack`, or `discord`), request
headers, request body, and response body
* Headers named `Authorization`, `Cookie`, or `Proxy-Authorization`, or whose name contains `key`,
`token`, `secret`, `password`, or `auth`, are stored as `***`, so a custom auth header you added
is never written to the log file
* Request and response bodies are truncated at **2048 characters**, with a note showing how many
were dropped
* **Refresh** re-reads the log; **Clear logs** empties it
## Error handling
A failed webhook never interrupts recording or note generation. Non-2xx responses and network errors
are recorded in the delivery log with the status code (or the error message) and moved past. There is
no automatic retry, so use the log to spot failures and resend by hand from the note.
# Introduction
Source: https://docs.vowen.ai/introduction
The voice interface for your computer. Dictate anywhere, capture meetings, and run voice shortcuts. Fast, on-device, and free.
Vowen is the voice interface for your entire desktop. Hold a shortcut to dictate, capture meetings, or run voice shortcuts. Speak naturally and Vowen handles the rest.
## Get Vowen
Apple Silicon and Intel
Windows 10 and later (x64)
## What is Vowen?
Hold a shortcut to dictate into any app on macOS or Windows. Push-to-talk for quick phrases, hands-free for long sessions, mouse buttons supported as triggers. Works system-wide, in every text field.
Local Whisper, Parakeet, and Nemotron run offline on your device. On top of those, Vowen supports **14 cloud models from 12 providers**: Groq, Deepgram, ElevenLabs, AssemblyAI, Mistral, Soniox, Sarvam AI, xAI, Cartesia, Speechmatics, OpenAI, and Google Gemini. You can also point Vowen at your own server. Switch anytime to balance speed, accuracy, and privacy.
An optional polish layer that fixes grammar, punctuation, and filler words automatically. Bring your own API key from any of 10+ providers, including OpenAI, Anthropic, Gemini, and Groq.
Hold a dedicated shortcut to give voice instructions to AI. Vowen reads your selected text, clipboard, or screen as context. Say "summarize this" or "draft a reply", and the result lands at your cursor.
Record meetings without a bot or a banner. Captures system audio plus your microphone from Zoom, Teams, Meet, Slack Huddles, or any app that produces sound. AI generates the summary, action items, and speaker labels.
On-device models transcribe without a network call. Your audio never leaves your machine unless you choose a cloud provider, and when you do it goes straight to that provider rather than through Vowen. API keys are stored encrypted on your machine and are never sent to Vowen servers.
The application around the transcription is not fully offline: it checks for updates, fetches a model catalog, and sends product analytics. [Privacy and data](/get-started/privacy) sets out exactly what leaves your machine, including the analytics that currently have no opt-out.
Add product names and jargon so the model recognizes them. Define text replacements, snippet expansions, and per-app writing styles. Build voice-triggered voice shortcuts for the tasks you repeat.
✦
Many of these features are unlimited on Vowen Pro. Command Mode, Meeting Notes, Text Expander, Voice Shortcuts, Memory, Tones, and Manual Transcriptions all run on the Free plan with sensible limits. Custom AI Instructions for dictation is free for everyone. Pro removes the caps and unlocks Real-time Preview, Speaker Diarization, Auto-translation, Cloud Sync, Obsidian & Webhook integrations, Chat with Notes, and more. See the full plan comparison →
## How It Works
Vowen turns voice into pasted text in two steps:
Vowen transcribes your speech with either a local model (runs on your machine, fully offline) or a cloud model (faster, more accurate for complex vocabulary).
↳
AI Enhancement (optional). Before the text is pasted, you can route it through an AI language model that fixes grammar, removes filler words, and applies your formatting preferences. Bring your own API key from any of 10+ providers.
Vowen pastes the final text into whatever app has focus. No manual copy-paste needed.
## Explore More
Get up and running with Vowen in under 2 minutes
Pick a model for your use case
Compare Free and Pro features
What leaves your machine, and where your data lives
Every window Vowen can show you
Answers to common questions
# Ask AI
Source: https://docs.vowen.ai/meeting-notes/ask-ai
Ask questions about a meeting note, edit its summary by asking, and ask live while the meeting is still running.
Every meeting note has an **Ask AI** tab. Ask questions about the meeting, and the assistant can
rewrite the note's summary and title when you ask it to. Every conversation is saved.
This is Ask AI **on a meeting note**. The same conversation surface exists on manual
transcriptions, documented separately in [Ask AI for transcriptions](/features/chat). Meeting
notes add live questions during recording, context cards, and summary editing.
## Where it lives
Open any note from the **Notes** page. The tab row across the top of the note is:
| Tab | What it shows |
| ---------- | ----------------------------------------------- |
| Summary | The generated summary, editable |
| Transcript | The final transcript with speaker labels |
| My Notes | Only when you jotted context during the meeting |
| Ask AI | The open conversation |
The composer is docked below the note on every tab, not just Ask AI. Type a question while you are
reading the Summary, press Enter, and Vowen brings the Ask AI tab forward with the answer. It is the
same box, the same draft and the same conversation wherever you ask from.
## Asking a question
The composer sits under the note on every tab. Enter sends, Shift+Enter adds a newline.
An empty conversation offers five starters: **Summarize the key points**, **What decisions were
made?**, **List the action items**, **What is still unresolved?** and **Draft a follow-up
email**. Clicking one sends it immediately.
Answers stream in. A jump-to-bottom button appears if you scroll away mid-stream.
### Composer shortcuts
* Type `/` at the start of the box to open the command menu. It holds the same five starters.
* Type `@` at a word boundary to attach a context source.
* The button on the right of the toolbar shows which AI provider will answer. Click it to switch.
## Saved conversations
Every conversation is kept. On the Ask AI tab, the note's right sidebar gains a **Chats** section
listing them newest first, grouped as **Today**, **Yesterday**, **Previous 7 days** and **Older**.
The plus button in the Chats header opens a fresh conversation and puts the caret in the
composer. The unsaved conversation shows up in the list as **New conversation** until you ask
something.
Hover a row and click the pencil. The title is edited in place: Enter commits, Escape cancels,
and clicking away commits as well. Titles are capped at 64 characters. Clearing the field hands
the title back to being derived automatically from your first question.
The trash icon on a row asks for confirmation, then removes the conversation permanently.
Once a note has five or more conversations, a search box appears above the list. It matches on
the conversation title and on the last message.
Conversations are stored with your Vowen data, separately from the
note itself. Each is scoped to one note, so one note's conversations never appear on another.
Deleting the note deletes its conversations. Vowen keeps up to 100 conversations per note and
240 messages per conversation, dropping the oldest beyond that.
## Context cards
Above the composer, small cards show exactly what the assistant can read for the next question.
* **Summary** and **Transcript** are both attached by default.
* A card only exists if the note actually has that content.
* Each card shows its size: word count for the summary, block count for the transcript.
* Click the X on a card to detach it. Detaching the transcript is the usual reason to do this, on a
long meeting where you only want the assistant working from the summary.
* Click **Add context**, or type `@`, to attach something back.
The open tab does not decide the grounding. Switching from Summary to Transcript does not change what
the assistant can see. Only the cards do.
### Attachments
The paperclip button attaches one image or PDF to the next question. The file picker accepts
`image/*` and `.pdf`, with a 10 MB limit. Images need an AI model that can read images.
Attachment contents are sent with the question but are not written to disk with the conversation.
Reopening an old conversation shows that a file was attached, and its name, but not the file itself.
## Reasoning
When the model streams its reasoning, Ask AI shows a collapsible block above the answer, labeled
**Thinking** while it runs and **Thought for 4.2s** once it finishes. It stays open while the
reasoning is the only thing happening and collapses when the answer lands. Click the header to
reopen it.
Nothing here turns a reasoning mode on. The block appears only for models that already emit
reasoning as part of their response, such as DeepSeek, OpenRouter and Gemini. Models that do not
emit it render no block and cost nothing extra.
## Editing the note by asking
Ask AI can change two things about the note: its **summary** and its **title**.
Ask for a change in plain language:
* "Translate the summary to English"
* "Make the notes shorter"
* "Rewrite the summary as bullet points"
* "Rename this note to Q3 pricing review"
The assistant writes one short line of acknowledgement, and the new value lands in the note itself
rather than in the chat. A row appears under the answer reading **Summary updated** or **Title
updated**, with an **Undo** button next to it.
Asking a question about the note is not a change. The assistant only edits when you actually ask it
to.
**Undo only lasts for the session.** The previous value is held in memory, not written to disk, so
once you close the note or restart the app the Undo button on an older turn is gone. The change
itself is saved the moment it is applied, exactly like an edit you typed by hand.
### The transcript is read-only
The transcript is the record of what was actually said, and Ask AI can never write to it. Ask it to
edit the transcript and it will say so plainly and offer to change the summary instead. If you need
to change the transcript, edit it directly on the Transcript tab.
### Notes on summary rewrites
Summary editing is offered only when the note has a summary and is not still recording. On a
note with no summary yet, use the **Regenerate** button on the Summary tab instead.
If your summary carries [citation anchors](/meeting-notes/summaries), the assistant is told to
carry every one across unchanged, and is given them as an explicit checklist. Anchors it invents
are stripped before the new summary reaches the note, so a rewritten summary can never gain a
timestamp pill that points at a moment nobody chose. An anchor on a line the rewrite deletes
goes with it.
Editing is not provider tool calling. The model writes the complete new value between in-band
markers of the form `<<>> ... <<>>`, and Vowen filters that
block out of the stream as it arrives, so you never see the markers. This is why editing works
on every provider Vowen supports, including ones with no function-calling channel and the
non-streaming fallbacks. A block the model never finishes, because it was cut off or you pressed
stop, is discarded rather than half-applied.
## Asking during the meeting
Ask questions while a meeting is still recording, from two places:
* The **hover card** on the floating recording indicator, on its Ask AI tab.
* The [meeting panel](/meeting-notes/meeting-panel), on its Ask tab, opened with `Cmd+\` on macOS or
`Ctrl+\` on Windows.
Each question pulls in the latest transcript, so follow-ups stay in sync as the conversation moves.
Screenshots you capture from the panel are attached to your next question as visual context, if the
selected model can read images.
The live conversation is saved with the meeting itself and is shared between the indicator card and
the panel, so a question asked in one shows up in the other. **Clear chat** in the panel erases it.
The note detail page does not offer Ask AI while that note is still recording. During a recording
it shows the live transcript instead. Ask from the panel or the indicator.
### Live Ask without real-time transcription
Live Ask works without a streaming transcription engine.
For every meeting, Vowen runs a second 16 kHz mono recorder alongside the main one and buffers its
audio to a temporary file. When you ask a question and no live transcript is available, Vowen
transcribes only the span of audio since your last question and appends it before answering. Two
questions ten minutes apart cost exactly one transcription of those ten minutes, never a re-run of
the whole meeting. The buffer file is deleted when the meeting ends.
Spans shorter than about 1.5 seconds are left alone and roll into the next one, so a question asked
moments after the previous one does not send a fragment of a word to the model.
The Ask AI tab is offered whether or not real-time transcription is on. With it off, a short banner
on the Transcript tab explains what is happening: "Real-time transcription is off — this fills in
each time you ask a question."
### The Catch up button
On the note detail page, while that note is recording, the recording bar carries a **Catch up**
button whenever the catch-up buffer is in use. It runs the same transcription a question would
trigger, without you having to ask one, so the live pane fills in on demand. While it runs the
button reads **Catching up…** and is disabled.
Catch up exists only on the note detail page's recording bar. The meeting panel and the floating
indicator show the explanatory banner instead and fill in when you ask a question.
## Requirements
Ask AI is a Pro feature, on both the note page and live during a meeting. It also needs an AI
provider configured under **Configure your AI** in the sidebar. With no provider set up, the tab
shows "No AI provider configured".
Live Ask answers with the meeting's own **AI Summary Model** from the Notes settings, falling back
to your global provider when no override is set. On the note page you pick the provider from the
composer's model button.
# Speaker Diarization
Source: https://docs.vowen.ai/meeting-notes/diarization
Identify who said what, on-device on macOS and Windows or through a cloud model.
Speaker diarization is a Pro feature, available in Meeting Notes and manual transcriptions.
## What is diarization?
Speaker diarization identifies and labels the different speakers in a recording. Instead of a single block of text, your transcript shows which person said each part, and your summary can attribute action items and decisions to specific people.
## Supported models
### On-device (macOS and Windows)
Vowen ships its own speaker pipeline, so you do **not** need a diarization-capable cloud provider. It runs entirely on your machine.
| Model | Where it runs |
| ----------------------------------- | ---------------------------------------------- |
| Whisper, all sizes | Local |
| Parakeet | Local |
| Whisper Large v3 and Large v3 Turbo | Groq (cloud transcription, local speaker pass) |
* **macOS** runs speaker identification on your Mac, using a model built for Apple silicon.
* **Windows** runs speaker identification on your machine too. The first time you diarize, Vowen downloads a roughly 30 MB model bundle. Nothing is sent anywhere.
Linux has no on-device speaker pipeline. On Linux, diarization requires one of the cloud models below, and the on-device options are not offered.
### Cloud models
These providers identify speakers server-side.
| Model | Provider |
| ------------------------------------ | ------------ |
| Nova 2 (Deepgram), Nova 3 (Deepgram) | Deepgram |
| Scribe v2 (ElevenLabs) | ElevenLabs |
| Universal-3.5 Pro (AssemblyAI) | AssemblyAI |
| Voxtral Mini (Mistral) | Mistral |
| Real-Time STT (Soniox) | Soniox |
| Aurora (xAI) | xAI |
| Speechmatics | Speechmatics |
| OpenAI (gpt-transcribe) | OpenAI |
| Google Gemini (Live + Flash) | Google |
The Models page shows these full names. The model pickers in the record and transcribe dialogs abbreviate some of them, so AssemblyAI's may appear simply as "Universal" and Soniox's as "STT v5".
With **Identify Speakers** off, OpenAI transcription uses `gpt-transcribe`. Turning it on switches the request to `gpt-4o-transcribe-diarize`, which is a different model that accepts neither custom vocabulary hints nor a language setting. Both are dropped for that transcription.
Gemini is a general multimodal model with no diarization flag. Vowen induces speaker labels by asking for them in the prompt and parsing them back out. This usually works, but if the model returns plain text without labels the transcript comes back undiarized rather than failing.
Groq has no diarization of its own. When you ask for speakers with a Groq model, Vowen strips the diarization flag from the request entirely and instead asks Groq for segment timings, then runs those segments through the **local** Pyannote pipeline to assign speakers.
Two consequences follow:
* **Groq diarization does not work on Linux**, because the local pipeline it depends on does not exist there. The option is not offered.
* Speaker quality with Groq comes from Vowen's on-device model, not from Groq.
Nemotron produces no token timings, so it cannot diarize at all. Asking it to fails with **"Speaker diarization is not supported by Nemotron."** Pick a different model for any recording where you want speakers.
Not diarization-capable: Sarvam, Cartesia, custom speech servers and Nemotron.
## Enabling diarization
The toggle is labeled **Identify Speakers**, with the description "Label different speakers in the transcript". It appears wherever a transcription is configured:
* **Notes settings > Recording Defaults**, which sets the default for every meeting you record
* **Transcribe settings > Defaults**, and again on the per-file transcribe dialog
* The **Regenerate Transcript** section in a note's or transcription's right sidebar, to re-run an existing recording with speakers on
* Watch folder rules
Turn it on **before** you record, or turn it on afterwards and regenerate the transcript from the saved audio.
### Number of speakers
Below the toggle is **Number of Speakers**, described as "Pin a known count to improve accuracy on short clips". The options are **Auto-detect** (the default) and a fixed count from **2 to 6**.
This setting is only honoured by the on-device pipelines, meaning local Whisper, Parakeet and Groq. **No cloud provider is ever sent a speaker count.** The selector is hidden when you have a cloud model selected, so if you cannot see it, that is why.
### Merge speaker segments
**Merge speaker segments** combines consecutive segments from the same speaker into a single block, so a long uninterrupted answer reads as one paragraph instead of a dozen short lines. It is **off by default** and lives next to the diarization settings on both **Notes settings > Recording Defaults** and **Transcribe settings > Defaults**. The setting is shared between meeting notes and the Transcribe page.
Merging is applied when the transcript is built, so it only affects **new** transcripts. Turning it on will not reflow transcripts you already have. To apply it to an existing recording, turn it on and then regenerate the transcript.
## Mapping speaker names
After transcription, speakers are labeled generically as `Speaker 1`, `Speaker 2` and so on. Rename them from the speakers panel in the right sidebar:
The speakers panel appears in the right sidebar whenever the transcript has more than one speaker.
As you type, Vowen suggests names drawn from every speaker name you have ever entered, across both meeting notes and manual transcriptions, plus the other speakers already named in this transcript. Pick one with the mouse or with the arrow keys and Enter.
Names are held locally until you save. The button reads **Saved** and is disabled once there is nothing pending.
Once a speaker has a real name, that person also appears in the **People filter** and the attendee avatars on the Notes page. See [organizing notes](/meeting-notes/overview#organizing-notes).
## Merging two speakers
One real person sometimes gets split across two labels, so `Speaker 2` and `Speaker 4` turn out to be the same person. Collapse them into one:
The speakers panel is in the right sidebar. The merge option only appears when there are at least two speakers, and not while a recording is still in progress.
Each speaker row has its own menu button, labeled "Merge this speaker into another speaker".
If there is nobody to merge with, the menu reads "No other speakers".
Every line from the source speaker is reassigned to the target, and the transcript text, segments and label map are rewritten together.
Merging speakers is destructive and cannot be undone. All lines from the source speaker permanently move to the target. The source speaker's custom name carries over if the target does not already have one.
To reassign a single line rather than a whole speaker, use **Reassign this line to** in that line's **Segment actions** menu. See [editing the transcript](/meeting-notes/summaries#editing-the-transcript).
## Tips for better speaker separation
* Use a good microphone. Clear audio helps the model distinguish speakers.
* Avoid talking over each other. Overlapping speech is the hardest case for every engine.
* Longer meetings give the model more data to work with than short clips do. If you must diarize a short clip, pin the speaker count.
* Vendors that ship diarization as a first-class feature, such as Deepgram, AssemblyAI and Speechmatics, tend to handle hard cases better than ones where it is inferred.
* On macOS and Windows, try the on-device pipeline before paying for a cloud provider. It costs nothing per minute and keeps the audio on your machine.
# Automatic meeting detection
Source: https://docs.vowen.ai/meeting-notes/meeting-detection
Let Vowen notice when a call starts and offer to take notes, and stop when the call ends.
With meeting detection on, Vowen watches which apps are using your microphone. When one of your
trigger apps starts a call, a banner appears offering to take notes. You never have to remember to
press start.
Detection is off by default. Turn it on in **Notes settings > Meeting Detection** with **Auto-detect
meetings**.
## The detection banner
When a trigger app takes the microphone and keeps it, a compact card appears near the recording
indicator. It carries the detected app's logo, a title reading **"Zoom meeting detected"** (or the
app that was matched), a live status line, and a split **Start Recording** button.
* Click **Start Recording** to begin taking notes with your default summary template.
* Click the chevron beside it to open a pop-over listing every summary template, with your default
ticked. Picking one starts the recording on that template.
* Click the X, or press Escape, to dismiss.
Choosing a template from the banner applies to **that recording only**. It does not change your
default template. This is different from the chevron on the **Start Taking Notes** button on the
Notes page, which does rewrite your default.
If you ignore the banner it dismisses itself after 30 seconds. Dismissing it, by any route, starts a
five minute cooldown for that app, so a call you deliberately chose not to record does not keep
asking.
## Trigger apps
Six apps ship as triggers. Each one has its own toggle under **Trigger apps** in
**Notes settings > Meeting Detection**, and each is on unless you turn it off.
| App | Notes |
| --------------- | --------------------------------------------------------------------------------------------------- |
| Zoom | |
| Microsoft Teams | |
| Webex | |
| Slack | Slack huddles and calls |
| Discord | Includes the PTB and Canary builds |
| Browser calls | Calls in Chrome, Safari, Edge, and other browsers, which covers Google Meet, Zoom Web and Teams Web |
Browser calls is one entry rather than one per site. Vowen sees that the browser has the microphone,
not which tab is using it, so Google Meet, Zoom Web, Teams Web and anything else in a browser all
arrive through this single toggle. Chrome, Chromium, Safari, Firefox, Edge, Brave, Arc, Vivaldi and
Opera are all recognized.
FaceTime is deliberately not a trigger app. Its background services hold the microphone even when
FaceTime is not open, so it cannot be detected without constant false positives.
### Adding your own
Click **Add app** under the trigger list to pick any installed application. Added apps get their own
row, tagged **Added by you**, with a toggle and a remove button.
### Apps that are not on the list
**Detect other apps** controls what happens when an application Vowen does not recognize starts
using the microphone. It is **on** by default, which shows the banner anyway. Turn it off to
restrict detection strictly to the apps in the list.
System components that open the microphone alongside whichever app actually asked for it, such as
the macOS Siri voice trigger, are never counted as an unknown app.
## Vowen never detects itself
Dictating in Vowen, running command mode, or recording meeting notes does not raise a detection
banner. Vowen's own processes are excluded on both sides of the detector: they are ignored when
looking for a meeting starting, and never watched for a meeting ending. Vowen's microphone helpers
are excluded too, which is why the level meter in the app no longer produces a phantom "meeting
detected" card.
This exclusion is not a setting and cannot be turned off.
## Auto-stop when the meeting ends
**Auto-stop notes when meeting ends**, also in **Notes settings > Meeting Detection**, watches the
other direction. While you are taking notes, Vowen tracks the microphone processes the meeting app
had when you started. When they all release the microphone and stay released, the meeting is over.
An **Ending meeting notes** card shows the meeting app's logo, a countdown reading **Ending in
15s**, and a progress strip along the bottom edge.
**End now** stops immediately and skips the rest of the countdown. **Keep taking notes**, or the
X on the corner, cancels the stop and carries on recording. Cancelling re-arms the watch, so it
can fire again later in the same session.
If the countdown runs out, notes stop exactly as if you had pressed stop on the indicator, and
the summary is generated normally.
Auto-stop is off by default and is independent of **Auto-detect meetings**. You can have Vowen stop
automatically without having it offer to start automatically, or the other way round.
Auto-stop only fires while notes are actively recording and not paused, and only once per prompt.
Brief microphone blips and audio device switches are debounced, so changing your headphones
mid-call does not end the recording.
## Requirements and limitations
Auto-detect meetings, auto-stop and the trigger app list are all Pro. The Free plan sees the
upgrade prompt.
Detection reads which processes hold the microphone. If macOS has not granted Vowen the
permissions it needs, detection cannot see anything. Check
**Settings > Permissions**.
Vowen requires the microphone to stay in use for a couple of seconds before it decides a call has
started, so a notification sound or a quick device test does not raise a banner. On Windows, the
fallback path scans the process list on a slower cadence than macOS, so the banner can take a
little longer to appear.
# The meeting panel
Source: https://docs.vowen.ai/meeting-notes/meeting-panel
A floating panel you can summon mid-meeting to ask questions, jot notes, and read the live transcript.
While Vowen is taking meeting notes, press `Cmd+\` on macOS or `Ctrl+\` on Windows to summon a small
floating panel. It has three tabs: ask the AI a question, jot context for the summary, or read the
transcript as it comes in. Press the same keys again to dismiss it, or press Escape.
The panel is excluded from screen capture. It will not appear in a screen share, a recording made by
another app, or in Vowen's own meeting screenshots. You can use it in the middle of a call you are
presenting in.
## Opening and closing it
The panel only exists during a meeting-notes session. Outside one, the shortcut is not
registered at all, so the key stays with whatever app you are using.
`Cmd+\` on macOS, `Ctrl+\` on Windows. It opens focused so you can start typing straight away,
centered on whichever display you are looking at, and floats above other windows including
full-screen apps. Once you have moved it, it stays where you put it.
Press the shortcut again, press Escape, or click the close button at the right of the action
bar. The panel remembers where you put it and which tab you were on.
**Turning the recording indicator off also turns the panel off.** Vowen treats the panel as an
extension of the floating indicator, not a surface of its own. If **Show floating indicator while
recording** is unchecked in **Notes settings > Recording Defaults**, the panel window is never
created and the shortcut is never registered. The shortcut row is greyed out to match. Turning the
indicator off in the middle of a meeting closes an open panel straight away.
## The three tabs
Switch tabs by clicking, or with `Cmd+1` / `Cmd+2` / `Cmd+3` on macOS and `Ctrl+1` / `Ctrl+2` /
`Ctrl+3` on Windows. Hold the modifier and the digit for each tab appears on its button. The number
row and the numeric keypad both work, and the shortcuts are keyed to physical key position, so they
work on AZERTY and other layouts where the digits need a modifier of their own.
Ask a question about the meeting so far. Each question pulls in the latest transcript, so
follow-ups stay in sync as the conversation moves. Answers stream in place. See
[Ask AI](/meeting-notes/ask-ai) for the full behavior, including how questions are answered when
real-time transcription is off.
This is the only Pro-gated tab. On a free plan it shows an upgrade card instead of the
conversation.
A plain text box for context you want the summary to take into account. Anything you type is
saved to this meeting and added to the AI summary prompt. It is the same field as the Notes tab
on the floating indicator and the **My Notes** tab on the finished note, so all three show the
same text.
The live transcript, grouped into readable paragraphs, following the tail unless you scroll up to
read. If real-time transcription is not running, a banner explains that the tab fills in each
time you ask a question, and the text appears after each catch-up.
## The action bar
The bar along the bottom of the panel holds the tabs on the left and the actions on the right.
Captures your screen and attaches it to your next question as visual context. Captured shots
appear as removable chips above the composer, and the button carries a badge with how many
screenshots this meeting has. If the selected AI model cannot read images, a warning chip says
so. Screenshot capture is available on macOS and Windows; on Linux the button reports that it is
not supported.
Flags the current moment so the summary emphasises what was just discussed. It stamps the
elapsed time, and when a live transcript is running it also keeps a short excerpt of what was
being said. The button carries a badge with how many moments you have marked. The marks are fed
to the summarizer when the meeting ends.
Appears on the Ask tab once the conversation has messages. It erases the live conversation, which
is shared with the floating indicator's Ask AI tab.
**You drag the panel by the action bar.** Dragging anywhere else does nothing. The bar is the only
part of the panel with no text to aim at, so dragging it can never fight with placing the caret in
the composer. The cursor changes to a grab handle over it.
## Changing the shortcut
The panel shortcut is rebound from the **Notes settings**, not from Settings > Shortcuts.
Go to **Notes** in the sidebar and open the settings gear, then the **Recording Defaults** tab.
It sits with the live-transcript settings. The toggle beside it enables or disables the
shortcut.
Record a new combination in the dialog. It must include a modifier such as Ctrl, Cmd, Alt or
Shift, because it is registered as a system-wide shortcut. Mouse buttons cannot be used, and
Vowen will not let you pick a combination another Vowen shortcut already owns.
The row is greyed out and cannot be edited while the floating indicator is turned off, because the
shortcut would never fire.
## Pro gating
Only the **Ask** tab is Pro. The Notes and Transcript tabs, the screenshot button and the
mark-important button all work on every plan.
# Meeting Notes Overview
Source: https://docs.vowen.ai/meeting-notes/overview
Record and summarize meetings without a bot joining the call.
Meeting Notes works on the Free plan, with a cap of 10 saved notes. The Pro plan lifts that cap and unlocks meeting detection, real-time preview, custom templates, Ask AI, sharing, watch folders and more. See the plan matrix.
AI provider required. Meeting Notes uses your configured AI provider to generate summaries, action items, and decisions from each recording. Set one up under Configure your AI in the sidebar.
## What Meeting Notes does
Meeting Notes records system audio (what others say) and your microphone (what you say) during any meeting or call. After the meeting, it:
* Transcribes the full conversation
* Generates an AI summary
* Identifies speakers, on-device or in the cloud (see [diarization](/meeting-notes/diarization))
* Extracts action items and key decisions
**No bot joins the call.** No banner appears to other participants. It works with any app that produces audio: Zoom, Teams, Meet, Slack Huddles, Discord calls, and more.
### How it differs from regular transcription
| | Regular transcription | Meeting Notes |
| ------------ | ---------------------------- | ---------------------------------------------------------------------------------------------- |
| Audio source | Microphone only | System audio + microphone |
| Duration | Seconds (single phrases) | Minutes to hours |
| Output | Raw text, pasted immediately | Full transcript + AI summary |
| Speakers | Single speaker (you) | Multiple speakers identified ([supported models](/meeting-notes/diarization#supported-models)) |
| Storage | Voice log entry | Dedicated Notes section |
## Requirements
* **macOS:** Screen Recording permission granted, so Vowen can capture system audio
* **Windows:** no special permissions needed
* An [AI provider](/ai-features/ai-setup) configured. Without one, a recording still produces a transcript but no summary.
* A transcription model. Any model works. Speaker identification needs a [supported model](/meeting-notes/diarization#supported-models), which on macOS and Windows includes the on-device ones.
## Quick start
macOS only. Vowen prompts for it the first time you start a recording.
Open **Configure your AI** in the sidebar and connect a provider. See [AI setup](/ai-features/ai-setup).
Open the **Notes** page and click the gear ("Notes settings"). The **Recording Defaults** tab holds the microphone, transcription model, language, **Identify Speakers**, AI summary provider and default template. Your choices persist to the next recording.
Click **Start Taking Notes** on the Notes page, or use any of the [other ways to start](/meeting-notes/recording#starting-a-recording).
Vowen transcribes and summarizes automatically once you stop.
Turn on **Identify Speakers** for any meeting with more than one person. With diarization on, action items in your summary get attributed to specific people instead of appearing as a generic list.
## Explore Meeting Notes
Every way to start, what gets captured, screenshots, pause and stop
Per-app triggers and the banner that offers to start recording for you
How summaries are generated, citations, and working with a saved note
The built-in template library and writing your own
Identifying who said what, on-device or in the cloud
Question a meeting live or after the fact, with saved conversations
The full-size in-meeting surface and its shortcut
Public share links, and what they do and do not protect
Drop a recording into a folder and get a finished note
## Plans and limits
| | Free | Pro |
| -------------------------------------------------------------------- | ---- | --------- |
| Saved meeting notes | 10 | Unlimited |
| Delete a note to free up a slot | No | Yes |
| Pause and resume a recording | Yes | Yes |
| [Speaker diarization](/meeting-notes/diarization) | No | Yes |
| [Real-time preview](/meeting-notes/recording#real-time-preview) | No | Yes |
| [Meeting detection](/meeting-notes/meeting-detection) and auto-stop | No | Yes |
| [Ask AI](/meeting-notes/ask-ai) | No | Yes |
| [Custom templates](/meeting-notes/templates) and custom instructions | No | Yes |
| [Summary citations](/meeting-notes/summaries#summary-citations) | No | Yes |
| Import an audio or video file | No | Yes |
| Export to PDF, text or Markdown | No | Yes |
| [Public share links](/meeting-notes/sharing) | No | Yes |
| [Watch folders](/meeting-notes/watch-folders) | No | Yes |
| Obsidian, webhooks and other integrations | No | Yes |
**Everyone is capped at 100 stored meeting notes, on every plan.** When you save the 101st note, the oldest one is dropped automatically. Export anything you need to keep. The audio files in `Documents/Vowen Recordings` are not deleted by this, only the note entries.Free users cannot delete meeting notes, so the 10-note limit cannot be recycled by clearing out old ones. Upgrading to Pro restores deletion.
## Organizing notes
The **Notes** page gives you several ways to find a note once your list gets long.
### Tags
Add tags to any completed note from its card. Click **add tag**, then create a new tag or reuse an existing one. Tags are shared across all notes and can be given colors. Manage them (rename, recolor, delete) from the tag bar above the list. Deleting a tag only removes it from your notes. It never deletes the notes themselves.
A [template](/meeting-notes/templates) can also carry tags, in which case notes recorded with it are tagged from the moment they are created rather than after the summary lands.
### Filtering and sorting
Above the notes grid you will find:
* A **tag filter bar**. Click **All** to clear filters, or click tags to filter by them. With two or more tags selected, a **Match: Any / All** toggle decides whether a note needs *any* of the selected tags or *all* of them.
* A **search box** that matches note titles and summaries.
* A **People filter**. Once you have named speakers in your notes, this dropdown lists everyone who has appeared and filters the grid to notes that include any of the people you pick. It only shows up when at least one named person exists. Generic `Speaker 1` labels do not count.
* A **Sort** dropdown: **Newest first** (default), **Oldest first**, **Recently tagged**, **Title A to Z**, or **Title Z to A**.
Notes are also grouped under date headings so you can scan by when they happened.
### Attendees on each card
Notes where you have named speakers show an avatar stack of attendees on the card, with overlapping colored initials that fan out on hover and a "+N" badge when there are more than fit. Hover any avatar to see the full name. As with the People filter, attendees come from the human names you have assigned to diarization speakers.
### Selecting several notes at once
Select notes on the grid to reveal a bulk action bar, which can tag or export the whole selection in one pass.
Connect Groq, OpenAI, Anthropic, Gemini, or any of 10+ supported providers.
# Recording Meetings
Source: https://docs.vowen.ai/meeting-notes/recording
Every way to start a meeting recording, what gets captured, and how to control a session in progress.
AI provider required for summaries. The recording and transcript work on their own, but the AI summary that follows needs a configured provider. Set one up under Configure your AI.
Before you start, check your defaults under the gear ("Notes settings") at the top right of the **Notes** page. The **Recording Defaults** tab holds the microphone, transcription model, language, **Identify Speakers**, AI summary provider and default template.
## Starting a recording
There are six ways to start a meeting recording.
Open the **Notes** page and click **Start Taking Notes** in the top right. Recording begins immediately, using your default template.
The button is a split button: the chevron on its right opens a **Default template** menu.
Picking a template from that chevron menu does **not** start a recording, and it does not apply to just the next meeting. It rewrites your **global default template** for every future recording. To use a template once without changing your default, start from the [meeting detection banner](#the-meeting-detection-banner) instead.
The menu also has a **Manage templates** row, which opens Notes settings on the **Templates** tab.
Open the Vowen tray icon (Windows) or menu bar icon (macOS) and click **Start Meeting Notes**. The item only appears when nothing is recording. Once a session is running it is replaced by **Pause Meeting Notes** and **Stop Meeting Notes**.
This is the only visible control when the [floating indicator](#the-recording-indicator) is turned off.
The shortcut is listed as **Start New Note** in [Settings > Shortcuts](/features/shortcuts). The default is `Cmd+Shift+N` on macOS and `Alt+N` on Windows and Linux, but it is **off by default**, so you have to enable it before it does anything.
Pressing the shortcut again does not stop the recording. Use the indicator, the tray, or the in-app stop control to stop. See [stopping a recording](#stopping-a-recording).
When Vowen notices you have joined a call, it raises a banner reading **"\[App] meeting detected"** carrying the detected app's own logo. Click **Start Recording** to begin, or dismiss it with the close chip (`Esc`).
The Start button here is also a split button, and its chevron opens a **Template** menu. Unlike the Notes page button, picking a template here starts the recording immediately with that template applied **to this session only**. Your global default is untouched.
Meeting detection is a Pro feature and is configured per app. See [Meeting detection](/meeting-notes/meeting-detection).
When the floating pill is idle on screen, it carries a **New note** button. Click it to start recording. Hovering it for a moment opens a template picker, plus a **Manage templates** row.
A folder can be watched so that any audio or video file dropped into it is turned into a finished meeting note automatically, with the same transcription, summary and integrations as a live recording. See [Watch folders](/meeting-notes/watch-folders).
## What gets captured
When a recording is active, Vowen captures:
1. **System audio:** everything playing through your speakers or headphones, including the other participants and any shared audio
2. **Microphone:** what you say during the meeting
Both streams are combined into a single recording for transcription. No bot joins the call and no banner is shown to other participants.
System audio capture is controlled per template by its **Capture system audio** setting. Turning it off makes the template microphone-only, which is what you want for a dictated voice memo but not for a call. See [Templates](/meeting-notes/templates).
Your machine is also prevented from sleeping for the duration of the recording, and regular push-to-talk dictation keeps working alongside an active meeting session.
The **When recording starts** option under **Settings > Recording**, which can mute system audio or pause whatever is playing, applies to **dictation** recordings only. It does not fire for meeting notes, where silencing the call would remove the other participants from the recording.
### Echo cancellation (macOS)
On macOS, Vowen runs the meeting microphone through an echo-cancelling capture path so the other participants coming out of your speakers are not also picked up by your mic. There is no toggle for this. It is always on where it can be, and it falls back silently to the ordinary microphone where it cannot.
It applies when all of the following hold:
* You are on **macOS 14 or later**. Both Intel and Apple silicon are supported.
* The template has **Capture system audio** on. With system audio off, the bleed through your microphone is the only record of the far end, so cancelling it would throw away half the meeting.
* Your input device actually has an acoustic echo path. Vowen disables cancellation automatically on headphones, Bluetooth devices, and and virtual or combined audio devices.
If you change your audio output mid-meeting, the capture path is rebuilt around the new device.
### Microphone selection and ranking
The microphone used for meetings is set on the **Recording Defaults** tab of Notes settings, under **Microphone**.
By default, meetings follow your global microphone ranking, and the row reads "(Global default)". Vowen walks that ranked list and uses the first device that is actually present, so unplugging a headset falls through to the next choice rather than failing.
Give meetings their own separate order:
This forks a copy of your global order for meetings. It does not open an editor.
Now that a meetings-specific list exists, **Edit order** opens the **Microphone — Meetings** reorder dialog. Changes you make to the global list from this point on no longer affect meetings.
This discards the meetings-specific order and goes back to following the global one. Vowen asks for confirmation first.
## During the recording
### The recording indicator
While a note is recording, a floating pill sits in the corner of your screen. Pause and Stop are always visible on it, and the pill does not change size when you hover it.
At rest it shows:
* A live **level meter**, so you can see at a glance that audio is actually arriving
* An **ambient glow** around the pill
* A **status label** reading **Recording** or **Paused**
* An **elapsed timer**
* The **Pause** and **Stop** buttons
Hovering the pill opens a card below it, without resizing the pill itself. The card has:
* A **Notes** tab for [jotting context](#add-context-mid-meeting)
* An **Ask AI** tab, when [Ask AI](/meeting-notes/ask-ai) is available
* A **Mark important** button, with a count badge once you have used it
* A **Capture screen for AI context** button, with a count badge once you have captured something
You can drag the pill anywhere and it remembers where you put it. Hovering is deliberately disarmed for the first couple of seconds after the pill appears, so it never pops open on its own as you move the cursor away.
To hide it, turn off **Show floating indicator while recording** on the **Recording Defaults** tab of Notes settings.
Turning the indicator off also disables the [meeting panel](/meeting-notes/meeting-panel) and its shortcut, because the panel is an extension of the indicator. If you toggle it off mid-meeting, an already-open panel closes.
### Real-time preview
Turn on **Show real-time transcription preview** on the **Recording Defaults** tab of Notes settings to stream live text into the meeting notes page while you record. It is off by default.
This is a different setting from **Real-time transcription preview** under Settings > Recording. That one is the preview for push-to-talk dictation and has no effect on meeting notes.
The preview needs a transcription model that can stream. If your selected model cannot, the setting explains that no preview will appear. The final transcript is generated when you stop either way, so the preview never changes what you end up with.
### Add context mid-meeting
Use the **Notes** tab on the indicator's hover card (or on the [meeting panel](/meeting-notes/meeting-panel)) to jot quick context for the AI while the meeting is happening, such as *"this is a follow-up to last week's pricing call"* or *"Priya is the new PM"*. The text auto-saves and is fed into the summary prompt after the recording stops.
Everything you write here is kept on the note and stays editable afterwards on its **My Notes** tab. See [working with a note](/meeting-notes/summaries#working-with-a-note).
### Capture a screenshot
Press the **Capture screen for AI context** button on the indicator or the meeting panel to attach a screenshot to the note. Screenshots are handed to the summarizer as vision context, so a shared slide or a diagram on screen can inform the summary.
* **Manual only.** Vowen never captures your screen on a timer or in the background. Every screenshot is one you pressed a button for.
* It captures **the display your cursor is currently on**, not the primary display. Move your pointer onto the screen you want before pressing.
* Your mouse cursor is excluded from the image, and no shutter sound plays.
* **macOS** uses the system `screencapture` tool, which needs Screen Recording permission. **Windows** captures at the display's native pixel size so text stays legible for vision models. **Linux is not supported**, and the button reports "Not supported on this platform".
The button carries a count badge showing how many screenshots are attached.
Screenshots are dropped when your summary provider is a [CLI agent](/meeting-notes/summaries#claude-code-and-codex-as-summary-providers) such as Claude Code or Codex, which read a single text prompt and are deliberately run without filesystem access.
### Mark an important moment
Press **Mark important** to stamp the current point in the meeting. Each mark records the elapsed timestamp, and when real-time transcription is running it also captures a short excerpt of what was just said.
Marked moments are injected into the summary prompt with an instruction to give them extra weight, so they show up prominently in the finished summary. The button carries a count badge, and its tooltip reports how many moments you have marked.
### The meeting panel and Ask AI
The indicator's hover card is the compact surface. For a full-size in-meeting view with larger tabs and its own shortcut, see [the meeting panel](/meeting-notes/meeting-panel). For asking questions during or after a meeting, see [Ask AI](/meeting-notes/ask-ai).
## Pausing and resuming
Pause and resume are available on every plan. No audio is captured while paused, and the indicator's timer freezes so the on-screen state always matches what is actually being recorded. Live preview and Ask AI's catch-up buffer pause with it.
You can pause and resume from:
* The **Pause** / **Resume** button on the [recording indicator](#the-recording-indicator)
* The **Pause** / **Resume** button on the recording bar of the note detail page in the app
* The tray or menu bar, via **Pause Meeting Notes** and **Resume Meeting Notes**
## Stopping a recording
* Click **Stop** on the recording indicator
* Click **Stop** on the recording bar in the app
* Open the tray or menu bar and click **Stop Meeting Notes**
Pressing the Start New Note shortcut again does not stop the recording.
### Auto-stop when the meeting ends
Vowen can notice when your meeting app turns off the microphone, meaning the call ended, and stop recording for you. An **Ending meeting notes** banner appears with a 15-second countdown and two buttons:
* **End now** stops immediately and processes the note
* **Keep taking notes** cancels the auto-stop and keeps recording. Vowen re-arms detection for the next time the mic is released.
If you do not respond, recording stops when the countdown finishes.
Turn it on with **Auto-stop notes when meeting ends** on the **Meeting Detection** tab of Notes settings. It is off by default.
## After recording stops
The recording is transcribed with your selected model. This takes a moment for longer meetings. You can regenerate the transcript later with a different model.
The transcript, along with any context notes, marked moments and screenshots, is sent to your [AI provider](/ai-features/ai-setup) and summarized using your selected [template](/meeting-notes/templates). If the first attempt fails, Vowen [retries automatically](/meeting-notes/summaries#when-a-summary-fails).
The note is saved with its transcript, summary and audio file, and appears in the **Notes** section. See [working with a note](/meeting-notes/summaries#working-with-a-note).
## Importing an audio or video file
Click **Import** on the Notes page to turn a pre-recorded audio or video file into a full meeting note, transcript and summary included, exactly as if you had recorded it live. The **Import Audio / Video** dialog accepts drag-and-drop or a file browser, and takes several files at once. Each file becomes its own note.
The dialog has an optional **Meeting date** field. Leave it empty to use the current time, or set it to when the meeting actually happened so the note sorts and groups correctly in the date-organized Notes list.
To do this automatically for everything dropped into a folder, use [watch folders](/meeting-notes/watch-folders) instead.
## The audio file
The audio for every meeting note is saved locally to `Documents/Vowen Recordings` in your home folder, on both macOS and Windows. This file is the source of truth for the note. Every transcript or summary regeneration starts from it.
The saved file lets you:
* Play back specific sections from the note's audio player
* Regenerate the transcript with a different model
* Re-summarize with a different AI provider or template
You can delete the audio file at any time from your file manager. Once deleted, the note's existing transcript and summary stay in place, but you can no longer regenerate either of them.
## Tips
* Start recording before the meeting begins, so greetings and context are captured
* Turn on **Identify Speakers** for any meeting with more than one person
* Keep your microphone unmuted so your voice is captured alongside the others
* Bluetooth headphones work fine, though echo cancellation is skipped on them because they have no acoustic echo path to cancel
Connect Groq, OpenAI, Anthropic, Gemini, or any of 10+ supported providers.
# Share links
Source: https://docs.vowen.ai/meeting-notes/sharing
Publish a meeting note as a public link anyone can open.
Public share links are a Pro feature. The Free plan can open links other people send, but cannot create its own.
## Overview
Publish any meeting note as a page at `https://share.vowen.ai/n/`, where `` is a 22-character
random string. Send the URL to anyone. They do not need Vowen, an account, or a login.
The published page shows the note's title, its date, its length, the speakers it found, and then the
summary and the transcript as two tabs. Visitors get a copy-link button, a copy-text button and a
light/dark toggle. The page carries `noindex, nofollow, noarchive`, so search engines will not list it.
## Publishing a note
Go to **Notes** in the left sidebar and click the meeting note you want to publish.
The **Share** button sits in the note's header. It opens a dialog summarising what is about to be
published and what is held back.
Click **Create public link**. Vowen uploads the note and copies the URL to your clipboard, then
confirms with a "Public link created and copied" toast.
Once a note is shared, the header button changes to **Shared**, and clicking it reopens the dialog
with the URL, an **Open** button, an **Update** button and **Delete link**.
A note must have a summary or a transcript before you can share it. A note that is still
processing, or one recorded with a transcript-only template that has not been transcribed yet, is
rejected with "This note has no summary or transcript to share yet."
## What is published
Vowen builds the upload from an allowlist in code, not from the note record as a whole. Only these
fields are ever sent:
| Field | What it is |
| -------------- | --------------------------------------------------------------- |
| Title | The note's title |
| Date | The note's timestamp |
| Summary | The summary markdown, including any edits you made |
| Transcript | The transcript segments, with their start and end times |
| Speaker labels | The speaker names as you renamed them |
| Tags | The names of the note's tags |
| Duration | Derived from the last transcript segment, not stored separately |
Your app language is sent too, so the page renders its date in the same locale.
## What is never published
These are excluded deliberately, and the exclusion is enforced twice: once when Vowen builds the
upload, and again on the server, which rebuilds the payload from its own allowlist before anything
is written to storage.
* The audio recording
* The video recording, if you recorded the screen
* Meeting screenshots
* **My Notes** (the context you typed during the recording)
* **Ask AI** conversations
* Important moments you marked during the recording
* Speaker voice embeddings and automatic speaker labels
* The Obsidian folder path the note was exported to
* Which summary template produced the note
## Security model
**The link is the password.** There is no second factor and no access list. Anyone who has the URL
can read the note, including anyone it gets forwarded to.
The note is stored on Vowen's server as **plain JSON**. It is **not** end-to-end encrypted. The
encryption in the share system protects your licence key in transit, not the note content, and
Vowen can read what you publish.
Do not publish a note you would not be comfortable with a stranger reading. If a link leaks, delete
it (see below) rather than assuming the URL is too long to find.
The id is 22 base62 characters, roughly 131 bits of randomness, so guessing a valid URL is not a
practical attack. The realistic risk is the link being forwarded, pasted into a shared channel, or
left in a document.
## Updating a shared note
One note has one link, for its whole life. If you edit the summary, rename a speaker, or retag the
note and then click **Update** in the share dialog, the same URL now shows the new version. You do
not have to send a second link.
Edits in the app do not reach the published page on their own. Fix the note, then reopen the share
dialog and click **Update**.
The page is never cached, so an update is live for everyone the moment it finishes.
## Deleting a link
In the share dialog, click **Delete link**, then click again to confirm.
The note content and the social preview image are deleted from the server straight away. The URL
itself starts returning **HTTP 410 Gone** with a page reading "This link was deleted", so whoever
opens it learns the link was taken down rather than that they mistyped it. After **30 days** the
record is purged entirely and the URL falls back to a plain 404.
Deleting a link is not reversible in place. If you share the same note again afterwards you get a
brand new URL, and the old one stays dead. Handing the same address back out would silently
un-delete the note for everyone who still had it.
Deleting the link does nothing to the note itself. The note, its audio and its transcript all stay
on your machine.
## Links do not expire
A live share link has no expiry date. It stays up until you delete it. The 30-day window described
above applies only to links you have already deleted.
## Across your devices
The share id and URL are stored on the note record, so they travel with
[cloud sync](/features/cloud-sync) like any other note field. A note you shared on your laptop shows
as **Shared** on your desktop, with the same link.
Whenever you open the share dialog, Vowen checks with the server whether the link is still live. If
you deleted it from another device, the local record is cleared and the note stops advertising a
dead link. If you are offline the check is skipped and the link you have locally is shown as-is.
## Limits
Once you have 200 live links, creating another is refused with "You have reached the limit of
active share links. Delete one to create another." Deleted links do not count.
Counted per UTC day, and only for links that are genuinely new. Pressing **Update** on an
existing link does not consume any of the 50.
Summary plus transcript text. A three-hour meeting lands around 150 KB, so normal use does not
run into this. Oversized notes are refused rather than published truncated, so you never hand out
a silently clipped copy of a meeting.
## Troubleshooting
Share links require an active Pro licence, and Vowen re-checks the licence on the server for
every create and delete. The Free plan cannot publish.
Vowen could not seal a valid licence credential for the request. Open **Settings > Account** and
confirm your licence is still active, then try again.
A transient failure verifying the licence. Wait a moment and retry. Nothing was published.
Vowen renders a per-note preview image and uploads it separately from the note itself. If the
card fails to render or upload, you still get your link. When there is no card the page falls
back to a generic Vowen image. Press **Update** to try generating it again.
The link was revoked, either by you or from another one of your devices. Share the note again to
mint a fresh link, then send the new URL.
# Summaries & Notes
Source: https://docs.vowen.ai/meeting-notes/summaries
How Vowen turns a meeting transcript into a summary, and everything you can do with the finished note.
AI provider required. Summaries are generated by your configured AI provider. Set one up under Configure your AI.
## How summaries work
After a meeting recording is transcribed, Vowen sends the transcript to your AI provider and asks for a structured summary. With the default **Meeting Notes** template, that includes key discussion points, decisions made, action items with owners (when speakers are identified) and follow-ups.
Alongside the transcript, Vowen also sends:
* Anything you typed on the **Notes** tab during the meeting, as user-supplied context
* Every moment you [marked as important](/meeting-notes/recording#mark-an-important-moment), with an instruction to give those points extra weight
* Any [screenshots](/meeting-notes/recording#capture-a-screenshot) you captured, as vision context
The shape of the output comes entirely from the template. A stand-up does not need the same structure as a customer discovery call, so pick the right template before you record.
Vowen titles each note for you. **Do not write `TITLE:` in your own template prompt.** Doing so produces a duplicated header in the finished summary. The in-app hint in the template editor still asks for it. Ignore that hint, it is out of date.
## Custom templates
Templates control the structure of every summary. Vowen ships a large built-in library covering meeting recaps, action items, executive briefs, stand-ups, retrospectives, sales calls, user interviews, one-on-ones, lecture notes and more, and on Pro you can write your own.
Templates also carry settings beyond the prompt, including whether to capture system audio, which tags to apply, the summary language, and whether to generate an AI summary at all.
The full library, writing your own prompts, and every per-template setting.
## Summary citations
Summary citations are a Pro feature. It is opt-in and off by default.
Turn on **Summary citations** on the **Recording Defaults** tab of Notes settings to have the AI cite the transcript inline as it writes.
Each citation renders as a small **timestamp pill** in the summary. Clicking one switches to the **Transcript** tab, scrolls to the cited segment, briefly highlights it, and cues the audio player to that moment. It does not start playback, so you decide whether to listen.
Citations survive editing the transcript. If you later reword or restructure it so far that a citation no longer matches anything, clicking it tells you the passage could not be found rather than jumping somewhere wrong.
Citations need the transcript to be small enough for the summary model to hold alongside the summary it is writing, so a very long meeting may come back without them. When that happens the summary is generated normally, just without the pills. At most one citation appears per line.
A template can opt out of citations independently of the global setting. The shipped **Follow-Up Email Draft** template does, because timestamp pills would ruin a send-ready email.
When you export a note, citations can be stripped entirely or converted to plain `[12:04]` timestamps.
## Claude Code and Codex as summary providers
As well as the usual API-key providers, Vowen can use **Claude Code** or **Codex** as the summary provider. Unlike every other option, these are detected on your machine rather than connected with an API key.
If the CLI is installed and runs, Vowen offers it in the provider list. There is no key to paste, because you are already signed in to the CLI itself. If one you have just installed does not show up, give it a moment and check that it runs from your terminal.
Both agents run with their own tools turned off, so they only ever see the summary Vowen asks them to write, and cannot touch anything else on your machine.
**Screenshots are dropped when the summary provider is a CLI agent.** These agents only receive text. If you rely on screenshot context, use an API-key provider for that note.
## Regenerating a summary
If a summary is not quite right, regenerate it from the right sidebar of the note:
Click it in the **Notes** list.
It is in the right sidebar. If the note has no summary yet, the section reads **Generate Summary** instead.
The section holds an AI provider grid and a template grid.
The current summary is replaced by the new one.
Regenerate when you want a more capable model, when you want a different structure, or when the first attempt came out off-target.
You can also regenerate the **transcript** from the sidebar's **Regenerate Transcript** section, picking a different transcription model and adjusting **Identify Speakers** and the speaker count. That re-transcribes the saved [audio file](/meeting-notes/recording#the-audio-file), so it only works while the audio still exists.
If a summary feels cut short or off-target, try regenerating with a more capable model before re-recording the meeting.
## When a summary fails
Vowen retries a failed summary automatically before giving up.
* The automatic pass after a recording makes **3 attempts**, waiting **2 seconds** after the first failure and **4 seconds** after the second (a linear backoff).
* Regenerating a summary by hand makes **2 attempts**, with a single 2-second wait.
Vowen fails fast and does not retry at all when the error is permanent:
* HTTP status **400, 401, 403, 404, 413** or **422**
* An unsupported or unconfigured AI provider
* CLI agent problems, such as the binary not being found on the machine, the CLI not being signed in, or it failing to start
Everything else is retried, including rate limits, server errors and overload responses.
When every attempt fails, the reason is saved on the note and shown in the UI. The note reads **"Summary failed to generate. You can retry below."** with the underlying error behind a **"What went wrong?"** disclosure, and the note opens on the **Transcript** tab so your transcript is still front and center. The audio recording is always preserved in `Documents/Vowen Recordings`, so nothing is lost.
For transcription failures rather than summary failures, switch to a more accurate model such as Deepgram Nova 3 or AssemblyAI Universal-3.5 Pro and regenerate the transcript.
## Working with a note
Open a meeting note from the **Notes** list to review, edit and reprocess it.
### Tabs
A note has up to four tabs:
| Tab | Shortcut | What it holds |
| -------------- | ------------------ | ------------------------------------------------------------- |
| **Summary** | `Cmd+1` / `Ctrl+1` | The generated summary, fully editable |
| **Transcript** | `Cmd+2` / `Ctrl+2` | The full transcript with per-segment editing |
| **My Notes** | none | The context you typed during the meeting |
| **Ask AI** | `Cmd+3` / `Ctrl+3` | [Ask AI](/meeting-notes/ask-ai) conversations about this note |
The **My Notes** tab only appears when the note has context notes on it, or while you are already on it.
The tab shortcuts are keyed to the **physical** key positions, including the numeric keypad, so they work on layouts such as AZERTY where the unshifted number row does not produce digits. `Cmd+3` always goes to **Ask AI**, even when **My Notes** is showing in third position. My Notes has no shortcut of its own.
### The My Notes tab and its Regenerate button
This tab holds whatever you jotted on the indicator or panel during the meeting. It stays editable afterwards.
The **Regenerate summary from notes** button re-runs the whole summary with your edited notes as framing context, then drops you back on the **Summary** tab. It saves any pending edits to your notes first, so you never regenerate against a stale version. It needs a transcript to work.
### Editing the summary
The summary is a rich block editor. Click into it and type, and edits save automatically.
* Type **`/`** anywhere to open the block menu: **Text**, **Heading 1**, **Heading 2**, **Heading 3**, **Bulleted list**, **Numbered list**, **To-do list**, **Quote**, **Code block**, **Divider** and **Image**. The menu filters as you type and is keyboard-drivable with the arrows, Enter and Tab.
* Insert an **image** by URL, or by picking, dragging or pasting a local file. Local images are copied into Vowen's own storage so they stay with the note even if you move or delete the original.
### Find and replace
Both the summary and the transcript support find and replace, using the same bar.
* `Cmd+F` / `Ctrl+F` opens find
* `Cmd+Shift+F` / `Ctrl+Shift+F` opens it with the replace row already showing
* **Replace** (or `Enter`) replaces the current match. The **All** button (or `Shift+Enter`) replaces every match.
**Replace All is a single undo step.** However many matches it changes, one `Cmd+Z` puts them all back.
### Editing the transcript
Each transcript line has a **Segment actions** menu with:
* **Reassign this line to**, listing the other speakers plus a **New speaker** option
* **Split at caret**, which breaks the segment at your cursor position. Place the caret inside the text first.
* **Merge with line above**, disabled on the first line
* **Delete segment**
These are structural edits to the transcript, and each is a single undo step.
### Speaker names
If you recorded with [diarization](/meeting-notes/diarization) on, the right sidebar lists the speakers as `Speaker 1`, `Speaker 2` and so on. Type a real name over any of them. Vowen suggests names as you type, drawn from every speaker name you have ever entered across your notes and transcriptions.
Names are not saved as you type. Click **Save Changes** in the sidebar to persist them. The button reads **Saved** and is disabled once there is nothing pending.
See [diarization](/meeting-notes/diarization#mapping-speaker-names) for merging two labels that turned out to be the same person.
### The audio player
The note's audio player has:
* **Playback speed** in seven steps: 0.5x, 0.75x, 1x, 1.25x, 1.5x, 1.75x and 2x. Press `<` and `>` to step through them. Pitch is preserved, so voices do not distort. Your chosen speed is remembered across notes.
* **Skip** controls that jump backward and forward by **10 seconds**
Clicking a transcript segment or a [citation pill](#summary-citations) cues the player to that moment.
### Exporting
Click **Export** on a note to save it outside Vowen. The dialog offers a live preview and lets you choose:
* **Summary** or **Transcript** as **PDF**, **plain text (.txt)** or **Markdown (.md)**, with an optional title and date header
* **Transcript** as subtitles, **SubRip (.srt)** or **WebVTT (.vtt)**, one cue per spoken segment with speaker names where available. Only offered when the transcript has per-segment timing.
* **Audio** as **MP3**, **M4A (AAC)** or **WAV**, with a quality option. An estimated file size is shown first.
To export several notes at once, select them on the **Notes** page and use **Export** in the bulk action bar.
To publish a note as a link instead of a file, see [sharing](/meeting-notes/sharing).
## Where notes are stored
Meeting notes are stored locally, in Vowen's own folder:
* **macOS:** `~/Library/Application Support/Vowen/`
* **Windows:** `%APPDATA%\Vowen\`
Each note keeps:
* Its title, and whether you edited it by hand
* The date and time it was recorded, and the day it is grouped under
* The full transcript, with per-segment timings
* The AI summary, or the error that stopped one being generated
* A reference to the audio file
* The names you assigned to diarized speakers
* The text from the **My Notes** tab
* The screenshots captured during the meeting
* The moments you marked as important, each with an excerpt when live transcription was running
* The tags applied to the note
* Its [public share link](/meeting-notes/sharing), and whether you have revoked it
[Ask AI](/meeting-notes/ask-ai) conversations are **not** stored on the note. They are kept separately, alongside it. Deleting a note deletes its conversations with it.Only the most recent **100** meeting notes are kept, on every plan. See [plans and limits](/meeting-notes/overview#plans-and-limits).
# Summary templates
Source: https://docs.vowen.ai/meeting-notes/templates
Shape every meeting summary with a ready-made or custom template.
## Overview
A summary template decides what a meeting note turns into. It carries the prompt the AI is given, and
a handful of settings that apply to every recording made with it: which tags the note gets, whether
system audio is recorded at all, which language the summary is written in, and whether a summary is
generated at all.
Vowen ships with one built-in template, **Meeting Notes**, which everyone gets. On top of that there
is a library of **44** ready-made templates you can install and edit, and you can write your own from
scratch.
Templates live in **Notes** in the left sidebar, then the gear icon in the toolbar, then the
**Templates** tab.
## The template library
Browsing the library is free. **Adding** a template from it is a Pro feature.
Click **Add from library** at the top of the Templates tab. Writing a good summary prompt is fiddly,
and the shipped ones are already tuned, so the library beats starting from scratch.
Search by name, description or section heading. Typing "action" finds the templates with an
Action items section, not just the one called Action Items Only.
Click any card to see its full section list, each section's instruction, any caveat the template
carries, and, under **View full prompt**, the exact prompt it will send.
Click **Add to my templates**, or **Add** on the card itself. The template is copied into your
own list, where it is yours to rename and rewrite. Nothing stays linked to the library copy.
Installed templates show as **Added** in the library, with a **Remove** link that takes them back out
again. A template you have added but then renamed still shows as Added, because the match is on the
underlying library entry rather than the name.
### What is in the library
The 44 templates cover nine areas:
| Area | Examples |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Essentials | Meeting Recap, Action Items Only, Executive Brief, Decision Log, Q\&A Recap |
| Team and project | Daily Standup, Project Kick-Off, Project Status Update, Retrospective, Brainstorm Capture, All-Hands / Town Hall, In-Person Meeting |
| Sales and revenue | Sales - Discovery, Sales - BANT, Sales - MEDDPICC, Sales - SPICED, Demo Call, Follow-Up Email Draft, Deal / Pipeline Review |
| Customer success | Customer Onboarding, Quarterly Business Review, Renewal & Churn Risk, Support Troubleshooting Log |
| Product and research | User Interview, Usability Test Session, Product Spec Draft, Feature Feedback, Incident Post-Mortem |
| Engineering | Technical Design Review, Bug Triage |
| People and leadership | One-on-One, Candidate Interview Scorecard, Board Meeting Minutes, Investor Update, Strategy & Planning |
| Learning and personal | Lecture Notes, Study Notes, Podcast / Interview Notes, Voice Journal, Doctor's Appointment |
| Specialized | Clinical Note (SOAP), Therapy Session (DAP), Legal Client Intake, Property Viewing |
Some carry their own caveats in the preview. **Follow-Up Email Draft** writes a ready-to-send email
rather than notes. **Clinical Note (SOAP)**, **Therapy Session (DAP)** and **Legal Client Intake** all
say to review the output before using it, because Vowen is not a medical, clinical or legal record
system.
Four of them record your microphone only, with system audio off: **In-Person Meeting**,
**One-on-One**, **Voice Journal** and **Doctor's Appointment**. That is flagged in the preview.
## Custom templates
Creating your own template is a Pro feature, as is editing one you installed from the library. Everyone can edit the built-in Meeting Notes template.
Click **Create template** on the Templates tab for a blank one, or the pencil on any installed
template to edit it. Starting from a library template and rewriting it is usually faster than
starting from nothing.
### Writing the prompt
**Do not start your prompt with `TITLE:`.** Vowen prepends the title contract itself before your
prompt is sent, and none of the 44 shipped templates restate it. Writing your own `TITLE:` line
duplicates an instruction the model has already been given and works against it.
The in-app hint under the prompt box still suggests adding one. That hint is out of date. Ignore it.
Write the prompt as if the transcript is already in front of the model, because it is. Vowen assembles
the request as the title contract, then any context you typed during the recording, then any moments
you marked as important, then the transcript, then your prompt under the heading `YOUR TASK:`. Your
prompt fully replaces the built-in instructions, so it needs to say everything you want.
The shipped templates all use the same shape: name the exact markdown H2 headings you want, give
each one a one-line instruction, then add rules at the bottom. Most of them end with a rule telling
the model to write "Not discussed" for an empty section rather than inferring content. Open **View
full prompt** on any library template to copy the pattern.
## Every per-template setting
The name is what you see in the template list, the default-template picker and the meeting
detection banner. The description is a one-line hint shown under it. Names are capped at 60
characters, descriptions at 100.
Tags stamped on every note this template creates. They are applied when the note record is first
written, so the note carries them from the moment it appears in your list as "Processing", not
after the summary lands.
Meeting notes keep their own tag pool, separate from the transcription tags.
On by default. It records what you hear, meaning the other people on the call, alongside your
microphone. Turn it off for a **microphone-only** template.
This is not a summary setting, it changes what is recorded. Use it for in-person meetings, one on
ones in a room, voice journalling, or anything where capturing your speakers would pick up the
wrong thing. The choice is read when the recording starts, from whichever template that session
is using.
On by default. Turn it off and recordings with this template save the transcript only, with no
call to your AI provider at all. The prompt box and the summary language row disappear while it
is off, and the template is badged **Transcript only** in the list.
You can still generate a summary by hand on any such note afterwards.
Three states. Left alone it inherits your global summary language, and the button reads "Use
global default". Set to **Auto-detect** it writes the summary in whichever language the
transcript is in. Set to a specific language it always writes that language, whatever was
spoken.
Useful for a template you use for calls in one language but need summarized in another.
The instructions sent with the transcript. Only shown when **Generate AI summary** is on. See the
warning above about `TITLE:`.
[Summary citations](/meeting-notes/summaries) are off globally by default and are Pro. A template
can additionally opt out of them, in which case its summaries never carry citations even when the
global switch is on. The only shipped template that opts out is **Follow-Up Email Draft**, where
timestamp pills in a draft email would be wrong. There is no per-template switch for this in the
editor.
### The built-in Meeting Notes template
The built-in template is editable by everyone, but it works slightly differently from a custom one.
You cannot replace its prompt. Instead there is a **Custom instructions** toggle that appends your
extra instructions to the built-in prompt, and that toggle is Pro.
Its tags, system-audio, generate-summary and summary-language settings are all free and behave
exactly as described above.
If you find yourself fighting the custom instructions box, create a custom template instead. It
gives you the whole prompt rather than an appendix to somebody else's.
## Choosing which template gets used
### Your default template
Every template card has a star. Clicking it makes that template your default, and the card is badged
**Default**. Deleting your default template resets the default back to the built-in Meeting Notes.
The default is what gets used by the toolbar Start button, the tray, the start shortcut, the idle
pill and any watch folder that has not overridden it.
### The split button on the Notes page
The **Start Taking Notes** button on the Notes page is a split button. The left half starts a
recording with your current default. The chevron on the right opens a list of every template.
Picking a template from that chevron does **not** start a recording, and it is not a one-off choice
for the next meeting. It **rewrites your default template**, permanently, for every future recording
and every other place a recording can start from.
If you only want a different template for one meeting, use the picker on the meeting detection
banner instead.
The chevron menu also has a **Manage templates** entry at the bottom, which jumps straight to the
Templates tab.
### One-off overrides
When Vowen detects a meeting and shows its banner, that banner's Start button is also a split button.
The pop-over there lists your templates and picks one **for that session only**. Your default is left
alone.
You can also change a note's template after the fact by regenerating its summary. See
[Summaries](/meeting-notes/summaries).
## Deleting a template
Click the bin icon on a template card, then click the tick to confirm. The built-in template cannot be
deleted.
Removing a library template from inside the library modal does the same thing, and the entry becomes
available to add again.
Deleting a template does not touch notes that were created with it. Their summaries stay as they
are.
# Watch folders
Source: https://docs.vowen.ai/meeting-notes/watch-folders
Point Vowen at a folder and every file dropped into it is transcribed or turned into a meeting note.
Watch folders are a Pro feature. They are not available on the Free plan.
**Existing files are skipped, not backfilled.** The first time Vowen sees a folder it takes a
snapshot of everything already in it and marks all of it as handled, without transcribing any of it.
Adding `~/Downloads` does **not** kick off a run over the 400 files already sitting there. Only files
that arrive **after** you add the folder are processed.
If you want an existing file processed, move it out and back in, or use the manual
[Transcribe](/transcription/manual-transcription) or **Import** flow instead.
## Overview
A watch folder is a directory on your machine that Vowen keeps an eye on. Drop an audio or video file
into it and Vowen picks it up and runs it through one of two pipelines, depending on what kind of
folder it is:
The file becomes a manual transcription, exactly as if you had dropped it into the Transcribe
dialog. Rules fall back to your **Transcribe > Defaults**.
The file becomes a full meeting note: transcribed, summarized with a template you pick, tagged,
and pushed through your Obsidian and webhook integrations like a live recording.
A folder's kind is fixed by where you added it. There is no destination switch inside the folder
editor, so each list stays homogeneous. To change a folder's kind, remove it from one list and add
it again from the other.
## Where they live
| Kind | Where you add it |
| ------------- | -------------------------------------------------------------------------------------------- |
| Transcription | **Transcribe** in the left sidebar, gear icon in the toolbar, then the **Watch folders** tab |
| Meeting note | **Notes** in the left sidebar, gear icon in the toolbar, then the **Watch folders** tab |
Each modal lists only its own kind of folder.
## Adding a folder
Use the table above to open the right one for the kind of folder you want.
A native folder picker opens. Pick the directory you want watched. The same path cannot be
watched twice, even across the two lists.
Vowen drops you straight into the folder's editor. Everything here is optional, and anything you
leave alone follows your defaults. Use the back button in the modal header when you are done.
Every folder row has a checkbox to enable or disable it, a pencil to reopen its rules, and a bin to
stop watching it. A folder whose path no longer exists is marked **Folder not found** in red and is
skipped until the path comes back.
## Which files are picked up
* **Audio:** `mp3`, `wav`, `m4a`, `aac`, `ogg`, `flac`, `wma`, `opus`
* **Video:** `mp4`, `mov`, `avi`, `mkv`, `webm`, `flv`, `wmv`, `mpeg`, `mpg`
Anything else is ignored, as are files whose name starts with a dot.
Vowen watches only the files directly inside the folder. Subfolders are not scanned, so nesting a
directory inside a watch folder does nothing.
A new file is not queued the instant it appears. Vowen waits until its size has stopped changing
across two checks two seconds apart, so a file that is still being copied or downloaded is never
transcribed half-finished. If a file is still growing after about two minutes Vowen gives up on that
attempt and retries on the next scan.
Files that land while Vowen is closed are picked up the next time you launch it, because the record
of what has already been handled is stored on disk rather than in memory.
Jobs run strictly one at a time regardless of your plan. Dropping five recordings in at once queues
five jobs, not five simultaneous transcription pipelines.
Vowen marks a file as handled the moment it is queued, before the job runs. If a job fails, the
failed entry stays visible so you can retry it by hand. It is not re-queued automatically on the
next scan.
## Per-folder rules
Open a folder's editor with the pencil icon. Every row shows its **effective** value, so a rule you
have not set reads as `Notes default (Parakeet V2)` or `Transcription default (Auto-detect)` rather
than as blank.
Applied to every item the folder creates. Transcription folders draw from the transcription tag
pool; meeting note folders draw from the notes tag pool, which is a separate list.
On a meeting note folder these tags are combined with the tags the
[summary template](/meeting-notes/templates) already applies. The folder's tags come first.
Which speech model transcribes files from this folder. Unset means the folder follows your
default, which for a transcription folder is the **Transcribe > Defaults** model and for a
meeting note folder is your meeting notes model.
Auto-detect, or a specific language. The list of choices depends on the model the folder resolves
to, so changing the model can change what is offered here.
Meeting note folders only. The template used to summarize every note this folder produces. It
also names the folder that gets written to Obsidian. Unset means the folder uses whatever your
default template currently is.
Runs [speaker diarization](/meeting-notes/diarization) on files from this folder. Only shown when
the folder's model supports it.
Auto-detect, or a fixed count from 2 to 6. Only shown when speaker identification is on and the
resolved model honours a speaker count.
Transcription folders only, and only while speaker identification is off. Meeting notes always
keep segment timings, because the transcript in a note is clickable.
Shows a banner when the job finishes. On meeting note folders this is **on by default**, because
the banner is how you find out the automation ran at all.
Once a folder has at least one override, a **Reset folder rules** row appears at the bottom of the
editor. Resetting clears every override so the folder follows your defaults again.
### How inheritance works
A rule that is unset inherits, and the two kinds of folder inherit from different places:
* **Transcription folders** resolve against `transcribeDefaults`, which is the **Transcribe >
Defaults** tab: model, language, identify speakers, number of speakers, timestamps and notify.
The auto-export settings on the **Auto-export** tab apply too, so a watched-folder transcription
can write a `.txt`, `.srt` or `.vtt` alongside itself if you have that turned on.
* **Meeting note folders** resolve against your meeting notes preferences, the same chain the
**Import** dialog uses: model, language, diarization, AI provider and summary template.
Because inheritance is live, changing a default later changes what your folders do, for every rule
you never overrode.
## What a meeting note folder produces
A note from a watch folder is a full note, not a stripped-down one. It is transcribed, summarized with
the folder's template, and then fires the same [Obsidian](/integrations/obsidian) and
[webhook](/integrations/webhooks) integrations a live recording does.
The note appears in your **Notes** list immediately as a processing placeholder, already carrying the
folder's tags and the template's tags. It is not tagged later once the summary lands.
## Quotas and gating
* Disabling the watch folders feature, or losing Pro, stops every folder. Nothing is queued while the
entitlement is off.
* Transcription folders still count against the lifetime manual-transcription quota. Once you are at
the limit, new files are skipped rather than queued.
* Meeting note folders go through the same import gate as the **Import** button, which is also Pro.
* A file that already has a history entry or an existing note with the same source path is skipped,
so importing something by hand first does not produce a duplicate.
## Disabling versus removing
These are not the same thing.
**Unticking** a folder pauses it but keeps its record of which files it has already seen, so
re-enabling it later picks up only what arrived while it was off.
**Removing** a folder throws that record away. If you add the same path again afterwards, Vowen
re-snapshots it from scratch. Nothing already in the folder is backfilled, but anything that arrived
while the folder was removed is now treated as pre-existing and will never be processed.
Neither action touches transcriptions or notes that have already been created.
## Troubleshooting
Check the file extension is on the supported list, that the file is directly in the folder rather
than in a subfolder, and that the folder's checkbox is ticked. A very large file being copied
across a slow network can also still be inside its stability window.
The path no longer exists, usually because an external drive is unmounted or the folder was
renamed. Vowen skips it silently until the path is back. Remove the folder and add it again if
the path has permanently changed.
That is the intended behavior. Existing files are seeded as already handled the first time the
folder is registered. Transcribe them manually, or move them out and back in.
Files are marked handled when they are queued, not when they succeed, so a failure does not loop
forever on every scan. Retry it from the transcription entry or the note itself.
# macOS guide
Source: https://docs.vowen.ai/platforms/macos
macOS-only features, permissions, and the settings that only exist on a Mac.
Vowen runs on macOS and Windows, and most of the app is identical on both. Everything below is
different, or only available, on a Mac.
## Supported hardware
| Hardware | Status |
| ---------------------------- | ---------------------------------------------------------------- |
| Apple Silicon (M1 and later) | Best experience. All local models, including the macOS-only ones |
| Intel Mac (x64) | Supported. Local models run on CPU and are noticeably slower |
## Recording indicator styles
macOS is the only platform where you can choose how the recording indicator is drawn.
**Settings > Recording > Indicator style** offers two options:
* **Pill**: the floating pill. Available everywhere, and the default
* **Notch**: the indicator lives in the MacBook notch instead of floating over your work
The notch indicator hangs from the notch while you record instead of floating over your work. It
carries the same live audio bars, the same buttons, and the same states as the pill.
Indicator **position** (top, bottom, hidden) is cross-platform and is a separate setting. Indicator
**style** is macOS-only.
See [recording indicator](/features/recording-indicator) for the rest of the indicator's behavior.
## Meeting notes on macOS
### System audio capture
Meeting notes need to hear the far end of the call, not just your microphone. On macOS 13 and later,
Vowen records whatever your Mac is playing alongside your microphone, so both sides of the call end
up in the transcript.
This works on Bluetooth headphones. When a meeting app opens your microphone, AirPods and similar
headsets switch into call mode, and the far-end audio keeps recording through that switch. Calls
taken on AirPods used to come back with your voice only; they no longer do.
If capture cannot start for some reason, Vowen falls back to a second method automatically.
Recording still happens either way.
This is why meeting notes ask for **Screen Recording** permission: on macOS that is the permission
that covers recording system audio. Dictation does not need it, and no extra prompt appears once it
is granted.
### Echo cancellation
When you are on speakers rather than headphones, the far end comes out of your speakers and back in
through your microphone. Meeting notes would then archive those voices twice: once cleanly from the
system audio capture, once as a delayed, room-coloured copy on the mic.
On macOS, Vowen removes the meeting app's own audio from your microphone track, so each voice is
archived once. It engages automatically when you are on speakers, and re-checks if you plug in or
unplug headphones mid-meeting. There is nothing to configure.
This is macOS-only, and it applies to meeting notes, not dictation. If it cannot engage, the
recording continues on the ordinary microphone without cancellation.
### Meeting panel shortcut
While a meeting-notes session is running, press `Cmd + \` to open the floating
[meeting panel](/meeting-notes/meeting-panel) and ask questions, take notes, or read the live
transcript without switching windows.
It only works while a meeting-notes session is running, so it does not occupy `Cmd + \` the rest of
the time. You can change it under **Settings > Shortcuts > Meeting Panel**.
## Other macOS-only behavior
### Fn key shortcuts
The Fn key can be used as a shortcut modifier on macOS, and Windows has no equivalent. It is the
default for two shortcuts:
| Shortcut | Default |
| ---------- | -------------- |
| Transcribe | `Fn` |
| Hands-free | `Fn + Control` |
See [shortcuts](/features/shortcuts) for how to change them.
### Hide dock icon
**Settings > General > Hide Dock Icon** turns Vowen into a pure background app, reachable only from
the menu bar. Windows has **Start minimized to tray** instead, which is not quite the same thing.
### Menu bar
Vowen lives in the macOS menu bar. Click it for quick access to settings, model switching, and
meeting notes controls. The menu bar icon is a template image, so it adapts automatically to light
and dark appearance.
### Website-aware tones, including installed web apps
[Tones](/ai-features/tones) can be scoped to a website. On macOS, Vowen reads the active browser URL
using the Accessibility permission it already holds, so there is no extra "Vowen wants to control
Google Chrome" prompt, and it works in Chromium browsers, Safari, and Firefox.
Browser-installed **web apps** count as their browser. A tone you assigned to `chat.google.com`
keeps working when you open that page as an installed app rather than a tab, on both Chromium and
Safari web apps.
### Local models
Local models on macOS are built for Apple hardware and run fastest on Apple Silicon. A few of them
are macOS-only and have no Windows equivalent.
## Permissions
**Settings > Permissions** shows the live status of everything Vowen needs, with a button that opens
the right System Settings pane. The list re-checks itself whenever you come back to the window, so
there is no refresh button to press.
| Permission | Required for | Where |
| ---------------- | ---------------------------------------------------------------- | ------------------------------------------------------- |
| Microphone | Any recording at all | System Settings > Privacy & Security > Microphone |
| Accessibility | Global shortcuts, auto-paste, and reading the active browser URL | System Settings > Privacy & Security > Accessibility |
| Screen Recording | Meeting notes system audio and meeting screenshots | System Settings > Privacy & Security > Screen Recording |
Microphone and Accessibility are what the everyday dictation flow needs. Screen Recording is only
required if you use meeting notes.
### Extra prompts from the Computer Use connector
The [Computer Use connector](/integrations/connectors#computer-use-macos-only) is macOS-only and
reads local app data on demand. It does not ask for anything up front. The first time the AI
actually calls one of its tools, macOS prompts for:
* **Automation**: one prompt per app it scripts (Notes, Calendar, Reminders, Contacts, Finder, your
browser)
* **Calendars**, **Reminders**, **Contacts**: the standard privacy prompts for those data types
* **Full Disk Access**: additionally required to read Safari bookmarks
## App window shortcuts
| Shortcut | Action |
| --------- | ----------------------------------------------------- |
| `Cmd + ,` | Open Settings |
| `Cmd + K` | Open the [command palette](/features/command-palette) |
| `Cmd + Q` | Quit Vowen |
| `Cmd + W` | Close window (not the main window) |
| `Cmd + H` | Hide Vowen |
| `Cmd + M` | Minimize window |
| `Cmd + \` | Meeting panel, during a meeting-notes session |
## Which model to use on a Mac
**Parakeet V2** is the default and the right answer for most people: fully local, fastest, and
English-only. **Parakeet V3** is the multilingual equivalent.
Two extra local options exist only on macOS:
| Model | Why you would pick it |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Nemotron EN** | English, real-time, and it produces **punctuation and capitalisation** as you speak, so the live preview reads properly instead of arriving as a wall of lowercase |
| **Nemotron Multilingual** | The same, across languages |
The Nemotron models are macOS-only. They do not appear on Windows.
For maximum accuracy on hard audio, a cloud model is still the better choice. See
[speech models](/transcription/models) for the full comparison.
***
Have a macOS-specific question? See the [macOS FAQ](/faq#macos).
# Windows guide
Source: https://docs.vowen.ai/platforms/windows
Windows-specific features, installation, permissions, and known limits.
Vowen runs on macOS and Windows, and most of the app is identical on both. Everything below is
different, or only relevant, on Windows.
## Supported hardware
| Hardware | Status |
| ------------------------ | ---------------------------------------------------------------------------------------------------- |
| Windows 10 or later, x64 | Fully supported |
| Windows on ARM | No native build. The x64 build runs under emulation, which is slower, and local models especially so |
| NVIDIA GPU | Optional. Enables CUDA acceleration for local Whisper models |
There is no ARM64 Windows build. Vowen ships x64 only, so on a Snapdragon or other ARM device you are
running the x64 binary through Windows' emulation layer. It works, but expect local transcription to
be noticeably slower. A cloud model is the better choice on those machines.
## Downloads
Every release ships two Windows artifacts.
| Artifact | Notes |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Installer** (`Vowen-Setup-.exe`) | The normal choice. Lets you pick the install directory, and creates desktop and Start menu shortcuts |
| **Portable** (`Vowen--Portable.exe`) | A single executable that runs without installing. Useful on machines where you cannot install software |
## Installation notes
### SmartScreen warning
Windows shows **"Windows protected your PC"** the first time you run the installer. Vowen's Windows
builds are **not code-signed**. The macOS build is signed and notarized, the Windows build is not,
and SmartScreen flags any unsigned installer regardless of what it contains.
Click **More info**, then **Run anyway**.
### Antivirus false positives
Some antivirus products (QuickHeal, Kaspersky, Norton have all been reported) flag Vowen or one of
its bundled helper binaries. Add the Vowen installation folder to your antivirus allowlist.
Antivirus quarantine is also the usual cause of a failed **[Vowen CLI](/cli/overview)** install.
Vowen installs the CLI to `%LOCALAPPDATA%\Vowen\bin\vowen.exe` and then runs it once to check it
works. A silent quarantine leaves a file on disk that will not execute, and Vowen reports exactly
that. Allow the file in Windows Security, then click Install again.
## Key differences from macOS
| Feature | macOS | Windows |
| ----------------------------------- | ------------------------------------------- | ----------------------------------------------------- |
| Default dictation shortcut | `Fn` | `Ctrl + Shift` |
| Command Mode shortcut | `Alt + Shift` | `Alt + Shift` |
| Meeting panel | `Cmd + \` | `Ctrl + \` |
| "Option" key | Option | **Alt** |
| "Command" key | Command | **Windows key** |
| Fn key as a modifier | Yes | No |
| Permissions | Microphone, Accessibility, Screen Recording | Microphone only |
| Code signing | Signed and notarized | Not signed |
| Local models | Built for Apple Silicon | Run on the CPU, or on an NVIDIA GPU with CUDA enabled |
| Indicator style choice | Pill or Notch | Pill only |
| Echo cancellation for meeting notes | Yes | No |
## Permissions
Windows has no equivalent of macOS's permission prompts, so there is no grant step to complete
before Vowen works. There is still a **Settings > Permissions** section, and on Windows it lists
exactly one row:
| Permission | Required for |
| ----------------- | ------------------------------ |
| Microphone Access | Recording audio when you speak |
That row always reads **Granted** on Windows, because Windows gives desktop apps microphone access
without prompting. If recording is not working, the cause is a device or privacy setting in Windows
rather than something Vowen is being refused. Check
**Windows Settings > Privacy & security > Microphone**.
Accessibility and Screen Recording are macOS concepts and do not appear on Windows at all. Global
shortcuts and meeting screenshots need no grant either, unlike on macOS.
## Meeting notes on Windows
### System audio capture
Windows does not send every app's sound to the same speakers. Browsers and most media play through
your default output device, while calling apps like Google Meet, Zoom, and Teams usually play
through the separate device Windows reserves for communications, and any app with its own speaker
dropdown can be pointed somewhere else entirely.
Vowen records **every output device that is currently playing** and mixes them together, which is
why it picks up a call routed to a non-default device. It also keeps watching for devices appearing
and disappearing, so a Bluetooth headset switching into call mode, a dock being replugged, or you
changing Zoom's speaker device are all picked up without restarting the recording.
If you have ever recorded a call and got only your own voice back, this is why. Older versions
recorded only your default output device, so a call playing anywhere else was never captured.
### Speaker diarization
On-device [speaker diarization](/meeting-notes/diarization) works on Windows, not just macOS. It runs
entirely on your machine, and the model it needs (about 30 MB) is downloaded automatically the first
time you diarize something. There is nothing to pick in the models list, and nothing leaves your
machine. Recording continues while the download finishes.
Diarization is a Pro feature and needs a diarization-capable model selected, such as Parakeet or a
cloud model.
### Meeting indicator
The meeting-notes indicator stays on top of other windows that also want to be on top, such as Zoom
and Teams, keeps its intended size at 125% and 150% display scaling, and its pause and stop buttons
stay clickable anywhere across the pill.
### Meeting panel shortcut
While a meeting-notes session is running, press `Ctrl + \` to open the floating
[meeting panel](/meeting-notes/meeting-panel) and ask questions, take notes, or read the live
transcript.
It only works while a session is running, so it does not occupy `Ctrl + \` the rest of the time.
Change it under **Settings > Shortcuts > Meeting Panel**.
The shortcut is tied to the floating meeting indicator. If you turn the indicator off, `Ctrl + \`
stops working too.
## Windows-specific features
### GPU acceleration (NVIDIA)
Local Whisper models can run on an NVIDIA GPU instead of the CPU.
Click **Speech models** in the sidebar.
Scroll to the bottom of the page, past the cloud and local model lists, to the
**GPU Acceleration** section and its **NVIDIA CUDA** card.
Click **Download GPU acceleration**. It is roughly **631 MB**. Vowen fetches a CUDA-enabled
build together with the CUDA libraries it needs, so you do not have to install the NVIDIA CUDA
Toolkit yourself. The download can be canceled while it runs.
Once installed, the card reads **GPU active**. **Remove GPU acceleration** deletes it again if you
want the disk space back.
The **GPU Acceleration** section only appears if Vowen detects an NVIDIA GPU. It needs an RTX
2000-series card or newer. AMD and Intel GPUs are not supported, and there is no CPU fallback to
configure.
CUDA accelerates the local **Whisper** models. Parakeet, the default, does not use it.
### Wake from sleep
After the machine resumes from sleep or the screen unlocks, Windows can leave floating windows in a
broken state. You may see the recording indicator stay visible but stop responding to clicks, or the
settings window come back blank or black.
Vowen repairs both automatically on resume, so there is nothing to do and no need to restart the app
after waking your machine.
### Dead keys on international layouts
On a layout with dead keys (Spanish, French, Portuguese, German, Czech, US-International), accented
characters compose normally while Vowen runs. Pressing `´` then `e` gives `é`. Vowen never leaves a
half-composed accent behind.
Dead-key composition is a system-level behavior, so an older version of this bug affected every app,
not just Vowen, and quitting Vowen made it stop. If you still see bare characters on a current
version, it is not this bug.
### Pause or mute media while recording
**Settings > Recording > When recording starts** offers three options:
| Option | Behavior |
| -------------- | ---------------------------------------------------------------------------- |
| **Pause** | Pauses playing media and resumes it after your transcription is pasted |
| **Mute** | Silences all system audio while recording and restores the volume afterwards |
| **Do nothing** | Leaves system audio alone |
**Pause** can only reach apps that respond to the standard Windows play/pause keys. Spotify, Chrome,
Edge, and Firefox do. Some desktop media players do not, and pausing them silently does nothing. If
a specific app never pauses, use **Mute** instead.
### Start at login
**Settings > General > Open at Login** launches Vowen when you sign in to Windows.
### Start minimized to tray
**Settings > General > Start Minimized to Tray** starts the app with no window, reachable only from
the tray icon.
### System tray
**Left-click** the Vowen icon in the system tray to open Settings. This is Windows-only; on macOS the
menu bar icon opens the menu instead.
**Right-click** it for:
* Model, language, and microphone switching
* Transcribe a file
* Meeting notes start, pause, and stop
* Copy last transcription
* Open settings
* Quit
The tray icon shows a red dot while a meeting note is recording.
## Performance
Local models run on the CPU on Windows unless you enable CUDA, so they are slower than the same
models on Apple Silicon. Ordered best to worst for speed:
1. **Best**: a cloud model. Groq is fast and has a free tier
2. **Good**: Parakeet, the local default, which is far lighter than Whisper Large
3. **Also good**: a Whisper model with CUDA acceleration on an NVIDIA GPU
4. **Workable**: Whisper Tiny or Base on the CPU, fast but less accurate
Without GPU acceleration, Whisper Medium and Large can take 5 to 10 seconds or more per transcription
on Windows. If you do not have an NVIDIA GPU, use Parakeet or a cloud model.
***
Have a Windows-specific question? See the [Windows FAQ](/faq#windows-specific).
# Plans & pricing
Source: https://docs.vowen.ai/pricing
Vowen is free to use, and Pro is a one-time $49 lifetime licence.
## What Vowen costs
| Plan | Price | What it is |
| ---------- | ----------------- | ---------------------------------------------------------------------------- |
| Free | \$0 | The core app, forever. No account, no trial clock, no card. |
| Pro | **\$49 one-time** | A lifetime licence. Pay once, all future updates included. |
| Enterprise | Custom | A commercial arrangement for teams. [Contact us](https://vowen.ai/contact/). |
Pro is not a subscription. There is no monthly or annual plan, and no recurring charge.
There is **no free trial**. Instead of a trial, Pro comes with a **14-day refund window**: buy it,
use it properly, and ask for your money back inside 14 days if it is not for you.
### About Enterprise
Enterprise is a sales conversation, not a different build of the app. Enterprise customers run the
same Pro build everyone else runs, and there is no separate enterprise entitlement that unlocks
extra features in the app.
An Enterprise conversation covers commercial ground rather than technical:
* Volume pricing for teams
* Centralised billing, custom contracts, and invoicing
* Tailored onboarding
* Priority response from the team
* Security and compliance requirements discussed case by case
Items such as SSO/SAML, HIPAA, audit logs, a dedicated success manager, and a custom SLA are listed
on the public pricing page as available **on request**. They are commitments to discuss, not
switches that already exist in the app. Do not plan a rollout around them without talking to us
first.
## Free plan limits
Three limits apply to free accounts, and Vowen enforces all three.
Free accounts can keep 10 meeting notes. This is a cap on how many notes exist, not on how many
hours you record.
The 10 manual transcriptions are a lifetime total, not a monthly allowance. It does not reset.
Dictation itself is unlimited on every plan; this cap only covers audio and video files you feed
to the Transcribe page.
Deleting history is a Pro feature. It stops an exhausted free account from deleting old items
to recycle quota slots. Combined with the lifetime transcription cap, it
means a free account that has used all 10 transcriptions cannot free them up again by deleting
them.
There is no hour limit on meeting recording, on any plan. The limit that applies to free accounts is
the 10 saved notes above.
## Feature comparison
Free and Pro, feature by feature. The full matrix, flag by flag and quota by quota, lives in
[Plan limits](/reference/plan-limits). To see which plan you are on, open **Settings > Account**.
### Dictation & transcription
| Feature | Free | Pro |
| ----------------------------------------------- | ----------- | --------- |
| Voice dictation | Unlimited | Unlimited |
| On-device models (Whisper, Parakeet, Nemotron) | Yes | Yes |
| Cloud transcription models (bring your own key) | Yes | Yes |
| Every supported language | Yes | Yes |
| GPU acceleration (Windows) | Yes | Yes |
| Voice log & history | Yes | Yes |
| Custom vocabulary & dictionary | Yes | Yes |
| Manual file transcriptions | 10 lifetime | Unlimited |
| Real-time transcription preview | - | Yes |
| Speaker diarization | - | Yes |
| Automatic translation to English | - | Yes |
| Queue transcriptions in parallel | - | Yes |
| [Watch folders](/meeting-notes/watch-folders) | - | Yes |
| Delete transcriptions from history | - | Yes |
### Exporting
| Feature | Free | Pro |
| ---------------------------------------------------- | ---- | --- |
| Export a single manual transcription as SRT or VTT | Yes | Yes |
| Export a single manual transcription as PDF or TXT | - | Yes |
| Export a meeting note (PDF, TXT, Markdown, SRT, VTT) | - | Yes |
| Bulk export a selection of notes or transcriptions | - | Yes |
### Meeting notes
| Feature | Free | Pro |
| --------------------------------------------------------------- | ---- | --------- |
| Record meeting notes | Yes | Yes |
| Saved meeting notes | 10 | Unlimited |
| Delete notes | - | Yes |
| [Auto-detect when you join a meeting](/meeting-notes/recording) | - | Yes |
| Pause / resume, and mute background audio | - | Yes |
| Speaker diarization | - | Yes |
| Live transcript preview while recording | - | Yes |
| Built-in summary template | Yes | Yes |
| [Template library & custom templates](/meeting-notes/templates) | - | Yes |
| Custom note instructions | - | Yes |
| [Summary citations](/meeting-notes/summaries) | - | Yes |
| [Ask AI about a note](/meeting-notes/ask-ai) | - | Yes |
| Import audio / video files as notes | - | Yes |
| [Public share links](/meeting-notes/sharing) | - | Yes |
| Per-note integrations (Obsidian, webhooks) | - | Yes |
### AI
| Feature | Free | Pro |
| ------------------------------------------------------------------------ | --------------- | --------- |
| AI enhancement (bring your own key) | Yes | Yes |
| [Custom AI instructions for dictation](/ai-features/custom-instructions) | Yes | Yes |
| [Command Mode](/ai-features/command-mode) | 5 per day | Unlimited |
| [Tones](/ai-features/tones) | 1 | Unlimited |
| [Memory](/features/memory) | 3 items | Unlimited |
| Auto-add corrections to the dictionary | - | Yes |
| Extra custom API providers | 1 built-in slot | Unlimited |
| Extra custom speech servers | 1 built-in slot | Unlimited |
Custom AI instructions for **dictation** are free for everyone. Custom instructions for **meeting
note summaries** are a separate setting and are Pro.
### Productivity
| Feature | Free | Pro |
| ------------------------------------------------ | --------------- | --------- |
| Custom recording shortcut | Yes | Yes |
| Alternative / multiple shortcuts | - | Yes |
| Dictionary & threads | Yes | Yes |
| [Text expansions](/features/text-expander) | 1 custom | Unlimited |
| [Voice Shortcuts](/features/workflows) | 3 | Unlimited |
| Webhooks & custom scripts inside voice shortcuts | - | Yes |
| Custom utilities | 1 preconfigured | Unlimited |
| Import / export your data | - | Yes |
| [The Vowen CLI and MCP server](/cli/overview) | Yes | Yes |
### Integrations
| Feature | Free | Pro |
| -------------------------------------- | ---- | --- |
| [Obsidian](/integrations/obsidian) | - | Yes |
| [Webhooks](/integrations/webhooks) | - | Yes |
| [Connectors](/integrations/connectors) | - | Yes |
| [Cloud Sync](/features/cloud-sync) | - | Yes |
### Pro perks
* Priority email support
* Early access to new features
* All future updates included, permanently
## Coming soon
Nothing on this list is reachable in the app today.
* **Calendar integration.** Built, but held back pending Google's OAuth app verification. It stays
off until sign-in works end to end for everyone.
* **Teams and shared workspaces.** On the roadmap. No shipping date.
* **iOS and Android apps.** On the roadmap. No shipping date.
If a feature is not on this list and not in the tables above, check the
[changelog](/changelog) before assuming it is upcoming. Recently shipped from this
list: the [CLI](/cli/overview) and its
[MCP server for Claude Code and Opencode](/cli/mcp-server),
[public share links](/meeting-notes/sharing), and
[asking questions live during a meeting](/meeting-notes/ask-ai).
## Licensing & activation
### How the licence works
Vowen has no user accounts. A Pro licence is a key, and nothing else. There is no sign-up, no
password, and no profile. Buying Pro emails you a key; activating it in the app is the whole
process.
Purchase from the Vowen website. You get a licence key by email.
The plan card at the top of the section has the key field.
Vowen registers this machine against the key. Pro features unlock immediately.
The key is stored encrypted on your machine and revalidated quietly in the background. If the
network is unavailable, Vowen keeps your Pro state rather than locking you out.
### Moving your licence to another machine
An activation is tied to the machine that used it, so getting a new laptop means releasing the old
one first.
Open **Settings > Account** and choose **Deactivate**. Confirm when asked. This releases the
activation slot and returns that machine to the free plan.
Install Vowen, open **Settings > Account**, and paste the same key.
Deactivate before you wipe or sell a machine. A machine you no longer have access to still holds its
activation slot, and releasing it afterwards means contacting support.
Billing, invoices, and payment method changes are handled by our payments provider through the
customer portal. **Settings > Account** links to it.
## FAQ
No. Pro is a one-time \$49 purchase for a lifetime licence. No recurring charges, and all future
updates are included.
No. The free plan is not time-limited, so you can use Vowen indefinitely without paying, and
Pro comes with a 14-day refund window if it turns out not to suit you.
No. What is free today stays free. New advanced features may land on Pro.
No. There are no accounts. Free needs nothing at all, and Pro needs only a licence key.
Three. Activation is checked by our payments provider rather than by the app, so your current
activations are shown in the customer portal, linked from **Settings > Account**. To move your
licence to a fourth machine, deactivate one of the existing three first. This is a property of
the licence rather than of [Cloud Sync](/features/cloud-sync), which does not cap how many
devices you connect.
14 days, no questions asked. Get in touch and we will handle it.
Open **Settings > Account**. The plan card at the top of the section shows your current plan.
# Quickstart
Source: https://docs.vowen.ai/quickstart
Install Vowen, walk the setup flow, and get your first dictation pasted.
## 1. Download and install
1. Download the latest `.dmg` from [vowen.ai](https://vowen.ai)
2. Open the DMG and drag Vowen to your Applications folder
3. Launch Vowen from Applications
1. Download the latest `.exe` installer from [vowen.ai](https://vowen.ai)
2. Run the installer and follow the prompts
3. Launch Vowen from the Start menu or desktop shortcut
Windows may show a "Windows protected your PC" warning since the app is not yet code-signed. Click "More info" then "Run anyway" to proceed. A portable build is also available if you would rather not install.
Full details, including system requirements and the portable build, are on the [Installation](/get-started/installation) page.
## 2. Walk the setup flow
The first launch opens a setup flow with **11 steps**. Most of them are demos you can click straight past. Two of them are gates you cannot get around.
An introduction. There is a theme toggle in the corner if you want light mode before you go any further.
Vowen asks for your name and email.
**A name is required.** It has to be at least two characters, and the step will not advance without one. The email field is optional. Vowen uses your name to personalise later steps and to sign text expansions.
A short summary of how Vowen handles your data, with a link to the privacy policy. Click Continue.
You cannot continue until the required permissions are granted.
* **macOS:** both Microphone and Accessibility
* **Windows:** Microphone only
Each row shows live status and a button that opens the right pane of System Settings. See [Permissions](/get-started/permissions) if a grant does not take.
Vowen offers exactly two transcription models here:
| Model | Languages | |
| --------------- | --------------------- | ----------- |
| **Parakeet V2** | English only | Recommended |
| **Parakeet V3** | 25 European languages | |
**This step cannot be skipped.** The Continue button does not exist until the model is downloaded and installed. Until then the only button on the screen is Download. Vowen needs a transcription engine to be useful at all.
You can download more models later, and switch to a cloud engine, from **Speech models** in the sidebar.
A live practice field. Hold your shortcut, speak, and watch the text land. This is the first time the hotkey actually runs.
A demo of voice-triggered automations, like opening an app or a website by saying so.
A demo of typed triggers that expand into blocks of text. Try `:ooo`, `:sign`, or `:addr` in the practice field.
A demo of replacement rules that map a spoken phrase to fixed text, like turning "my phone number" into the actual digits.
A demo of giving voice instructions to AI, rather than dictating text.
A short introduction to Meeting Notes. Finishing this step ends the setup flow and opens the main window.
How the flow behaves:
* **It is resumable.** Your position is saved after every step. If you quit halfway, you come back to the step you were on.
* **There is a Back button** on every step except the first.
* **There is no forward skip.** Steps only advance by finishing them. The demo steps have a Continue button; the two gates do not, until their condition is met.
## 3. Your first dictation
**macOS:** hold the `Fn` key
**Windows:** hold `Ctrl + Shift`
↳
Want a different setup? Pick your own shortcut, add a hands-free toggle, or use a mouse button. See patterns like promoting push-to-talk into hands-free without lifting a finger.
Say whatever you want transcribed. Speak naturally. Vowen handles filler words and formatting.
Let go of the shortcut. Your transcribed text is pasted into whatever app has focus.
You're now controlling your computer with your voice.
## 4. Work through the Get Started checklist
After setup, a small pill sits in the bottom-right corner of the main window with a progress ring and a "Get started" label. Click it to open the checklist. Six steps:
| Step | Counts as done when |
| ---------------------------- | ------------------------------------------------------------------- |
| Dictate for the first time | You have completed at least one dictation |
| Connect an AI provider | An AI provider is connected and, for CLI providers, actually chosen |
| Create a voice shortcut | You have created a voice shortcut of your own |
| Add words to your dictionary | Your dictionary has at least one entry |
| Create a text expansion | You have created an expansion of your own |
| Record a meeting note | You have at least one saved meeting note |
Clicking a row navigates to the page where you do that thing. Rows never tick themselves from the checklist.
Two details about the checklist:
* **Completion is a one-way latch.** Once a step is marked done it stays done, even if you later delete the voice shortcut or clear your history. The checklist is a first-run guide, not a live dashboard.
* **It retires itself.** At six of six the widget disappears for good. The `×` button only collapses the panel; it does not dismiss the widget.
The built-in `:date` and `:time` expansions do not count towards the expansion step, and the voice shortcuts Vowen ships with do not count towards the voice shortcut step. You have to make your own.Everything in this quickstart is free. Vowen also has a [Pro plan](/pricing) that lifts caps on Command Mode, Tones, Memory, Voice Shortcuts, and Manual Transcriptions, and unlocks features like Speaker Diarization, Real-time Preview, Auto-translation, and Cloud Sync.
Want polished output without effort? Connect an AI provider (Groq, Gemini, OpenAI, Anthropic, and more) and Vowen will:
Fix grammar and punctuation while keeping your voice intact
Convert spoken numbers to digits ("three thousand" becomes "3000")
Format lists, emails, and phone numbers automatically
Apply spoken commands ("new paragraph", "make this a bullet list")
## What's next
Every window Vowen can put on your screen
Compare local and cloud models to find the best fit
Connect an AI provider for polished output
Change shortcuts to fit your workflow
# Languages reference
Source: https://docs.vowen.ai/reference/languages
Interface, dictation and summary languages, with the full list for each.
Vowen has three independent language settings. Changing one never changes the others. You can
run the interface in Japanese, dictate in English, and have your meeting summaries written in
French.
| Setting | Controls | Where |
| ------------------ | ---------------------------------------------------- | ------------------------------------------------ |
| Interface language | Vowen's own buttons, menus, labels and notifications | Settings > Language > **UI Language** |
| Dictation language | What the speech model expects to hear | Settings > Language > **Dictation Language** |
| Summary language | What AI note summaries are written in | Settings > Language > **Notes Summary Language** |
## Interface language
Eighteen locales. Each is listed in the picker under its own name, never an English label.
| Language | Shown as | Code | Date format |
| --------------------- | ---------- | ------- | ----------- |
| English | English | `en` | `en-US` |
| Bulgarian | Български | `bg` | `bg-BG` |
| Czech | Čeština | `cs` | `cs-CZ` |
| German | Deutsch | `de` | `de-DE` |
| Spanish | Español | `es` | `es-ES` |
| French | Français | `fr` | `fr-FR` |
| Italian | Italiano | `it` | `it-IT` |
| Japanese | 日本語 | `ja` | `ja-JP` |
| Korean | 한국어 | `ko` | `ko-KR` |
| Polish | Polski | `pl` | `pl-PL` |
| Portuguese | Português | `pt` | `pt-BR` |
| Russian | Русский | `ru` | `ru-RU` |
| Swedish | Svenska | `sv` | `sv-SE` |
| Turkish | Türkçe | `tr` | `tr-TR` |
| Ukrainian | Українська | `uk` | `uk-UA` |
| Vietnamese | Tiếng Việt | `vi` | `vi-VN` |
| Chinese (Simplified) | 简体中文 | `zh` | `zh-CN` |
| Chinese (Traditional) | 繁體中文 | `zh-TW` | `zh-TW` |
The default is English. The change applies immediately with no restart; the application menu
and the tray menu are rebuilt at the same time. Dates and times throughout the app follow the
BCP 47 tag in the last column.
The interface language can also be picked during onboarding, from the button in the top right
of the onboarding window, and it is one of the preferences Cloud Sync carries between devices.
Translations are per language file, and the main app window has **no per-string fallback to
English**. A string that has not been translated yet renders as its raw internal key, for
example `command_palette.placeholder`. Menus, dialogs and notifications produced outside the
main window do fall back to English.
## Dictation language
The default is **Auto-detect**. What the picker offers changes with the speech model you have
selected, because different models support different languages. If you switch to a model that
cannot handle your saved language, Vowen resets you to Auto-detect rather than sending a
language the model cannot transcribe.
### Which models support what
| Model | Auto-detect | Selectable languages | Picker |
| -------------------------------------------------------------------------- | -------------------------- | ------------------------ | ---------- |
| Whisper multilingual (Tiny, Base, Small, Medium, Large v3, Large v3 Turbo) | Yes | **99** | Open |
| Whisper English-only (`tiny.en`, `base.en`, `small.en`, `medium.en`) | No | English only | **Locked** |
| Parakeet V3 | Yes, 25 European languages | None (the model decides) | **Locked** |
| Parakeet V2 | No | English only | **Locked** |
| Parakeet Japanese | No | Japanese only | **Locked** |
| Parakeet Mandarin | No | Mandarin Chinese only | **Locked** |
| Nemotron EN | No | English only | **Locked** |
| Nemotron Multilingual | Yes | 31 | Open |
| Nova 2 (Deepgram) | Yes | 33 | Open |
| Nova 3 (Deepgram) | Yes | 50 | Open |
| Universal-3.5 Pro (AssemblyAI) | Yes | 18 | Open |
| Voxtral Mini (Mistral) | Yes | 13 | Open |
| Real-Time STT (Soniox) | Yes | 60 | Open |
| Saaras v3 (Sarvam AI) | Yes | 23 | Open |
| Aurora (xAI) | Yes | 25 | Open |
| Speechmatics | **No** | 39 | Open |
| Ink 2 (Cartesia) | No | English only | **Locked** |
| Whisper Large v3 and Large v3 Turbo (Groq) | Yes | 99 | Open |
| Scribe v2 (ElevenLabs) | Yes | 99 | Open |
| OpenAI (gpt-transcribe) | Yes | 99 | Open |
| Google Gemini (Live + Flash) | Yes | 99 | Open |
| Custom speech servers | Yes | 99 | Open |
Four families lock the selector outright: the English-only Whisper builds, all four Parakeet
variants, Nemotron EN, and Ink 2. With those the picker greys out and explains why, and the
settings row shows the language the model actually uses rather than whatever you had stored.
Any cloud model without its own entry above falls through to the full 99-language Whisper
catalog.
### The lists
Afrikaans, Albanian, Amharic, Arabic, Armenian, Assamese, Azerbaijani, Bashkir, Basque,
Belarusian, Bengali, Bosnian, Breton, Bulgarian, Burmese, Catalan, Chinese, Croatian,
Czech, Danish, Dutch, English, Estonian, Faroese, Finnish, French, Galician, Georgian,
German, Greek, Gujarati, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hungarian,
Icelandic, Indonesian, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Korean, Lao,
Latin, Latvian, Lingala, Lithuanian, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam,
Maltese, Maori, Marathi, Mongolian, Nepali, Norwegian, Norwegian Nynorsk, Occitan, Pashto,
Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Sanskrit, Serbian, Shona, Sindhi,
Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tagalog, Tajik,
Tamil, Tatar, Telugu, Thai, Tibetan, Turkish, Turkmen, Ukrainian, Urdu, Uzbek, Vietnamese,
Welsh, Yiddish, Yoruba.
Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German,
Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian,
Russian, Slovak, Slovenian, Spanish, Swedish, Ukrainian.
There is no language to pick. Parakeet V3 detects and transcribes across all 25 on its own,
which is why the selector is locked to Auto-detect.
Arabic, Bulgarian, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish,
French, German, Greek, Hindi, Hungarian, Italian, Japanese, Korean, Latvian, Lithuanian,
Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish,
Turkish, Ukrainian.
The list is the set of codes with an entry in the model's own prompt dictionary. Anything
outside it silently falls back to the default prompt and decodes noticeably worse, which is
why the picker will not offer it.
Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Estonian, Finnish, French,
German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian,
Lithuanian, Malay, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish,
Swedish, Thai, Turkish, Ukrainian, Vietnamese.
Arabic, Belarusian, Bengali, Bosnian, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish,
Dutch, English, Estonian, Finnish, French, German, Greek, Gujarati, Hebrew, Hindi,
Hungarian, Indonesian, Italian, Japanese, Kannada, Korean, Latvian, Lithuanian, Macedonian,
Malay, Marathi, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak,
Slovenian, Spanish, Swedish, Tagalog, Tamil, Telugu, Thai, Turkish, Ukrainian, Urdu,
Vietnamese.
Arabic, Chinese, Danish, Dutch, English, Finnish, French, German, Hebrew, Hindi, Italian,
Japanese, Norwegian, Portuguese, Spanish, Swedish, Turkish, Vietnamese.
These are the languages Universal-3.5 Pro supports natively for streaming. File
transcription falls back to Universal-2 for anything else.
Arabic, Chinese, Dutch, English, French, German, Hindi, Italian, Japanese, Korean,
Portuguese, Russian, Spanish.
Afrikaans, Albanian, Arabic, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian,
Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French,
Galician, German, Greek, Gujarati, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese,
Kannada, Kazakh, Korean, Latvian, Lithuanian, Macedonian, Malay, Malayalam, Marathi,
Norwegian, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Serbian, Slovak,
Slovenian, Spanish, Swahili, Swedish, Tagalog, Tamil, Telugu, Thai, Turkish, Ukrainian,
Urdu, Vietnamese, Welsh.
English, plus 22 Indian languages: Assamese, Bengali, Bodo, Dogri, Gujarati, Hindi,
Kannada, Kashmiri, Konkani, Maithili, Malayalam, Manipuri, Marathi, Nepali, Odia, Punjabi,
Sanskrit, Santali, Sindhi, Tamil, Telugu, Urdu.
Arabic, Czech, Danish, Dutch, English, French, German, Hindi, Indonesian, Italian,
Japanese, Korean, Macedonian, Malay, Persian, Polish, Portuguese, Romanian, Russian,
Spanish, Swedish, Tagalog, Thai, Turkish, Vietnamese.
Arabic, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish,
French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese,
Korean, Latvian, Lithuanian, Malay, Mandarin, Norwegian, Polish, Portuguese, Romanian,
Russian, Slovak, Slovenian, Spanish, Swedish, Tamil, Thai, Turkish, Ukrainian, Vietnamese.
Speechmatics is the only model with an open picker and no Auto-detect option. You must
choose a language.
### Overriding it
Dictation language can be overridden in two narrower places, both of which otherwise inherit
the global setting:
* **Per tone**: a tone can pin its own speech model and dictation language.
* **Notes recording defaults**: meetings can use a different language from dictation.
### Auto-translate to English
A Pro toggle in **Settings > Language**, hidden whenever the effective dictation language is
already English. How it works depends on the engine:
| Engine | Method |
| ----------------------- | --------------------------------------------------------- |
| Local Whisper | Whisper's own translation, through the `--translate` flag |
| Any cloud model | Post-transcription pass through Google Translate |
| Parakeet (all variants) | Post-transcription pass through Google Translate |
The Google Translate pass sends your transcribed text to Google. It runs after transcription
and adds a short delay, which the settings row warns about for cloud models.
Nemotron matches neither branch, so the toggle has no effect on Nemotron models.
## Summary language
The language your AI meeting-note summaries are written in, regardless of the language the
meeting was held in. The default is **Auto-detect**, which means the summary matches the
language of the transcript.
Because it is not tied to a speech model, this picker always offers the full catalog: the
union of every per-model list, **108 languages**, sorted alphabetically by English name.
### Resolution order
Every summary template can pin a language in the template editor, including the built-in
Meeting Notes template.
Used when the template has no override.
Used when neither is set. The prompt tells the model to detect the primary language of the
transcript and write everything (headings, section titles and body) in that language,
and explicitly not to default to English.
When a language is pinned, the prompt instead instructs the model to write its entire output,
including the title and every heading, in that language regardless of what was spoken.
If a custom template is present but your plan does not include custom templates, the template
is ignored entirely, and so is its language override. The summary falls back to your global
setting.
## American and British spelling
**Settings > Language > English Spelling** picks the spelling convention for English output.
The default is **American English**. The row is only shown when your dictation language is
English or Auto-detect, or when the model is one of the English-locked ones.
Choosing **British English** runs the finished text through a static word-level dictionary of
**1,692** American-to-British mappings. It applies only when the transcription language is
`en` or `auto`.
| Property | Behavior |
| --------- | ------------------------------------------------------------------ |
| Matching | Word boundaries only, case-insensitive |
| Case | Preserved. Lower stays lower, Title stays Title, UPPER stays UPPER |
| Direction | One way, American to British. There is no British-to-American pass |
The dictionary is deliberately pruned relative to the upstream package it came from. A mapping
is removed whenever the American form is itself accepted modern British English, because a
context-blind converter must never introduce errors. Removed classes include:
* Archaic British variants: `instal`, `connexion`, `inflexion`
* Cases where British medical style prefers the American form: `fetus`, `fetal`, `fetid`
* Forms that are not valid in any English: `licenced`, `licencing`
* Homograph traps where the American form is standard British in a common sense:
`practice` and `practices` as nouns, `draft`, `program`, `disk`, `tire`
## Related
Every row in Settings > Language and its default.
Longer explanation of the UI language and how to change it.
Which model to pick, and what each one costs.
Auto-translate is one of the Pro features.
# Plan limits
Source: https://docs.vowen.ai/reference/plan-limits
What the Free plan includes, what Pro unlocks, and the limits you will actually run into.
Vowen has two plans. **Free** needs nothing at all. **Pro** is a one-time purchase that removes
the limits below. Your current plan is shown in **Settings > Account**, and as a badge at the top
of the sidebar.
## Limits
| Limit | Free | Pro | Resets |
| -------------------------- | --------- | --------- | ---------------------------- |
| Manual file transcriptions | 10 | Unlimited | Never |
| Saved meeting notes | 10 | Unlimited | Never |
| Command Mode runs | 5 | Unlimited | Every day |
| Custom voice shortcuts | 3 | Unlimited | Frees up when you delete one |
| Memory items | 3 | Unlimited | Frees up when you delete one |
| Custom text expansions | 1 | Unlimited | Frees up when you delete one |
| Tones | 1 | Unlimited | Frees up when you delete one |
| Custom utilities | 1 | Unlimited | Frees up when you delete one |
| Dictation | Unlimited | Unlimited | — |
| Dictionary words | Unlimited | Unlimited | — |
| Threads | Unlimited | Unlimited | — |
**On the Free plan you cannot delete transcriptions or meeting notes.** Because of that, the
caps on manual transcriptions and saved notes behave as lifetime totals rather than something
you can clear out. Once you reach ten, the only way to make room is to upgrade.
Built-in text expansions and the default tone do not count against your Free allowance. You get
your one custom expansion and one custom tone on top of them.
There is no limit on how long a meeting recording can be, on either plan.
### If you had Pro and went back to Free
Items you created while on Pro are not deleted. They stay in your lists, but only the number your
plan allows will be active, oldest first. The rest sit there inactive until you upgrade again.
The same thing happens if you sign in on a new machine and your settings arrive from a period
when you had Pro.
## Features
| Feature | Free | Pro |
| ---------------------------------------------- | ---- | --- |
| Custom AI instructions for dictation | Yes | Yes |
| Custom tones | Yes | Yes |
| Real-time transcription preview | No | Yes |
| Speaker diarization | No | Yes |
| More than one shortcut per action | No | Yes |
| Import and export your data | No | Yes |
| Mute or pause background audio while recording | No | Yes |
| Delete transcriptions and notes | No | Yes |
| Export a note as PDF, TXT, MD, SRT or VTT | No | Yes |
| Bulk export of notes or transcriptions | No | Yes |
| Real-time preview inside a meeting note | No | Yes |
| Auto-detect meetings | No | Yes |
| Auto-stop notes when the meeting ends | No | Yes |
| Ask AI on notes and transcripts | No | Yes |
| Auto-add corrections to your Dictionary | No | Yes |
| Auto-translate to English | No | Yes |
| Custom summary templates | No | Yes |
| Custom instructions for note summaries | No | Yes |
| Summary citations | No | Yes |
| Obsidian integration | No | Yes |
| Cloud Sync | No | Yes |
| Import meeting notes | No | Yes |
| Transcribe several files at once | No | Yes |
| Custom API providers | No | Yes |
| Connectors | No | Yes |
| Webhooks and scripts in voice shortcuts | No | Yes |
| Watch folders | No | Yes |
| Public share links | No | Yes |
**Custom AI instructions for dictation are free on both plans.** The separate custom-instructions
field for meeting-note summaries is a Pro feature, which is why the two look similar but behave
differently.
## When you hit a limit
Vowen tells you which limit you reached and offers to upgrade. Nothing you have already created
is removed.
What Pro costs and how licensing works
Every setting, section by section
# Settings reference
Source: https://docs.vowen.ai/reference/settings
Every setting in Vowen, what it does, its default, and which plan it needs.
Every default below is the value Vowen ships with, before anyone has changed anything.
Settings live in three places:
* The **Settings modal**, opened from **Settings** in the left sidebar footer or with
Cmd + ,. Ten sections: Account, General, Audio, Language,
Recording, Shortcuts, Sync, Developer, Experimental, Permissions.
* **Top-level sidebar pages**: Speech models, Dictionary, Voice Shortcuts, and the Vowen AI group
(Configure your AI, Notes, Tones, Connectors). These are pages, not settings sections.
* **Per-page settings modals**: the gear icon on Notes and on Transcribe opens a modal
scoped to that page.
The **Plan** column names the tier that unlocks a row. See
[Plan limits](/reference/plan-limits) for the full comparison.
## Settings modal
### Account
| Setting | What it does | Default | Plan |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ---- |
| Current Plan cards | Shows Free and Pro side by side. Once a licence is activated only the Pro card remains, with the masked licence key in place of the tagline | Free | Free |
| Activate License / Manage License | Opens the activation dialog, or the Dodo Payments customer portal | Not activated | Free |
| Deactivate | Releases the licence from this device. Only shown while activated | n/a | Pro |
| Name | Your display name, collected during onboarding | Empty | Free |
| Email | Your email address, collected during onboarding | Empty | Free |
| Import Data / Export Data | Backs up and restores your dictionary, threads and voice shortcuts | n/a | Pro |
| Privacy Policy / Terms of Service | Opens `vowen.ai` in your browser | n/a | Free |
Import/Export Data is a card at the bottom of **Settings > Account**. There is no separate
Privacy section in the settings modal.
### General
| Setting | What it does | Default | Plan |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ---- |
| Software Updates | Runs an update check on demand | n/a | Free |
| Open at Login | Launches Vowen when you log into your computer | Off | Free |
| Hide Dock Icon | macOS only. Removes the Dock icon; the app stays in the menu bar | Off | Free |
| Start Minimized to Tray | Windows only. Starts with no window, tray icon only | Off | Free |
| Auto-paste transcription | Pastes the finished transcription into the focused field | On | Free |
| Text Insertion Method | macOS and Windows. `Paste method` uses the clipboard; `Direct insertion` types character by character and never touches the clipboard. Disabled while Auto-paste is off | Paste method | Free |
| Auto Enter | Presses Enter after pasting. Disabled while Auto-paste is off | Off | Free |
| Restore clipboard after paste | Puts your previous clipboard contents back after pasting | On | Free |
| Sound Effects | Plays a cue when recording starts and stops | On | Free |
| Save transcriptions to history | Writes dictation entries to History. Word count and activity are tracked either way | On | Free |
| Remove filler words | Strips "uh", "um", "hmm" and the rest of the filler list from transcriptions | On | Free |
| Auto-add corrections to Dictionary (Beta) | macOS and Windows. When you edit transcribed text, offers to add the correction to your Dictionary. Requires a connected AI provider | Off | Pro |
| Resource efficient mode | Loads the model only when you dictate instead of keeping it in memory, trading a little speed for lower memory use. Only shown for Whisper models, and for Parakeet on Windows | Off | Free |
Light and dark theme is the sun/moon button in the window toolbar, not a row in General.
### Audio
| Setting | What it does | Default | Plan |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ---- |
| Microphone | Opens the microphone modal, which picks a device and edits the priority ranking. Vowen uses the highest-ranked microphone currently connected | Auto-detect (system default) | Free |
The ranking is kept per machine and is not included in Cloud Sync, so each computer keeps its own.
### Language
| Setting | What it does | Default | Plan |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ---- |
| UI Language | Language the Vowen interface is written in. 18 options | English | Free |
| Dictation Language | Language the speech model expects. The option list changes with the selected model, and some models lock it entirely | Auto-detect | Free |
| Notes Summary Language | Language AI note summaries are written in. Always offers the full catalog, since it is not tied to a speech model | Auto-detect | Free |
| English Spelling | American or British spelling for English output. Only shown when the dictation language is English or auto-detect, or the model is English-locked | American English | Free |
| Auto-translate to English | Translates non-English speech into English. Hidden when the effective dictation language is already English | Off | Pro |
Full detail on all three language settings: [Languages](/reference/languages).
### Recording
| Setting | What it does | Default | Plan |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------ |
| Indicator style | macOS only. Renders the recording indicator as a floating Pill or inside the notch | Pill | Free |
| Recording Indicator Position | Top, Bottom, or Don't show | Top | Free |
| Show idle pill | Keeps a minimised bar at the screen edge while idle. Hover to expand and start recording | Off | Free |
| Save audio recordings | Keeps the `.wav` files in `~/Documents/Vowen Recordings` | Off | Free |
| When recording starts | macOS and Windows. Do nothing, Mute system audio, or Pause the playing media session. Mute and Pause are mutually exclusive | Do nothing | Do nothing is Free. Mute and Pause are Pro |
| Mute system audio during recording | Checkbox shown instead of the three cards on platforms other than macOS and Windows | Off | Pro |
| Real-time transcription preview | Streams live text below the recording indicator. Requires a streaming-capable model; the row is blurred with an explanation when the current model cannot stream | Off | Pro |
### Shortcuts
Each row has an enable toggle and a click-to-record binding box. Transcription and Command Mode
also carry a Hold/Tap pill.
| Setting | What it does | Default | Plan |
| ------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------- | ---- |
| Transcription Shortcut | Starts and stops dictation | macOS `Fn`, Windows `Ctrl + Shift`. Enabled | Free |
| Command Mode Shortcut | Starts a Command Mode recording | `Alt + Shift` on both platforms. Enabled | Free |
| Hands-Free Mode | Press to start, press again to stop | macOS `Fn + Control`, Windows `Ctrl + H`. Enabled | Free |
| Start New Note | Opens the Start Taking Notes modal | macOS `Cmd + Shift + N`, Windows `Alt + N`. Disabled | Free |
| Paste Last Transcription | Re-pastes your most recent transcription | macOS `Cmd + Shift + L`, Windows `Ctrl + Shift + L`. Disabled | Free |
| Cancel Recording | Discards the recording in progress | `Escape` on both platforms. Enabled | Free |
| Add another shortcut | Adds an alternative binding to Transcription, Command Mode or Hands-Free | None | Pro |
The meeting panel binding is not on this page. It lives in **Notes settings > Recording
Defaults**, because it only works while the floating indicator is on and a meeting is running.
Full detail: [Shortcuts](/reference/shortcuts).
### Sync
Everything in this section sits behind a Pro gate.
| Setting | What it does | Default | Plan |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------- | ---- |
| Provider | iCloud Drive, Google Drive, Dropbox or OneDrive. Unavailable providers show a setup hint instead of a Connect button | Not connected | Pro |
| OneDrive account | Picks which OneDrive account holds the "Vowen Sync" folder. Only shown when more than one account is detected | Auto-detected | Pro |
| Auto-sync in the background | Syncs on launch, on change, and when you switch back to the app | Off | Pro |
| Sync transcription data | Includes transcriptions, meeting notes and manual transcriptions, not just preferences | On | Pro |
| Sync Now / Push to Cloud / Disconnect | Runs a sync, force-pushes local data, or disconnects the provider | n/a | Pro |
### Developer
| Setting | What it does | Default | Plan |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------- | ---- |
| Command Line Tool | Installs, updates or removes the `vowen` CLI. Shows the installed version and path, and flags an available update | Not installed | Free |
| Allow Dictations in Clipboard History | Lets clipboard managers such as Maccy, Raycast or Ditto record your dictations. Off keeps them out | Off | Free |
| Prefer IPv4 Connections | Resolves cloud services over IPv4 before IPv6. Applied live, no restart | On | Free |
### Experimental
The section carries a standing warning that these features are in active development.
| Setting | What it does | Default | Plan |
| -------------------------- | ------------------------------------------------------------------------------------------------------- | ------- | -------------------------------------------------- |
| Enable Connectors | Master toggle for the Connectors page. Turning it on adds Connectors to the sidebar | Off | Toggle visible to everyone; connectors require Pro |
| Enhanced silence detection | Raises the silence threshold for cloud models to stop phantom transcriptions in noisy rooms | Off | Free |
| Sensitivity | How much stricter the silence cutoff becomes, 1 to 5. Only shown while Enhanced silence detection is on | 2x | Free |
### Permissions
Status rows, not toggles. Each shows Granted, Checking, or an **Open Settings** button that
deep-links into System Settings. Status is re-checked whenever the window regains focus.
| Permission | Used for | Platforms |
| ----------------- | ----------------------------------------------- | --------------------- |
| Microphone Access | Recording audio | macOS, Windows, Linux |
| Accessibility | Global keyboard shortcuts and auto-pasting text | macOS only |
| Screen Recording | Screenshots for AI context | macOS only |
## Sidebar pages
These are top-level pages in the left sidebar, not sections of the settings modal.
### Speech models
| Control | What it does | Default |
| -------------------------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| Installed / Available model list | Download, delete and activate local models; configure cloud providers with an API key | Onboarding preselects **Parakeet V2** on macOS and Windows |
| Set Active | Makes a model the dictation model. Everything else that does not override it inherits this choice | n/a |
| Custom speech servers | Adds an OpenAI-compatible speech endpoint of your own | None |
### Dictionary
Three tabs, each with its own list and its own search box.
| Tab | What it holds | Default | Plan |
| ---------- | ------------------------------------------------------------------ | ---------------------------------- | --------------------------------------------------------------- |
| Dictionary | Custom vocabulary words and phrases you want transcribed correctly | Empty | Free, unlimited |
| Threads | Text replacements applied after transcription | Empty | Free, unlimited |
| Expansions | Live typing expansions triggered as you type | Two built-ins, `:date` and `:time` | 1 user expansion free, unlimited on Pro. Built-ins do not count |
The gear icon on the Expansions tab opens a two-tab modal:
| Tab | What it holds | Default |
| --------- | ---------------------------------------------------------------------------------- | ------- |
| General | Suggestions dropdown shown while typing a `:` trigger | Off |
| Variables | Global variable library, picked up by any expansion through a matching `{{token}}` | Empty |
### Voice Shortcuts
| Control | What it does | Default | Plan |
| -------------------------------------------- | --------------------------------------------------------------------------------------------- | ------- | --------------------------- |
| Built-in Voice Shortcuts | Voice-triggered actions that ship with Vowen | Enabled | Free |
| Custom Voice Shortcuts | Your own trigger phrase plus websites and applications to open | None | 3 on Free, unlimited on Pro |
| Enable LLM Voice Shortcut Routing | Matches spoken commands to voice shortcuts with an AI model instead of exact trigger matching | Off | Free |
| Fall back to regular voice shortcut matching | Uses pattern matching when the LLM fails or is unsure | On | Free |
| Show LLM reasoning in notifications | Displays why a voice shortcut was chosen | On | Free |
| Minimum confidence threshold | Below this the voice shortcut does not run. Range 0 to 1 | 0.5 | Free |
| Webhooks and custom scripts | Voice Shortcut steps that call a URL or run a script | n/a | Pro |
### Configure your AI
Three tabs.
**Configuration**
| Setting | What it does | Default | Plan |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | ----------------------------------------- |
| AI Provider grid | Connect a provider with your own API key. Azure adds resource, deployment and API version fields; Bedrock adds a region; custom entries add a base URL | Not connected | Free. Multiple custom API entries are Pro |
| Enhance transcription with AI | Cleans up and reformats every dictation through the connected model | Off | Free |
| Pass screen as context (Beta) | macOS only. Sends names visible in the focused window to your AI provider so it can fix misheard terms. Uses Accessibility, not Screen Recording | Off | Free |
| Custom Instructions | Free-text instructions appended to the enhancement prompt | Off | Free |
Custom AI instructions for dictation are free on every tier. The separate custom-instructions
field for meeting-note summaries is Pro.
**Command Mode**
| Setting | What it does | Default | Plan |
| ---------------------- | ----------------------------------------------------------------------------------------- | ------- | ----------------------------------------------- |
| Command Mode | Enables the spoken-command hotkey | Off | Free, 5 calls per day. Unlimited on Pro |
| Include screenshot | Attaches a screenshot as context. Requires Screen Recording permission on macOS | Off | Free |
| Region capture overlay | Shows a drag-to-capture overlay during Command Mode instead of capturing the whole screen | Off | Free |
| Custom Utilities | Hotkey-triggered AI prompts you write yourself | None | 1 preconfigured template free, unlimited on Pro |
**Memory**
| Setting | What it does | Default | Plan |
| ------------ | ----------------------------------------------- | ------- | ------------------------------ |
| Memory items | Persistent facts passed to the AI on every call | Empty | 3 items free, unlimited on Pro |
Memory items are not covered by Cloud Sync.
### Notes
The Notes page lists your meeting notes. Its gear icon opens the Notes settings modal,
documented below. The split button next to it starts a recording and lets you pick the
default summary template.
| Control | What it does | Default | Plan |
| ------------------------- | ---------------------------------------------------------------------------- | ------------------------ | ------------------------------- |
| Start Taking Notes | Begins a meeting-notes session. Disabled once the free note quota is reached | n/a | 10 notes free, unlimited on Pro |
| Default template dropdown | Sets the template every new note uses | Meeting Notes (built-in) | Free |
### Tones
| Control | What it does | Default | Plan |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ----------------------------- |
| Tone list | Per-app writing styles. Each tone can override the speech model, dictation language, AI provider and instructions | Empty; global settings are the fallback | 1 tone free, unlimited on Pro |
| Per-tone shortcut | Optional dedicated hotkey with its own Hold/Tap mode. Mouse buttons cannot be bound here | None | Free |
| Active in Apps | Applications the tone applies to automatically | None | Free |
### Connectors
Hidden until **Settings > Experimental > Enable Connectors** is on.
| Control | What it does | Default | Plan |
| ----------------------- | -------------------------------------------------------------------------------------------------------- | -------------- | ---- |
| Connector cards | MCP servers such as Linear, Notion and Vercel, reachable from Live Ask, Chat with Notes and Command Mode | None connected | Pro |
| Composio catalog search | Adds connectors from the wider Composio toolkit catalog | None | Pro |
Connectors are read-only. Vowen only exposes actions that look up or search your data,
never ones that create, change or delete it.
## Notes settings modal
Opened with the gear icon on the Notes page. Five tabs.
### Recording Defaults
Every row here is a default for new recordings. Leaving a row on "Use global default" makes it
inherit the matching global setting rather than copying it.
| Setting | What it does | Default | Plan |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ---- |
| Transcription Model | Speech-to-text engine used for meetings | Inherits the global model | Free |
| Language | Spoken language for meeting transcription | Inherits the global dictation language | Free |
| Microphone | Meetings normally follow the global microphone ranking. **Customize** gives meetings their own ranking; **Use global** discards it | Inherits the global ranking | Free |
| AI Summary Model | LLM that writes the post-meeting summary | Inherits the global provider | Free |
| Show real-time transcription preview | Streams live text into the note page while recording | Off | Pro |
| Meeting panel shortcut | Opens the floating meeting panel. Greyed out while the floating indicator is off | macOS `Cmd + \`, Windows `Ctrl + \`. Enabled | Free |
| Identify speakers | Speaker diarization. Only shown when the effective model is diarization-capable. The toggle carries no Pro badge, but speakers are only identified on Pro | Off | Pro |
| Merge speaker segments | Joins consecutive turns from the same speaker. Only shown while Identify speakers is on | Off | Pro |
| Number of speakers | Pins a known speaker count. Auto-detect, or 2 to 6 | Auto-detect | Pro |
| Summary citations | Cites the transcript inline; clicking a citation cues the audio at that moment | Off | Pro |
| Show floating indicator while recording | The meeting pill with pause, stop and quick notes. Turning it off also disables the meeting panel shortcut | On | Free |
### Meeting Detection
| Setting | What it does | Default | Plan |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------- | ---- |
| Auto-detect meetings | Offers to record when a trigger app starts using the microphone | Off | Pro |
| Auto-stop notes when meeting ends | Prompts to stop when the meeting app releases the microphone, with 15 seconds to cancel | Off | Pro |
| Trigger apps | Per-app toggles for the built-in registry, plus apps you add yourself. Only shown while Auto-detect meetings is on | All registry apps enabled | Pro |
| Detect other apps | Show the banner or ignore it when an unlisted app takes the microphone | Notify | Pro |
### Templates
| Control | What it does | Default | Plan |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------- | ---------- |
| Built-in Meeting Notes template | Always present. Its summary toggle, custom instructions, summary language, tags and system-audio capture are editable | Present | Free |
| Add from library | Opens the built-in template library. Free users can browse the catalog; every Add is locked | n/a | Pro to add |
| Create template | Writes your own summary prompt, description, tags and summary language | n/a | Pro |
| Default template | Marks which template new notes use | Meeting Notes | Free |
Do not begin a custom template prompt with `TITLE:`. Vowen injects the title instruction
itself, and adding it produces a duplicated header.
### Watch folders
| Control | What it does | Default | Plan |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ---- |
| Watched folders | Folders whose new audio and video files are transcribed automatically. Each folder carries its own model, language, diarization, speaker count, timestamp and notification rules; anything left unset inherits the Transcribe defaults | None | Pro |
Adding a folder seeds it against the files already present. It does not backfill them.
### Integrations
| Control | What it does | Default | Plan |
| -------- | -------------------------------------------------------------------------------------------------------------- | ------------- | ---- |
| Obsidian | Writes finished notes into a vault folder | Not connected | Pro |
| Webhook | POSTs `{transcript, summary, tags}` when a note summary is finalized. Supports custom headers and HMAC signing | Not connected | Pro |
| Export | Bulk-exports every note to disk | n/a | Pro |
The webhook fires on meeting notes only. There is no per-transcription webhook.
## Related
Every keyboard and mouse binding, with platform defaults.
The full free and Pro entitlement matrix.
Interface, dictation and summary languages, disambiguated.
Keys that work inside the Vowen window.
# Shortcuts reference
Source: https://docs.vowen.ai/reference/shortcuts
Every global recording shortcut, in-app shortcut, and bindable key or mouse button.
Three tables: the global recording shortcuts and their platform defaults, the fixed shortcuts
that work inside the Vowen window, and the complete set of keys and mouse buttons the shortcut
recorder will accept.
## Global recording shortcuts
Configured in **Settings > Shortcuts**, except the meeting panel binding, which lives in
**Notes settings > Recording Defaults**.
| Action | macOS default | Windows and Linux default | Enabled by default | Hold / Tap |
| ------------------------ | ----------------- | ------------------------- | ------------------ | ------------------------------------ |
| Transcription Shortcut | `Fn` | `Ctrl + Shift` | Yes | Hold or Tap. Default Hold |
| Command Mode Shortcut | `Alt + Shift` | `Alt + Shift` | Yes | Hold or Tap. Default Hold |
| Hands-Free Mode | `Fn + Control` | `Ctrl + H` | Yes | Always press-to-start, press-to-stop |
| Start New Note | `Cmd + Shift + N` | `Alt + N` | No | Single press |
| Paste Last Transcription | `Cmd + Shift + L` | `Ctrl + Shift + L` | No | Single press |
| Cancel Recording | `Escape` | `Escape` | Yes | Single press |
| Meeting panel | `Cmd + \` | `Ctrl + \` | Yes | Single press |
**Cancel Recording** and the **meeting panel** are both on out of the box. Cancel Recording
discards the recording in progress; if the recording was started in Tap mode or hands-free,
Vowen offers an undo that resumes it. Recordings started by holding a key are never resumable,
because the key release already ended them.
### Hold versus Tap
Only the **Transcription** and **Command Mode** rows carry the Hold/Tap pill, on the primary
binding and on each alternative independently.
| Mode | Behavior |
| ---- | ------------------------------------------------------------- |
| Hold | Push to talk. Release the key to stop and transcribe. Default |
| Tap | Press once to start, press again to stop |
**Hands-Free Mode** is press-to-start and press-to-stop by definition and has no pill.
**Start New Note**, **Paste Last Transcription**, **Cancel Recording** and the **meeting panel**
are single-press actions with no pill either. Per-tone shortcuts do have the pill.
A mouse-bound shortcut in Hold mode stops when you release the button, and also stops if you
press the same button again. In Tap mode it only stops on the second press.
### Alternative bindings
Adding more than one binding per action is a Pro feature.
See [Plan limits](/reference/plan-limits).
Transcription, Command Mode and Hands-Free each accept a list of alternatives. Every
alternative carries its own enable toggle, and on Transcription and Hands-Free its own
AI-enhancement override.
| AI override | Behavior |
| --------------- | --------------------------- |
| Enhance with AI | Always runs the AI enhancer |
| Off | Never runs the enhancer |
The primary binding has no AI pill. It follows your global enhancement setting. New
alternatives are created with the override set to Off.
### Conflicts and the grace period
Two shortcuts can never be bound to the same combination. The recorder checks the global
bindings, every alternative and every per-tone shortcut before saving, and refuses a duplicate
with an explanation.
When two shortcuts share a prefix, such as `Fn` and `Fn + Control`, Vowen waits **500 ms**
after the first match before committing. If the more specific combination arrives inside that
window it wins, which is what lets you start dictating on `Fn` and upgrade into hands-free by
tapping the extra modifier without releasing.
### Meeting panel constraints
The meeting panel toggle is a real Electron global shortcut rather than a hook binding, and it
is only registered while all three of these hold:
Outside a meeting the key belongs to whatever app you are in.
The panel is an extension of the indicator. Turning off **Show floating indicator while
recording** also disables the panel shortcut, and the settings row greys out.
It needs at least one modifier plus one ordinary key. Mouse buttons, `Fn` chords, the ISO
102nd key, modifier-only chords and bare single keys are all rejected up front.
## In-app shortcuts
These work inside the Vowen window and are not configurable.
| Action | macOS | Windows and Linux | Where |
| ------------------------------------------------------- | --------------------- | ---------------------- | ------------------------------ |
| Open or close the command palette | `Cmd + K` | `Ctrl + K` | Anywhere in the window |
| Focus the page search box | `Cmd + F` or `/` | `Ctrl + F` or `/` | Any list page |
| Back | `Cmd + Left` | `Alt + Left` | Anywhere |
| Forward | `Cmd + Right` | `Alt + Right` | Anywhere |
| Note tabs: Summary, Transcript, Ask AI | `Cmd + 1` / `2` / `3` | `Ctrl + 1` / `2` / `3` | An open note |
| Meeting panel tabs: Ask AI, My Notes, Transcript | `Cmd + 1` / `2` / `3` | `Ctrl + 1` / `2` / `3` | The meeting panel |
| Open the find bar | `Cmd + F` | `Ctrl + F` | Summary and transcript editors |
| Open find and replace | `Cmd + Shift + F` | `Ctrl + Shift + F` | Summary and transcript editors |
| Close the top-most overlay, or clear the list selection | `Esc` | `Esc` | Anywhere |
| Dismiss the meeting panel | `Esc` | `Esc` | The meeting panel |
| Open Settings | `Cmd + ,` | `Ctrl + ,` | Application menu |
| Minimize window | `Cmd + M` | `Ctrl + M` | Application menu |
| Close window | `Cmd + W` | `Ctrl + W` | Application menu |
| Hide Vowen | `Cmd + H` | Not bound | Application menu, macOS |
| Quit Vowen | `Cmd + Q` | `Ctrl + Q` | Application menu |
### Search focus
`/` is ignored while your cursor is already in a text field, otherwise you could never type a
slash into the box it just focused. `Cmd + F` works from a text field, matching browser
behavior. Shift is allowed with `/`, because several keyboard layouts need it to produce the
character. Both stand down while a modal is open, and only the search box actually visible
on screen responds.
### Back and forward
The history holds the last **10** locations. The chord is ignored while your cursor is in a
text field or a rich-text editor, and while any modal is open. On macOS `Cmd + Left` means
"move the caret to the start of the line", and stealing it would break editing a title or a
summary. The settings modal is deliberately not part of the history.
### Note and panel tabs
The digit chords read the physical key code, so they work on layouts where the digit row needs
a modifier, and the numeric keypad counts too. Unlike back and forward, they stay live while
your cursor is in the title, the summary editor or the Ask AI composer, because the chord is
not a text-editing gesture on any platform. They stand down while a modal is open.
The digits map to fixed tabs, not to positions. In a note, `1` is always Summary, `2` always
Transcript and `3` always Ask AI, even when the optional My Notes tab is present between
Transcript and Ask AI. In the meeting panel the order is different: `1` is Ask AI, `2` is
My Notes, `3` is Transcript.
### Escape
Escape goes to whatever is on top, and only that. Open dialogs form a stack, so closing a
picker you opened over the settings modal leaves the settings modal open behind it. With
nothing open and rows selected on Notes or Transcribe, Escape clears the selection. While the
meeting panel has focus, the global bare-Escape cancel binding is suppressed, so
dismissing the panel does not cancel the meeting recording.
## Bindable keys and mouse buttons
The shortcut recorder captures physical key codes, so what it stores is the key's position on
the board, not the character your layout produces.
### Modifiers
| Modifier | Variants captured |
| ----------------- | -------------------------------------------- |
| Control | `Control`, `LeftControl`, `RightControl` |
| Alt / Option | `Alt`, `LeftAlt`, `RightAlt` |
| Shift | `Shift`, `LeftShift`, `RightShift` |
| Command / Windows | `Meta`, `LeftMeta`, `RightMeta` |
| Fn | macOS only, captured through the native hook |
Left and right variants are distinguished, so `Left Alt + Space` and `Right Alt + Space` can do
different things.
### Ordinary keys
| Group | Keys |
| ---------------------- | ---------------------------------------------------------------------------------------- |
| Letters | A through Z |
| Digits | 0 through 9, from the number row |
| Function keys | **F1 through F24** |
| Whitespace and editing | Space, Enter, Tab, Backspace, Delete, Insert |
| Navigation | Arrow Up, Down, Left, Right, Home, End, Page Up, Page Down |
| Punctuation | `-` `=` `[` `]` `\` `;` `'` `` ` `` `,` `.` `/` |
| ISO 102nd key | Extra key on ISO boards, left of `1` on Mac layouts and next to Left Shift on PC layouts |
The ISO 102nd key is stored as a positional token rather than a character, because what it
types varies by layout: `º` on Spanish, `§` on UK Mac, `<` on German and French PC boards. The
keycap shown is translated through your active keyboard layout.
Because punctuation is captured by position and never translated, a combination that lands on
a punctuation key on one layout may sit on a different character on another. `Ctrl + /` fires
on QWERTY but not on AZERTY.
**Escape** is not capturable, with one exception: the Cancel Recording row, where it is the
default. Everywhere else Escape has to keep closing things.
### Mouse buttons
| Button | Stored as | Notes |
| ------------ | --------- | ------------------------------------- |
| Middle mouse | `middle` | |
| M4 | `m4` | Usually "back" in browsers |
| M5 | `m5` | Usually "forward" in browsers |
| M6 | `m6` | Captured only through the native hook |
| M7 | `m7` | Captured only through the native hook |
| M8 | `m8` | Captured only through the native hook |
Left and right click are deliberately not bindable, because binding them would swallow
ordinary clicking.
M6, M7 and M8 have no equivalent in the browser mouse event model, so they can only be
captured by the native hook. If your mouse reports them, the recorder will still pick them up.
A mouse binding is button-only. Recording a mouse button clears any keyboard part of the
binding, and the hook matches on the button alone.
Mouse buttons cannot be bound to **Cancel Recording**, to the **meeting panel**, or to a
**per-tone shortcut**. Those three recorders open with mouse capture disabled.
### While the recorder is open
Opening the recorder suspends Vowen's own hotkeys, so pressing your transcription combination
rebinds it instead of starting a recording. They are resumed when the dialog closes.
## Related
Every settings row and its default.
Longer explanations of the in-window keys.
Ways people combine bindings.
Which shortcut features need Pro.
# Tips for Better Accuracy
Source: https://docs.vowen.ai/transcription/accuracy
Get the most accurate transcriptions from Vowen.
The fastest path to high accuracy is pairing a good speech model with [AI Enhancement](/ai-features/ai-enhancement), then adding the words you say most to your [Dictionary](/features/dictionary). The model handles fast or accented speech, AI Enhancement cleans the rest, and the Dictionary keeps domain terms spelled correctly. Check first whether your model applies vocabulary at all. See [How vocabulary actually reaches each model](#how-vocabulary-actually-reaches-each-model).
## Choose the right model
Model choice is the single biggest factor in accuracy. See the [Models guide](/transcription/models) for the full comparison.
Rules of thumb:
* **English, offline:** Parakeet V2 is the default and is genuinely good. Nemotron EN (macOS) matches it and gives a punctuated live preview.
* **Professional work:** Whisper Large v3 Turbo locally, or a cloud model.
* **Non-English:** Parakeet V3 for European languages, Whisper Large v3 on Groq for everything else.
* **Fast or accented speech:** cloud models generally cope better than small local ones.
## Microphone tips
* **Use a dedicated microphone** when possible. Even basic earbuds beat a laptop mic at arm's length.
* **Minimize background noise.** Vowen has noise suppression, but a quieter room helps more.
* **Keep a consistent distance** from your microphone.
* **Check your input device** in **Settings > Audio** to make sure the right mic is selected.
## Speaking tips
* **Speak at a natural pace.** Rushing makes words blend together.
* **Pause briefly** before and after speaking so the first and last words are not clipped.
* **Enunciate** technical terms and unusual names.
* **Say punctuation explicitly** if you need it: "period", "comma", "new line". With AI enhancement, punctuation is added for you.
## Use your Dictionary
Add terms the model gets wrong: product names, technical jargon, proper nouns, acronyms, colleagues' names.
Click **Dictionary** in the left sidebar. It is a top-level page, not a settings tab.
Click **Add Word** in the toolbar and type the term as you want it spelled.
List the ways the recognizer gets it wrong: "cuber netties" for "Kubernetes", "github" for "GitHub". See [below](#mishearing-aliases).
Full guide: [Dictionary & Vocabulary](/features/dictionary).
### How vocabulary actually reaches each model
There is no single answer. Some engines steer recognition towards your terms and use your Dictionary well. Some take them only as a loose hint. Several take nothing at all, and on those your Dictionary does not affect transcription.
| Engine | Uses your Dictionary | Practical limit |
| ------------------------------------------------------ | -------------------- | --------------------------------------------- |
| Deepgram Nova 3 | Well | \~100 terms |
| Deepgram Nova 2 | Well | \~50 terms |
| AssemblyAI (files) | Well | Up to 1,000 terms, max 6 words each |
| AssemblyAI (dictation) | Well | 100 terms, max 6 words and 50 characters each |
| ElevenLabs Scribe v2 (files) | Well | 100 terms, max 5 words and 49 characters each |
| ElevenLabs Scribe v2 (dictation) | Well | 50 terms, max 5 words and 20 characters each |
| Speechmatics | Well | Up to 1,000 terms, max 6 words each |
| xAI Aurora | Well | 100 terms, max 50 characters each |
| Mistral Voxtral | Well | 100 terms. Spaces become underscores |
| Soniox | Well | About 6,000 tokens' worth of terms |
| Cartesia Ink 2 (dictation) | Well | 100 terms, 1,200 characters total |
| OpenAI `gpt-live-transcribe` / `gpt-transcribe` | Well | — |
| Gemini (files) | Weakly, as a hint | 100 terms |
| Groq Whisper | Weakly, as a hint | About 180 tokens' worth of terms |
| Local Whisper: Small, Medium, Large v3, Large v3 Turbo | Weakly, as a hint | About 180 tokens' worth of terms |
| Custom speech server | Weakly, as a hint | About 180 tokens' worth of terms |
| Sarvam Saaras v3 (dictation) | Weakly, as a hint | 50 terms |
The engines that get nothing:
| Engine | Why |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Parakeet** (all four models) | No vocabulary is applied at transcription time. |
| **Nemotron** (both models) | Same. Vocabulary never reaches the engine. |
| **Sarvam Saaras v3, file transcription** | Sarvam applies your terms during live dictation only. Files get nothing. |
| **Cartesia, file transcription** | Cartesia applies your terms during live dictation only. |
| **OpenAI `gpt-4o-transcribe-diarize`** | The only OpenAI model that emits speaker labels takes no vocabulary at all. Turning on speaker identification drops your vocabulary for that run. |
| **Gemini Live (dictation)** | Live dictation ignores your terms. Only Gemini file transcription applies them. |
| **Local Whisper Tiny and Base** | These models cannot act on vocabulary reliably, so Vowen skips them entirely. |
If your model is **Parakeet or Nemotron**, adding words to your Dictionary will not change what the recognizer hears. Your entries still work as [mishearing corrections](#mishearing-aliases) and [Threads](/features/threads), which are applied to the text afterwards. The recognition half does nothing. To influence recognition itself, switch to Whisper Small or larger, or to a cloud model from the table above.
When your list is longer than a provider's cap, Vowen does not cut it alphabetically. Terms are ranked by how often you have said them, then by how recently, so the words that matter to you survive the trim.
### Mishearing aliases
A Dictionary entry biases the recognizer, which is a hint, not a guarantee. A **mishearing** is the deterministic half. It is an exact phrase that gets rewritten to the entry's correct spelling after transcription, every time.
Open any Dictionary word and list the forms you keep seeing:
| Word | Mishearings |
| ---------- | ----------------------------- |
| Kubernetes | cuber netties, cooper netties |
| GitHub | github, git hub |
| PostgreSQL | postgres QL, post gray sequel |
Matching ignores case, so listing `github` under `GitHub` fixes capitalization alone. This works with **every** model, including Parakeet and Nemotron, because it runs on the text after transcription.
### Auto-learning from your corrections
Auto-add to Dictionary is a Pro feature, marked Beta, available on macOS and Windows. It also requires at least one AI provider to be connected.
Turn on **Settings > General > Auto-add corrections to Dictionary** and Vowen watches what you fix by hand right after a dictation. When it sees you correcting the same recognizer mistake, it offers to add it for you.
The two routes have deliberately different evidence bars:
| Offer | Appears after | Why |
| -------------- | ------------- | -------------------------------------------------------------------------------------------------------- |
| **New word** | One sighting | A dictionary entry is only a hint, so a wrong one costs little. |
| **Mishearing** | Two sightings | A mishearing becomes a permanent find-and-replace on every future transcript, so it wants corroboration. |
Both routes ask before changing anything, and a refusal is remembered. Decline a suggestion and Vowen will not raise it again.
## Pass screen as context
Screen context is **macOS only**, marked **Beta**, and **off by default**. The toggle only appears once AI enhancement is on and an AI provider is connected, because the feature works by adding names to the enhancement request.
Names are the hardest thing for a recognizer, and the correct spelling is often already on your screen in the Slack DM header, the member list, or the document title. This setting lets the AI enhancer use it.
Find it under **Configure your AI** in the sidebar, nested beneath **Enhance transcription**: *Pass screen as context*.
How it behaves:
* It reads the **Accessibility tree** of the focused window. It is **not** screen recording and takes no screenshots.
* The capture starts when your dictation starts and never blocks it. If the reading is not ready when the transcript is, the dictation goes without it.
* It only runs when AI enhancement will run. No enhancement means no capture at all.
* The candidate names ride along with the enhancement request you are already making. There is no second model call.
* It is strictly **opt-in**. Until you turn it on, nothing from your screen is read or sent.
This sends text visible in your current window to your AI provider. Only turn it on if you are comfortable with that.
## Use Threads for long-form phrases
If you dictate the same long phrase repeatedly (a university name, a mailing address, a signature, a project tag), set it up as a Thread. Speak a short trigger and Vowen inserts the full text.
1. Open **Dictionary** in the sidebar and switch to the **Threads** tab.
2. Add a trigger (what you say) and a replacement (what gets inserted).
3. For example: say "my university" and Vowen inserts "Stanford University, Stanford, CA".
Full guide: [Threads (Snippets)](/features/threads).
## Enable AI Enhancement
For polished output, turn on [AI Enhancement](/ai-features/ai-enhancement). It:
* Fixes remaining spelling and grammar issues.
* Adds proper punctuation and capitalization.
* Formats numbers correctly, so "three thousand" becomes "3000".
* Applies spoken commands like "new paragraph".
## Filler word removal
Vowen strips fillers like "um", "uh", "like" and "you know" before the text reaches AI Enhancement. This is on by default and works whether or not you have an AI provider connected. Toggle it in **Settings > General > Remove filler words**.
ElevenLabs Scribe v2 can also do this server-side: see the **Remove filler words and false starts** toggle in [Per-model options](/transcription/models#per-model-options).
## British spelling without an AI instruction
If your transcripts come back with American spellings, do not write an AI instruction for it. Set **Settings > Language > English spelling** to **British English**. It is a native, on-device converter that runs with or without AI enhancement. See [Languages](/transcription/languages#english-spelling).
## Backing up your Dictionary
Your Dictionary and Threads travel together in **Import / Export Data**, at the bottom of **Settings > Account**. Use it to move your terms between machines or keep a backup.
Import / Export Data is a Pro feature.
***
Running into accuracy issues? See the [Accuracy FAQ](/faq#accuracy).
# How Transcription Works
Source: https://docs.vowen.ai/transcription/how-it-works
The recording and transcription pipeline, from hotkey to text in your app.
## Recording modes
Vowen offers two ways to record.
### Push-to-talk (default)
Hold your shortcut to record, release to transcribe. This is the fastest way to dictate short phrases and sentences.
| Platform | Default shortcut |
| -------- | ---------------- |
| macOS | `Fn` |
| Windows | `Ctrl + Shift` |
### Hands-free
Toggle recording on or off without holding a key. Ideal for longer dictation sessions.
| Platform | Default shortcut |
| -------- | ---------------- |
| macOS | `Fn + Control` |
| Windows | `Ctrl + H` |
You can pick your own shortcut for either mode. See [Shortcut patterns](/features/shortcut-patterns) for setups people actually use.
Hands-free recording stops when you press the shortcut again, or when you click the stop button in the recording indicator. Both send your audio through transcription.
### Cancelling a recording
To throw the audio away instead of transcribing it, do one of these:
* Press `Escape` while recording.
* **Press and hold the stop button** in the indicator for about a second. A ring fills around the button as you hold; when it completes, the recording is discarded. Releasing early just stops the recording normally.
After a cancel, a notification appears with an **Undo** button for a few seconds. Click Undo to resume the same session with the audio you already recorded. If the notification dismisses without action, the audio is discarded and nothing is transcribed.
Beyond dictation, Vowen can run voice-triggered actions like compressing images, merging PDFs, opening apps, setting timers, and translating text. See [Command Mode](/ai-features/command-mode).
## The recording indicator
While you record, a small indicator appears on screen showing that Vowen is listening: the icon of the app that will receive your text, a waveform that pulses while you speak, and pause and stop controls in hands-free mode.
On macOS you can choose between two looks in **Settings > Recording > Indicator style**:
* **Pill.** A floating rounded bar at the top or bottom of the screen.
* **Notch.** The indicator lives inside the MacBook notch. On Macs without a notch, a centered synthetic notch hangs from the menu bar instead.
**Settings > Recording > Indicator position** moves the pill to the **top** or **bottom** of your screen, or **hides** it entirely.
**Settings > Recording > Show idle pill** adds a minimized bar at the screen edge when you are not recording. Hover it to expand and start a recording from the mouse.
Full detail, including moving and resizing, is in [the recording indicator guide](/features/recording-indicator).
## Real-time preview
If your model can stream, Vowen can show the transcription forming under the indicator while you speak, instead of only after you stop.
Turn it on in **Settings > Recording > Real-time transcription preview**. The row is greyed out until your active model supports streaming. [Models & Engines](/transcription/models#real-time-preview) lists which models qualify. On macOS, Nemotron's preview arrives already punctuated and capitalized; the other models' partials firm up as each utterance completes.
Real-time preview is a Pro feature.
## The transcription pipeline
```
Record --> Transcribe --> Post-process --> AI Enhance --> Smart Spacing --> Insert
audio (STT model) (fillers, (optional) & Capitalization
snippets)
```
Your microphone captures audio while the shortcut is held. Voice Activity Detection removes silence so there is less for the model to chew through.
The audio goes to your chosen model, either a [local model](/transcription/models#local-models) running on your machine or a [cloud model](/transcription/models#cloud-models).
Filler words are removed. Dictionary mishearings are corrected. Snippet replacements ([Threads](/features/threads)) are applied. Voice Shortcut triggers are checked.
The text is sent to your configured AI provider for grammar cleanup, formatting, and polish. You bring your own [API key](/ai-features/ai-setup); Vowen never charges you for AI usage.
Vowen reads the text immediately around your caret and fits the dictation into it. Always on, no setting. See [below](#smart-spacing-and-capitalization).
The final text is delivered to the focused field using either the **paste method** (default) or **direct insertion**. If nothing can accept text, you get the [drag-to-insert fallback](#when-there-is-nowhere-to-put-the-text) instead.
## Smart Spacing and Capitalization
A dictation rarely lands in an empty field. It lands next to words you already typed, and pasted raw it reads like a blob dropped into the middle of a sentence.
Smart Spacing fixes that. Just before inserting, Vowen reads the characters on either side of your caret and adjusts four things:
In the examples below, `^` marks where your caret is.
* **Leading space.** Caret at `Hello^world`, you dictate "friend". Result: `Hello friend world`.
* **Trailing space.** Caret at `^Hello`, you dictate "Hi there". Result: `Hi there Hello`.
* **Casing.** Caret at `I went to the^`, you dictate "Store today". Result: `I went to the store today`.
* **Trailing punctuation.** Caret at `The store^, yes`, you dictate "is closed." Result: `The store is closed, yes`.
Smart Spacing is always on and there is no setting for it. The caret context is read on your own machine (macOS Accessibility, Windows UI Automation), used for this one decision, and discarded. Nothing about the surrounding text is sent anywhere.
Vowen deliberately does nothing when the context is ambiguous, and suppresses spacing rules around scripts that do not separate words with spaces, such as Chinese, Japanese and Korean.
## Text insertion methods
Vowen offers two ways to deliver the final transcription into the focused field. They differ in clipboard behavior and in how they handle keyboard layouts.
### Paste method (default)
Vowen copies the transcription to your clipboard and simulates `Cmd+V` (macOS) or `Ctrl+V` (Windows). This is the fastest path and works well on standard QWERTY layouts.
Your original clipboard content is put back afterwards: **Restore clipboard after paste** in **Settings > General** is **on by default**. Turn it off only if you want the transcription to stay on the clipboard.
### Direct insertion method
Vowen types each character of the transcription as if you were pressing the keys yourself. The clipboard is never touched.
Use this method when:
* You use a non-QWERTY layout (AZERTY, QWERTZ, Dvorak, and others) where the paste keystroke does not map cleanly to the "V" key.
* The target app blocks standard paste, as some remote desktops, sandboxed terminals and virtual machines do.
Switch methods anytime in **Settings > General > Text insertion method**.
## When there is nowhere to put the text
Sometimes a dictation finishes and there is no editable field to receive it. You were looking at a Finder window, or a web page with nothing focused, or Vowen could not insert text because Accessibility permission was never granted.
Rather than pasting blind or silently losing the text, Vowen shows a **Drag to insert** card near the recording indicator. The card holds your transcript and you can:
* **Drag it** straight into any app, dropping the text where you want it.
* **Copy** it to the clipboard with the copy button.
* **Dismiss** it. The transcript is still in your [Voice Log](/transcription/voice-log) either way.
The card never touches your clipboard on its own, and it disappears when the next recording starts.
The drag-to-insert fallback is **macOS only**. On other platforms Vowen pastes as before. Anything short of clear evidence that no field is focused results in a normal paste, because a wrongly shown card would interrupt a flow you use hundreds of times a day.
## Voice Activity Detection
Vowen uses the Silero VAD model to detect speech in your recording. It:
* Removes silence before and after speech.
* Reduces processing time for local models.
* Prevents "hallucinations" on silent recordings, such as the model outputting "Thank you" when nothing was said.
VAD runs automatically and needs no configuration.
If you still get phantom transcriptions from a noisy room while using a cloud model, **Settings > Experimental > Enhanced silence detection** raises the threshold, with a sensitivity slider underneath it.
## Sound effects
By default, Vowen plays a subtle sound when recording starts and stops. Disable this in **Settings > General > Sound effects**.
# Languages
Source: https://docs.vowen.ai/transcription/languages
Dictation languages, per-model coverage, English spelling and auto-translation.
## Three different language settings
Vowen has three language settings and they do not affect each other. All three live in **Settings > Language**.
| Setting | What it controls |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **UI Language** | The language of the Vowen app itself: menus, buttons, settings. See [Interface language](/features/interface-language). |
| **Dictation Language** | The language you speak. This is what gets sent to the speech model. |
| **Notes Summary Language** | The language your meeting-note summaries are written in, independent of what was spoken. See [Summaries](/meeting-notes/summaries). |
Changing the interface to German does not make Vowen expect German speech, and setting a Hindi dictation language does not translate the app.
## Setting your dictation language
Go to **Settings > Language > Dictation Language** and click **Change**. A grid of the languages your current model supports opens; pick one, or leave it on **Auto-detect**.
| Mode | When to use it |
| ------------------ | ------------------------------------------------------------- |
| **Auto-detect** | You speak several languages and want the model to work it out |
| **Fixed language** | You mostly speak one language. More accurate |
For best accuracy, set a fixed language rather than relying on auto-detect. Auto-detect can occasionally switch to the wrong language mid-sentence.Switching languages mid-sentence? Set Auto-detect and pair it with **Soniox**, which handles real-time multilingual transcription better than anything else we have tested.
## The language list changes with your model
The language picker is not a fixed list. It shows exactly what your currently selected speech model can transcribe, and different models offer very different sets.
| Model | Languages offered in the picker |
| ------------------------------- | ------------------------------------------- |
| Whisper (multilingual variants) | 99 |
| Whisper `.en` variants | English only |
| Parakeet V3 | Auto-detect across 25 European languages |
| Parakeet V2 | English only |
| Parakeet Japanese | Japanese only |
| Parakeet Mandarin | Mandarin Chinese only |
| Nemotron EN | English only |
| Nemotron Multilingual | 31, plus Auto-detect |
| Nova 2 (Deepgram) | 33, plus Auto-detect |
| Nova 3 (Deepgram) | 50, plus Auto-detect |
| Aurora (xAI) | 25, plus Auto-detect |
| Voxtral Mini (Mistral) | 13, plus Auto-detect |
| Saaras v3 (Sarvam AI) | 23, plus Auto-detect |
| Speechmatics | 39 (real-time has no auto-detect) |
| Universal-3.5 Pro (AssemblyAI) | 6 for streaming dictation, plus Auto-detect |
| Real-Time STT (Soniox) | 60+, plus Auto-detect |
That has two consequences.
**A stored language your new model cannot handle is silently reset to Auto-detect.** If you set Tamil while using Nova 3 and then switch to Nova 2, which does not offer Tamil, Vowen quietly drops the setting back to Auto-detect rather than sending the model a language it will not understand. There is no prompt. Check the Dictation Language row after switching models.
**Parakeet and Nemotron EN lock the picker entirely.** These models have a fixed language built into the weights, so the grid is greyed out and explains why: "Parakeet only supports auto-detect", "Parakeet (English) only transcribes English", "Parakeet (Japanese) only transcribes Japanese", "Parakeet (Mandarin) only transcribes Mandarin Chinese", or "Nemotron EN transcribes English only. Switch to Nemotron Multilingual for other languages." The Dictation Language row shows the model's effective language instead of your stored one.
## English spelling
For British rather than American spelling, use Vowen's native converter instead of an AI instruction.
Set **Settings > Language > English spelling** to **British English** and Vowen rewrites `color` to `colour`, `organize` to `organise`, `center` to `centre`, `defense` to `defence`, and so on, as the last step before the text is inserted.
* It runs **on your device**, deterministically. Nothing extra is sent anywhere.
* It works **whether or not AI enhancement is on**. When enhancement is on, Vowen also tells the model to use British spelling, and the converter acts as a safety net for anything it missed.
* **American English** is the default and applies no conversion.
The row appears only when your dictation language is English or Auto-detect, or when your model is an English-only or Parakeet model.
## Auto-translate to English
Auto-translate to English is a Pro feature.
Turn on **Settings > Language > Auto-translate to English** and non-English speech comes out as English text. You can also toggle it from the **tray menu**, where it appears whenever your effective dictation language is not English.
How the translation happens depends on your model, and the difference is privacy-relevant.
| Model | How translation happens |
| -------------------- | ------------------------------------------------------------------------------------------- |
| Local Whisper models | Whisper's own built-in translation. Everything stays on your machine. |
| Cloud models | The transcript is translated **after** transcription by sending it to **Google Translate**. |
| Parakeet | Same: the transcript is sent to **Google Translate** after transcription. |
On a cloud model or Parakeet, enabling auto-translate sends your transcribed text to a third service (`translate.google.com`) that you did not configure and that is separate from your speech provider. If that is not acceptable, use a local Whisper model for translation, or leave the setting off and translate through your own [AI provider](/ai-features/ai-enhancement) instead.
The toggle disappears when the effective dictation language is already English, since translation would be a no-op. On cloud models Vowen warns that translation adds a brief delay after transcription completes.
## Nemotron Multilingual
Nemotron Multilingual (macOS, Apple Silicon) covers 31 languages:
Arabic, Bulgarian, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hindi, Hungarian, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish, Ukrainian.
Its partial results arrive already punctuated and capitalized, which no other local model does. See [Models & Engines](/transcription/models#nemotron-macos-apple-silicon).
## Parakeet language support
Parakeet is four separate models with four different language coverages.
* **Parakeet V3** auto-detects across 25 European languages: Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Ukrainian.
* **Parakeet V2** is English only and the fastest of the four.
* **Parakeet Japanese** transcribes Japanese only. macOS only.
* **Parakeet Mandarin** transcribes Mandarin Chinese only. macOS only, and it produces no timestamps.
## Language-specific recommendations
| Language | Recommended model | Notes |
| -------------------------------- | --------------------------------------------- | ------------------------------------------------------- |
| English | Parakeet V2 or Nemotron EN | Offline, fast. Nemotron gives a punctuated live preview |
| Spanish, French, German, Italian | Parakeet V3 | Offline with auto-detection |
| Swedish, Romanian, Greek | Whisper Large v3 (Groq) | Smaller local models struggle with these |
| Russian | Whisper Large v3 (local or Groq), or Soniox | See the note below on GigaAM |
| Indian languages | Saaras v3 (Sarvam AI) | 22 Indian languages plus English |
| Japanese | Parakeet Japanese (macOS) or Whisper Large v3 | |
| Mandarin | Parakeet Mandarin (macOS) or Whisper Large v3 | |
| Arabic, Hebrew | Whisper Large v3 or a cloud model | Right-to-left output is handled by your target app |
| Mixed languages in one sentence | Real-Time STT (Soniox) | Best multilingual switching we have tested |
**GigaAM v3, the on-device Russian model, was retired in v0.5.2.** If it was still your selected model when you updated, Vowen shows a banner saying it has been removed and dictation will not run until you pick another one. For Russian, use local Whisper Large v3 or Large v3 Turbo, Whisper Large v3 on Groq, or Soniox.
## Tips for non-English transcription
1. **Use a multilingual model.** The `.en` Whisper models, Parakeet V2 and Nemotron EN are English-only.
2. **Set the language explicitly** instead of relying on auto-detect.
3. **Check the language row after switching models.** An unsupported language is reset to Auto-detect without telling you.
4. **Add names and technical terms** to your Dictionary. Only some engines act on them. See [Accuracy](/transcription/accuracy#how-vocabulary-actually-reaches-each-model).
# Manual Transcription
Source: https://docs.vowen.ai/transcription/manual-transcription
Transcribe audio and video files with Vowen.
The free plan includes 10 manual file transcriptions in total. Pro unlocks unlimited transcriptions, speaker identification, multi-file batches, watch folders, deletion and export.
Beyond live dictation, Vowen transcribes pre-recorded audio and video: interviews, podcasts, recorded meetings, voice memos, lecture recordings.
Everything lives on the **Transcribe** page in the left sidebar.
## Transcribing a file
Click the **Transcribe** button at the top right of the window. A dialog opens with the upload options.
Choose any configured local or cloud model from the **Transcription Model** dropdown. The choice is per-file, so you can push one recording through a higher-accuracy model without changing your dictation default.
Pick a **Language** or leave it on Auto-detect. If the model supports it, toggle **Identify Speakers** to label who said what. Leave **Add Timestamps** on to get clickable per-segment times, or turn it off for a clean transcript. (Timestamps are hidden when Identify Speakers is on, since diarized output carries its own segment structure.)
Drag and drop an audio or video file into the drop zone, or click to browse.
Vowen handles compression and chunking automatically. The result appears with `[MM:SS]` badges where the model provides them, and you can edit, copy, regenerate or export it.
### Transcribing several files at once
Attaching more than one file per run is a Pro feature. On the free plan the button reads **Add more files (Pro)** and each run takes exactly one file.
With Pro, drop in as many files as you like. They queue up, run with the same model and language settings, and each becomes its own transcription.
## Transcribe settings
The **gear icon** in the Transcribe toolbar opens a settings modal with three tabs.
Pre-fills the Transcribe dialog so you are not re-picking the same options every time. Per-run changes in the dialog stay one-off and are never written back here.
* **Transcription Model**, or leave it on "Same as dictation", which follows whatever your dictation model is.
* **Language**
* **Identify Speakers**, plus **Merge speaker segments** and **Number of speakers** once it is on
* **Add Timestamps**
* **Notify me when complete**, which shows a banner when a transcription finishes
Automatically save each finished transcription to a folder on disk, in addition to keeping it in the app. Tick any combination of **Plain Text (.txt)**, **SubRip (.srt)** and **WebVTT (.vtt)**, and choose an export location (your Downloads folder by default).
This applies to every job, including watch-folder ones.
Drop a recording into a watched folder and Vowen transcribes it automatically. Each folder can carry its own model, language, speaker and tag rules, or inherit the Defaults tab.
Files already sitting in the folder when you add it are skipped; only new arrivals are picked up. See [Watch folders](/meeting-notes/watch-folders).
## Supported formats
**Audio:** `mp3`, `wav`, `m4a`, `aac`, `ogg`, `flac`, `wma`, `opus`
**Video:** `mp4`, `mov`, `avi`, `mkv`, `flv`, `wmv`, `webm`, `mpeg`, `mpg`
For video files, Vowen extracts the audio track before transcription.
## Timestamps
Local Parakeet (V2, V3 and Japanese) and Whisper produce per-segment timestamps, shown as time badges you can click to jump the audio. Most cloud models do too.
Two exceptions: **Parakeet Mandarin** returns plain text with no timings, and **Nemotron** streams the file through its live engine, which also produces no timings. Neither can offer subtitle export.
## File size and duration limits
Vowen compresses and chunks large files for you. What it does depends on the provider.
| Provider | Trigger | What Vowen does |
| ---------------------------------------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Groq Whisper | Over 24 MB | Compresses WAV to 96 kbps MP3. If still over, splits into chunks of about 30 minutes |
| OpenAI | Over 23 minutes, or over 24 MB | Splits into 23-minute chunks. Compresses WAV to MP3 first when it is only the size that is over |
| Google Gemini | Base64-encoded audio over 18 MB | Compresses WAV to MP3; if still over, uploads through the Gemini Files API instead of inlining. In practice 96 kbps MP3 crosses this at roughly 26 minutes, so most meeting recordings take the Files API path |
| ElevenLabs Scribe v2 | Over 50 MB | Splits into 20-minute chunks and merges the results |
| Mistral Voxtral | Over 170 minutes, or over 950 MB | Splits into 170-minute chunks |
| Sarvam Saaras v3 | Over 28 seconds | Splits into 28-second chunks (Sarvam enforces a hard 30-second limit) |
| Deepgram, AssemblyAI, Soniox, Speechmatics, xAI Aurora, Cartesia | — | Audio is sent as-is; the provider's own limits apply |
You never need to split a file by hand.
OpenAI enforces a hard 25 MB per-request limit. If a recording is still over 24 MB after compression **and** short enough that chunking by duration would not help, Vowen reports that the file is too large rather than failing silently.
## Regenerating a transcription
Open a completed transcription and the sidebar shows a **Regenerate Transcript** panel listing every model you have configured, grouped by **Local** and **Cloud**.
1. Open the transcription detail page.
2. Pick any model from the panel.
3. For diarization-capable models, toggle **Identify Speakers**.
4. Click **Regenerate Transcript**.
The original is preserved as a version, so regeneration adds a new one rather than overwriting. Useful for comparing models on the same audio, or for a higher-accuracy pass after a quick first run.
## Export
Open a transcription and click **Export**. The dialog shows a live preview and lets you choose:
| Format | Extension | Best for |
| ---------- | --------- | ---------------------------- |
| PDF | `.pdf` | Shareable formatted document |
| Plain Text | `.txt` | Notes, copy-paste, archival |
| Markdown | `.md` | Docs, wikis, note apps |
| SubRip | `.srt` | Video editor subtitles |
| WebVTT | `.vtt` | Web video captions |
**Include title & date** adds a header to document exports. Speaker labels and timestamps come along automatically when the transcript has them.
Subtitle formats only appear when the transcript has per-segment timing. Captions are timed straight from those segments, one cue per spoken segment, with speaker names where available. A transcript with no segment timing will not offer subtitles; use PDF, Text or Markdown.
Exporting is a Pro feature.
## Renaming
A transcription's title defaults to the file's name. Open it and edit the title field at the top of the detail page; changes save automatically and the list updates.
## Organizing with tags
Manual transcriptions have their own tag system, separate from meeting-note tags.
* Add tags to any card with **add tag**. Create a new coloured tag or reuse an existing one.
* Use the **tag filter bar** above the list, with a **Match: Any / All** toggle when two or more tags are selected, plus sorting by Newest, Oldest or Recently tagged.
* Use the **search box** to find a transcription by name.
## Multi-select and bulk actions
Hover a finished card to reveal its checkbox. As soon as one is ticked, a bulk-action bar appears at the bottom of the window with:
| Action | What it does |
| -------------- | --------------------------------------------------------------------------------------- |
| **Select all** | Ticks every visible transcription. Becomes **Deselect all** once everything is selected |
| **Add tags** | Applies or removes tags across the whole selection |
| **Export** | Opens the batch export dialog |
| **Delete** | Removes the selected transcriptions (Pro) |
| **Cancel** | Clears the selection |
Only finished transcriptions can be selected; anything still processing has no checkbox.
### Batch export
The **Export** action exports everything you selected in one go. Pick **Markdown**, **Plain Text** or **PDF**, plus **SubRip** and **WebVTT** when every selected transcript carries segment timing. Batch export is Pro.
## Editing a transcript
Open any completed transcription (or meeting note) to edit it segment by segment:
* **Edit text.** Click into a segment and type. Undo and redo with `Cmd/Ctrl+Z` and `Cmd/Ctrl+Shift+Z`.
* **Split a segment.** Open the segment's `⋯` menu, place your cursor at the cut point, and choose **Split at caret**. The split snaps to the nearest word boundary and timestamps are interpolated.
* **Delete a segment.** From the same menu.
* **Reassign a line to a speaker.** On diarized transcripts, move a single line to a different or new speaker. To fold two speakers together entirely, use [Merge Speakers](/meeting-notes/diarization#merging-speakers).
## Finding text in a transcript
Press `Cmd+F` (macOS) or `Ctrl+F` (Windows) inside a transcript to open the find bar. It searches case-insensitively across the whole transcript, highlights every match, and shows a `current/total` counter. `Enter` goes to the next match, `Shift+Enter` the previous (both wrap), `Esc` closes.
## Playing back the audio
When a transcription has a saved audio file, a waveform player appears at the top of the detail page:
* **Play/Pause**, plus **Back 10s** and **Forward 10s**.
* **Scrub** by clicking or dragging anywhere on the waveform.
* Click a segment's timestamp to **jump the audio there** and start playing.
* The current segment is **highlighted and scrolled into view** as audio plays, paused while you are editing.
## Chat with the transcript
Once a transcription is complete you can ask AI questions about it from the chat panel: pull out action items, summarize a section, find a quote. See [Chat with Transcriptions](/features/chat).
# Model Download & Management
Source: https://docs.vowen.ai/transcription/model-download
Download, manage and remove local speech models, and what Vowen downloads on your behalf.
## Your first model
Vowen offers you a model to download during onboarding.
| Platform | Offered | Default |
| -------- | ---------------------------------- | ------------------------------- |
| macOS | **Parakeet V2** or **Parakeet V3** | Parakeet V2, marked Recommended |
| Windows | **Parakeet V2** or **Parakeet V3** | Parakeet V2, marked Recommended |
| Linux | Whisper models | **Base** |
**Parakeet V2** is English-only and the fastest of the family. If you speak anything other than English, expand the **Parakeet V3** card in the same step and pick that instead: it auto-detects across 25 European languages.
You can change your mind at any time from the **Speech models** page in the sidebar.
## Downloading more models
Click **Speech models** in the left sidebar. Local models are listed under **English Only** and **Multilingual**.
Each card shows the model's name and download size. A card you do not have yet carries a download arrow on the right.
Click the card. The whole card is the button, and the download starts straight away, so there is no confirmation step to catch a mis-click. Progress replaces the logo with a ring.
Clicking a model card you have **not** installed begins the download immediately. On Large v3 that is 1.5 GB. Check the size on the card before you click.
The model is selected automatically once the download finishes.
On corporate or restricted networks, in-app downloads can fail with a certificate error. See [Manual Model Installation](/troubleshooting/manual-model-install) for how to download models in your browser and install them yourself.
## First-run optimization
The first time a Parakeet or Nemotron model runs on your Mac, it is optimized for your specific chip. This is a one-time cost per model, and it is why an otherwise instant model appears to hang the first time.
* It takes roughly **20 seconds**, and noticeably longer the very first time you ever run one.
* While it runs, the indicator shows **"Optimizing Parakeet model — first-run optimization for your device."**
**A dictation you start during optimization is saved, not transcribed.** Vowen keeps the audio and adds a row to your [Voice Log](/transcription/voice-log) reading *"Transcription pending — model is optimizing"*. Once optimization finishes, open that entry's menu and choose **Retry transcript**. Nothing is lost, but the text will not appear in your app until you do.
After the first run the model stays warm in a background service, so ordinary dictations pay no load cost at all.
## The hidden streaming model
If you use Parakeet on macOS, there is a model in your models folder you never asked for.
**Parakeet V2 and V3 need a separate end-of-utterance streaming model** to power the live transcription preview. It is about 200 MB, and Vowen downloads it quietly in the background after the batch model finishes. It is deliberately kept out of the visible download progress so the bar reflects the model you actually picked.
* It is shared. V2 and V3 use the same weights, so having both installed does not download it twice.
* It is **removed automatically** when you uninstall your last Parakeet model.
* **Parakeet Japanese and Mandarin do not use it**, so installing only those never pulls it down.
* It is macOS only.
If you are auditing disk use and find a `parakeet-eou-streaming` folder you do not recognize, that is what it is.
## Other automatic downloads
| What | When | Size |
| ------------------------------------------ | --------------------------------------------------- | ------------------------------------- |
| Parakeet end-of-utterance streaming model | After installing Parakeet V2 or V3 on macOS | \~200 MB |
| Speaker diarization bundle (Windows) | The first time you use Identify Speakers on Windows | \~30 MB |
| Speaker diarization models (macOS) | The first time you use Identify Speakers on macOS | Fetched by the speech engine |
| Streaming voice activity detection (macOS) | The first time Parakeet streaming runs | A few MB, cached by the speech engine |
None of these appear as selectable models, because none of them are.
## Managing models
### Switching models
Click any downloaded model to make it active. You can also switch models from the tray icon's right-click menu without opening the app.
### Deleting models
Click the delete icon on a downloaded model's card to free up disk space. You can re-download it later.
The icon only appears on models you are **not** currently using, so the active model cannot be deleted by accident. To remove the one you are on, switch to another model first and the delete icon appears on the old one.
### Disk space
| Model | Download |
| ----------------------------- | ------------------------------------- |
| Whisper Tiny / Tiny (EN) | \~74 MB |
| Whisper Base / Base (EN) | \~141 MB |
| Whisper Small / Small (EN) | \~465 MB |
| Whisper Medium / Medium (EN) | \~1.4 GB |
| Whisper Large v3 | \~2.9 GB |
| Whisper Large v3 Turbo | \~1.5 GB |
| Parakeet V2 | \~430 MB (macOS) / \~451 MB (Windows) |
| Parakeet V3 | \~445 MB (macOS) / \~478 MB (Windows) |
| Parakeet Japanese (macOS) | \~532 MB |
| Parakeet Mandarin (macOS) | \~1.5 GB |
| Nemotron EN (macOS) | \~528 MB |
| Nemotron Multilingual (macOS) | \~588 MB |
Add roughly 200 MB on top if you have any Parakeet V2 or V3 installed on macOS, for the streaming model above.
Parakeet ships a different build on each platform, which is why the download sizes differ. Parakeet Japanese, Parakeet Mandarin and both Nemotron models are macOS only and do not appear on the Windows list at all.
## GPU acceleration (Windows)
Local Whisper transcription on Windows can be accelerated with an NVIDIA GPU.
Requirements:
* **Windows only.** Macs need nothing extra; Linux is not supported.
* An **RTX 2000 series or newer** NVIDIA GPU. AMD and Intel GPUs are not supported.
* About **631 MB** of disk for the CUDA module. You do **not** need to install the CUDA toolkit separately.
Scroll to the bottom of the **Speech models** page. The **GPU Acceleration** section only appears when Vowen detects a supported GPU, so if you cannot see it, your card is not eligible.
Click the download button on the **NVIDIA CUDA** card. The card shows progress in MB and can be canceled.
The card then reads **GPU active · RTX 2000+**. You can remove the module later with the delete button next to it.
With GPU acceleration, even Whisper Large v3 responds in a couple of seconds.
## Resource Efficient Mode
On a constrained machine, enable **Resource Efficient Mode** at the bottom of **Settings > General**. Vowen then runs the model as a one-shot process instead of keeping it resident: lower memory use, slightly slower transcription.
The row is hidden when it cannot do anything. That means with a cloud model selected, and with Parakeet on macOS, which has no one-shot path.
## Cloud models
Cloud models need no download and use no local disk. Sign up with the provider, generate an API key, and paste it into Vowen.
Open **Speech models** and choose one from the Cloud section.
Use the link in the panel to open the provider's dashboard. Groq, Deepgram, AssemblyAI, Gemini and others have free tiers that cover ordinary use.
Paste the key and save. The model is ready immediately.
Connect as many providers as you like and switch between them at any time. See [Models & Engines](/transcription/models#cloud-models) for what each one offers.
***
Have a question about downloading or connecting models? See the [Models FAQ](/faq#models).
# Models & Engines
Source: https://docs.vowen.ai/transcription/models
Choose the right speech-to-text model for your use case.
Vowen runs your dictation through a speech model of your choice. Some run entirely on your machine, some are cloud APIs you connect with your own key, and one lets you point Vowen at a server you run yourself.
All of them live on the **Speech models** page in the left sidebar. That page has three sections: **Cloud**, **Local** (split into English Only and Multilingual), and, on Windows, **GPU Acceleration**.
## Quick recommendations
| Use case | Recommended model | Why |
| -------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------ |
| Everyday English (macOS, Windows) | Parakeet V2 | The default. Offline, fast, English-only |
| Everyday multilingual (macOS, Windows) | Parakeet V3 | Offline, auto-detects 25 European languages |
| Live preview with punctuation (macOS) | Nemotron EN or Nemotron Multilingual | The only local models whose partial results are already punctuated |
| Maximum offline accuracy | Whisper Large v3 Turbo | Best local accuracy per second of processing |
| Fastest cloud accuracy on a free tier | Whisper Large v3 Turbo (Groq) | Generous free tier, very fast |
| Non-English via cloud | Whisper Large v3 (Groq) or Nova 3 (Deepgram) | Strong multilingual coverage |
| Indian languages | Saaras v3 (Sarvam AI) | 22 Indian languages plus English |
| Japanese | Parakeet Japanese (macOS) or a cloud model | Purpose-trained local option |
| Mandarin | Parakeet Mandarin (macOS) or a cloud model | Purpose-trained local option |
| Meetings where you need speaker labels | Nova 3, Scribe v2, Universal-3.5 Pro, or local Parakeet / Whisper | See [Speaker identification](#speaker-identification) |
| Maximum privacy | Any local model | Audio never leaves your device |
## Local models
Local models run entirely on your machine and need no internet connection. Nothing is bundled with the installer. You download every local model on demand from the Speech models page. See [Model Download & Management](/transcription/model-download).
Sizes below are the download sizes as the app reports them.
### Parakeet
NVIDIA's Parakeet family. Vowen ships four separate Parakeet models, not one. Each is a different set of weights with its own language coverage and its own capabilities.
| Model | Platforms | Download | Languages | Live streaming | Timestamps | Speaker labels |
| ------------------------- | -------------- | --------------------------------- | ------------------------------------ | -------------- | ---------- | -------------- |
| **Parakeet V2** (default) | macOS, Windows | 430 MB (macOS) / 451 MB (Windows) | English only | Yes (macOS) | Yes | Yes |
| **Parakeet V3** | macOS, Windows | 445 MB (macOS) / 478 MB (Windows) | 25 European languages, auto-detected | Yes (macOS) | Yes | Yes |
| **Parakeet Japanese** | macOS | 532 MB | Japanese only | No | Yes | No |
| **Parakeet Mandarin** | macOS | 1.5 GB | Mandarin Chinese only | No | No | No |
**Parakeet Mandarin** returns plain text only: no per-word timings, so no clickable timestamps and no subtitle export, no live preview, and no speaker labels. Everything else about it works normally.
**Parakeet Japanese and Mandarin are macOS only.** There is no Windows build, and on Windows the Speech models page simply does not list them.
On macOS, Parakeet V2 and V3 also pull down a small **end-of-utterance streaming model** in the background. It is what powers the live transcription preview. You never pick it or see it in the model list. See [the download page](/transcription/model-download#the-hidden-streaming-model) for what it is and when it gets removed.
### Nemotron (macOS, Apple Silicon)
NVIDIA Nemotron Speech models. Both stream natively, and unlike Parakeet their live preview arrives already punctuated and capitalized. It reads as finished text while you are still speaking, instead of arriving as a lowercase run-on that gets fixed at the end.
| Model | Platforms | Download | Languages | Live streaming | Timestamps | Speaker labels |
| ------------------------- | --------------------- | -------- | ------------ | --------------- | ---------- | -------------- |
| **Nemotron EN** | macOS (Apple Silicon) | 528 MB | English only | Yes, punctuated | No | No |
| **Nemotron Multilingual** | macOS (Apple Silicon) | 588 MB | 31 languages | Yes, punctuated | No | No |
Nemotron transcribes files with the same engine it uses for dictation, so its output carries no per-segment timings.
See [Languages](/transcription/languages#nemotron-multilingual) for the full 31-language list.
### Whisper
OpenAI's Whisper, running locally on your own machine. 99 languages on the multilingual variants.
| Model | Download | Speed | Accuracy | Best for |
| -------------- | -------- | ----------- | ------------------- | ---------------------- |
| Tiny | 74 MB | Fastest | Basic | Quick notes, testing |
| Tiny (EN) | 74 MB | Fastest | Basic (English) | Fast English dictation |
| Base | 141 MB | Fast | Good | Multilingual basics |
| Base (EN) | 141 MB | Fast | Good | General English use |
| Small | 465 MB | Medium | Great | Professional work |
| Small (EN) | 465 MB | Medium | Great (English) | Detailed English |
| Medium | 1.4 GB | Slow | Excellent | High-quality output |
| Medium (EN) | 1.4 GB | Slow | Excellent (English) | Long-form English |
| Large v3 | 2.9 GB | Slowest | Best | Maximum accuracy |
| Large v3 Turbo | 1.5 GB | Medium-Fast | Excellent | Best balance |
The **(EN)** models are English-only and slightly more accurate for English than their multilingual counterparts of the same size.
**Tiny and Base ignore your Dictionary.** Among the local Whisper sizes, only Small, Medium, Large v3 and Large v3 Turbo use your vocabulary. If you rely on custom vocabulary, use Small or larger. See [Accuracy](/transcription/accuracy#how-vocabulary-actually-reaches-each-model).
### Start-up cost
Ordinary dictations pay no model load cost. On macOS and Windows alike, a local model is loaded once and stays ready between dictations.
You do pay a one-time wait the first time a given model runs on your Mac, while it is optimized for your specific chip. That takes roughly 20 seconds, and noticeably longer the very first time. During that window the indicator shows "Optimizing Parakeet model", and a dictation you start anyway is saved for retry rather than transcribed. See [the download page](/transcription/model-download#first-run-optimization) for what to expect.
## Cloud models
Cloud models send audio to a third-party API. They need an internet connection and an API key that you supply. Vowen never charges you for cloud transcription; you pay the provider directly, and most have a free tier.
Counts below are the languages Vowen offers in the dictation language picker for that model. See [Languages](/transcription/languages#the-language-list-changes-with-your-model) for the lists themselves.
| Model | Provider | Dictation languages | Real-time streaming |
| ---------------------- | ------------ | -------------------------------- | ------------------- |
| Whisper Large v3 Turbo | Groq | 99 | No |
| Whisper Large v3 | Groq | 99 | No |
| Nova 2 | Deepgram | 33 | Yes |
| Nova 3 | Deepgram | 50 | Yes |
| Scribe v2 | ElevenLabs | Multilingual | Yes |
| Universal-3.5 Pro | AssemblyAI | 6 streaming / multilingual batch | Yes |
| Voxtral Mini | Mistral | 13 | Yes |
| Saaras v3 | Sarvam AI | 23 (22 Indian + English) | Yes |
| Real-Time STT | Soniox | 60+ | Yes |
| Aurora | xAI | 25 | Yes |
| Ink 2 | Cartesia | English | Yes |
| Speechmatics | Speechmatics | 39 | Yes |
| OpenAI | OpenAI | Multilingual | Yes |
| Gemini (Live + Flash) | Google | Multilingual | Yes |
| Custom Server | Yours | Depends on your server | No |
There is no `gpt-4o-transcribe` in Vowen. Dictation uses either **`gpt-live-transcribe`** (streams while you speak) or **`gpt-transcribe`** (transcribes after you stop), depending on the toggle described in [Per-model options](#per-model-options). File transcription always uses `gpt-transcribe`, except when speaker identification is on, which switches to `gpt-4o-transcribe-diarize`. That is the only OpenAI model that emits speaker labels, and the only one that accepts no vocabulary hints at all.
Dictation streams over WebSocket in six languages: English, Spanish, French, German, Italian and Portuguese. File transcription uses Universal-3.5 Pro for the 18 languages it natively supports and falls back to Universal-2 for anything else.
Streaming uses Gemini Live, whose sessions are capped at 15 minutes each. File transcription uses Gemini Flash and handles audio up to about 9.5 hours. Custom vocabulary and speaker labels both work on Gemini file transcription, but more weakly than on providers built for them.
Listed in the app as **Real-Time STT (Soniox)**. One entry covers both a real-time streaming model for dictation and an async model for file transcription, across 60+ languages. It is the strongest option in Vowen for switching languages mid-sentence.
Streaming-first, tuned for the lowest word error rate and the fastest live preview. **English only.** File transcription runs Cartesia's batch model, which does not use your Dictionary.
Groq's API returns text only. When you turn on speaker identification with a Groq model, Vowen runs its own on-device speaker pipeline over the audio afterwards, on macOS and Windows. See [Diarization](/meeting-notes/diarization).
### Setting up a cloud model
Click **Speech models** in the left sidebar. Cloud models are the first section.
Click its card. A configuration panel opens showing the model's languages and capabilities.
This is true only for a provider you have not set up yet. Once a provider is configured, clicking its card **switches to that model** instead. Use the gear on the card to reopen its settings.
Use the "Get your API key here" link to open the provider's dashboard, generate a key, and paste it in.
The model becomes your active model immediately. You can connect as many providers as you like and switch between them at any time, including from the tray menu.
Groq is the most popular choice among Vowen users. It is fast, accurate, and its free tier covers most daily use.
### Per-model options
Two providers expose extra controls in the same panel where you paste the API key.
For OpenAI, **Dictation model** is a two-way toggle:
| Option | Behavior |
| --------------------- | ----------------------------------------------------------------------------------------------------- |
| `gpt-live-transcribe` | Streams while you speak. Fastest results. Supports custom vocabulary. |
| `gpt-transcribe` | Transcribes after you stop speaking. Slightly slower, cheaper per minute. Supports custom vocabulary. |
This affects dictation only. File transcription always uses `gpt-transcribe`.
**ElevenLabs Scribe v2** has two toggles, both off by default:
| Toggle | What it does |
| ------------------------------------ | ----------------------------------------------------------- |
| Remove filler words and false starts | ElevenLabs cleans the transcript itself before returning it |
| Tag audio events like laughter | Non-speech events appear in the transcript |
## Custom speech servers
Point Vowen at any **OpenAI-compatible transcription endpoint**: a local whisper.cpp server, LocalAI, Ollama, FastFlowLM, a vLLM Whisper deployment, or a hosted service that speaks the same API.
A custom server needs a **Server URL**. A **Model Name** and an **API Key** are both optional; leave them blank when your server does not require them. Vowen checks that the URL is reachable before saving, so a typo fails immediately instead of surfacing at your next dictation.
Once saved, a custom server behaves like any other cloud model: it renders as its own card on the Speech models page, appears in every model picker, and can be selected from the tray.
| Plan | Custom servers |
| ---- | ----------------------------------------------------- |
| Free | One server, using the built-in **Custom Server** card |
| Pro | Unlimited servers, each with a name you choose |
Adding a **second and further** custom server is a Pro feature. Use **Add Custom API** at the end of the cloud section. Free users keep the single original slot.
Custom servers receive your Dictionary terms the same way Groq does, as a hint. It helps, but less than an engine that uses your Dictionary directly.
## Speaker identification
Not every model can label who said what. These can, for pre-recorded audio and meeting notes:
**Cloud:** Nova 2 and Nova 3 (Deepgram), Scribe v2 (ElevenLabs), Universal-3.5 Pro (AssemblyAI), Voxtral Mini (Mistral), Aurora (xAI), Speechmatics, OpenAI, Gemini.
**Local, on macOS and Windows:** Parakeet V2, Parakeet V3, and every Whisper model. Groq's two Whisper models also qualify, because Vowen runs the same on-device speaker pipeline over their output.
Nemotron, Parakeet Japanese, Parakeet Mandarin, Cartesia Ink 2, Saaras v3 and custom servers do not offer speaker labels.
Speaker identification is a Pro feature. Full detail in [Diarization](/meeting-notes/diarization).
## Real-time preview
Live text under the recording indicator needs a streaming-capable model. Every cloud model in the table above except the two Groq entries and custom servers can stream. Locally, Parakeet V2, Parakeet V3, Nemotron EN and Nemotron Multilingual stream on macOS; Parakeet streaming is not available on Windows.
Turn it on in **Settings > Recording > Real-time transcription preview**. The row is greyed out until your active model can stream.
## GPU acceleration (Windows)
If you have an NVIDIA GPU, Vowen can download a CUDA acceleration module that dramatically speeds up local Whisper transcription.
* **Windows only.** macOS is already accelerated and needs nothing extra; Linux is not supported.
* Requires an **RTX 2000 series or newer** NVIDIA GPU.
* The download is about **631 MB**. No separate CUDA toolkit install is needed.
The card only appears on the Speech models page when Vowen detects a supported GPU. Download it, restart Vowen, and even Large v3 responds in a couple of seconds.
## Local or cloud
| Factor | Local | Cloud |
| ----------------- | -------------------------------------------------------- | ----------------------------- |
| Privacy | Audio never leaves your device | Audio is sent to the provider |
| Speed (macOS) | Very fast with Parakeet or Nemotron | Fast |
| Speed (Windows) | Fast with Parakeet; slow for large Whisper without a GPU | Fast |
| Accuracy | Good to excellent | Excellent |
| Internet | Not required | Required |
| Cost | Free | Free tier or paid API |
| Custom vocabulary | Whisper (Small and up) only | Used well by most providers |
| Languages | 99 (Whisper), 31 (Nemotron), 25 (Parakeet V3) | Varies by provider |
# Voice Log
Source: https://docs.vowen.ai/transcription/voice-log
Your transcription history: search it, retry it, and see what the AI changed.
Open the Vowen app, click **Home** in the left sidebar, and switch to the **History** tab. That is your Voice Log, a chronological record of your past dictations and Command Mode results, grouped by day (Today, Yesterday, and so on).
For the Overview tab, see [Home & Stats](/features/home).
Vowen keeps your **last 100 entries**. Older ones drop off as new ones come in.
## Searching
A search box sits at the top of the log. Press `Cmd+F` (macOS) or `Ctrl+F` (Windows) to jump into it, or just press `/` when you are not already typing in a field. Whatever is in the box gets selected, so a second search overwrites rather than appends.
Search matches more than what you see on screen:
* The displayed text.
* The **original, pre-AI transcription**, so an entry stays findable by what you actually said even after enhancement rewrote it.
* The error message on failed entries.
* **Every version** of a multi-turn Command Mode thread, so a phrase you later refined away still finds the thread it came from.
## Filtering
The dropdown next to the search box narrows what is shown:
| Filter | Shows |
| ------------------------ | ------------------------------------------------------ |
| **All history** | Every entry |
| **Command mode history** | Only [Command Mode](/ai-features/command-mode) results |
| **Voice log** | Only plain voice transcriptions |
## What an entry shows
Each row has the time on the left and the text on the right. **Clicking the text copies it** to the clipboard.
Entries that went through AI carry a badge above the text:
| Badge | Meaning |
| -------------------------- | -------------------------------------------------------------------------------- |
| **AI Enhanced** | A dictation that was cleaned up by [AI Enhancement](/ai-features/ai-enhancement) |
| **Written with AI** | A [Command Mode](/ai-features/command-mode) result |
| **Original Transcription** | You are currently viewing the raw text, before AI touched it |
## Per-entry actions
Each row has a **Copy** button and a **kebab menu** (the vertical dots) next to it. The menu holds:
| Action | Available on |
| ---------------------------------------- | ----------------------------------------------------- |
| **Retry transcript** | Dictation entries that still have their audio on disk |
| **Show original** / **Show AI response** | Entries that went through AI |
| **Delete** | Every entry |
### Retry transcript
**Retry transcript** re-runs a saved recording through whatever model you have selected **right now**, and replaces the stored text with the new result. It is the fastest way to answer "would Large v3 have got that right?" without recording again.
It only appears when the entry has a saved audio file. Audio is kept when **Settings > Recording > Save audio recordings** was on at the time you dictated, and for recordings Vowen saved automatically because they could not be transcribed.
### Show original
On AI-processed entries, **Show original** flips the row to the raw transcription from before AI cleanup, which helps when the enhancement rewrote something differently than you wanted. **Show AI response** flips it back.
## Multi-turn Command Mode entries
A Command Mode session where you refined the result several times collapses into **one row**, not several. The row shows the newest version, with a small pager (`2/4`) in the badge line.
* Use the arrows to page back through earlier versions.
* On any version after the first, the request you spoke for that turn appears above the response, prefixed with an arrow.
* **Show original** on turn one reveals the request that started the thread.
* A thread keeps up to 30 turns; older ones fall off the front.
## Failed and silent entries
Vowen keeps recordings that produced no text, and gives each one a row.
| Row | What it means |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Audio is silent.** | Nothing audible was detected. The recording is kept, and if the audio was saved you can **Retry transcript** on it |
| **Transcription failed.** with a message | Something went wrong. The message explains what |
One failure is worth recognising by its message. If you dictate while a local model is still
compiling for your device, the row reads **Transcription failed.** followed by a message about the
model optimizing. Your audio was saved, so use **Retry transcript** on that row once optimization
finishes.
One exception: on local Parakeet, an accidental hotkey tap shorter than about 0.3 seconds is discarded silently. It raises no error and leaves no row.
## Clearing the log
**Clear log** sits at the right end of the first date header (Today, or whatever the newest group is). It removes every entry.
Clearing the log is permanent and cannot be undone.
## Turning history off
If you would rather not keep transcripts at all, turn off **Settings > General > Save transcriptions to history**. Your word count, streak and activity stats are still tracked; only the text stops being stored.
# AI & API Issues
Source: https://docs.vowen.ai/troubleshooting/ai-issues
Troubleshooting AI enhancement, Command Mode, and API connection problems.
## Nothing happens when I press the Command Mode shortcut
**Symptoms:** You press Alt + Shift (the default on both platforms) and nothing at all happens. No banner, no sound, no indicator, no error message.
**Cause:** Command Mode's master switch is **off by default**, and pressing the shortcut while it is off is a completely silent no-op. Vowen returns before any recording starts and logs a single line to its own console, which you never see. There is no banner for this, unlike the gated-feature banners that voice shortcuts and expansions show.
All three trigger paths behave the same way: the keyboard shortcut, the idle pill's command button, and a mouse-button binding.
**Fix:**
Left sidebar, under **Vowen AI**.
The page has three tabs: Configuration, Command Mode and Memory.
It is the toggle at the top of the tab, labeled **Command Mode**.
Two things can make the toggle unavailable:
* **No AI provider connected.** The toggle is not rendered at all. In its place is a locked card with a **Connect an AI provider** button. Connect one on the Configuration tab first.
* **Free plan, daily cap reached.** The checkbox is disabled until the cap resets.
The toggle is not in Settings > Shortcuts. That section only controls which keys trigger Command Mode.
## AI enhancement failed, but my text is still there
**Symptoms:** A banner reading **"AI Enhancement Failed"** appears, with a message ending in "Processed as-is, no AI enhancement was applied."
**This is working correctly, and your dictation is not lost.** When enhancement fails, Vowen delivers the raw transcript instead. You get unenhanced text rather than nothing.
Two guards exist specifically to prevent silent data loss:
* A provider can return a successful response with no usable content, for example a model that spends its whole response on reasoning tokens and produces no answer. Vowen catches that and treats it as a failure, so the raw transcript survives instead of the dictation and the clipboard both being wiped.
* A model that answers your transcript conversationally instead of cleaning it, or echoes part of the prompt back, is also rejected. This check requires two independent signals before it fires, so a correct enhancement is never thrown away by mistake.
**Recovery chips:** the banner shows a **Switch to:** row listing every other AI provider you have connected, excluding the active one and the one that just failed. Clicking one switches your default provider and re-enhances the same dictation. On success you get "Enhanced text on clipboard, paste to replace."
The chips are hidden when the provider was chosen by a Tone rather than your global setting, and when no other provider is connected. Connect a second provider if you want a one-click fallback.
## API key not working
### Symptoms
* "Connection failed" when verifying
* Enhancement does nothing
* Errors mentioning authentication
### Fix
1. Copy the key fresh from the provider's dashboard
2. Check for leading or trailing whitespace
3. Confirm the account is active on the provider's site
4. Some providers require a payment method on file even for free tiers
5. If the failure is instant and reads as a network error rather than an auth error, turn on **Settings > Developer > Prefer IPv4 Connections**. Networks that advertise IPv6 without routing it produce exactly this symptom.
## AI enhancement is slow
### Symptoms
* Long delay between releasing the shortcut and the text appearing
* It works, but takes several seconds
### Causes and fixes
| Cause | Fix |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| A reasoning-heavy model | Switch to a fast model. Gemini 2.5 Flash-Lite, Claude Haiku 4.5, GPT-5.4 Nano and Groq's GPT-OSS 20B are all built for this. |
| Provider under load | Switch providers temporarily |
| Long dictation | Shorter dictations round-trip faster |
| Network latency | Check your connection, and confirm Prefer IPv4 is on in Settings > Developer |
Groq is consistently the lowest-latency option among free providers. Its current catalog is GPT-OSS 20B, GPT-OSS 120B and Qwen 3.8 27B.
Vowen tunes reasoning effort automatically per model family, and you have no control over it. Gemini 2.5 Flash gets no thinking budget, 2.5 Pro gets the minimum its API allows, and Gemini 3.x models are pinned to minimal or low reasoning depending on tier. This was measured as both faster and more faithful for enhancement, since reasoning tokens on a cleanup task mostly produce rewrites you did not ask for.
## Rate limit errors
### Symptoms
* Works for a few dictations, then stops
* An error mentioning "rate limit" or "quota exceeded"
### Fix
* **Wait.** Most provider rate limits reset within one to five minutes.
* **Alternate providers.** Gemini and Groq both have usable free tiers.
* **Turn off enhancement** for quick informal dictations, either globally or per shortcut.
* **Upgrade** with the provider for higher limits.
The **Command Mode daily cap** is a Vowen limit, not a provider limit, and its error message says so explicitly. It is 5 runs per day on the Free plan. [Pro](/pricing) removes it entirely.
## Command Mode returns errors
### Symptoms
* Command Mode transcribes but produces no AI output
* Errors, or results that ignore what you asked for
### Fix
1. Confirm Command Mode is actually on. See the first section of this page.
2. Hold the shortcut for the full duration of your command, or switch that shortcut to **Tap** mode in Settings > Shortcuts.
3. Try a model that is strong at instruction following. Claude Sonnet 4.6, GPT-5.4, or Gemini 2.5 Pro.
4. If the command needed information from a connected app, remember that **MCP and Connector tools are read-only**. Command Mode can look things up in your connected apps, but it can never write to them.
5. If you asked it to act on your screen, check that context-awareness is on at **Configure your AI > Command Mode > Context-awareness**. It is off by default.
## AI not following instructions
### Symptoms
* Custom instructions are ignored
* The output is formatted in a way you did not ask for
### Fix
1. Keep instructions short and concrete
2. Check that instructions are not contradicting each other
3. Move to a more capable model. Claude Sonnet 4.6, GPT-5.4 or higher, Gemini 2.5 Pro. The smallest and fastest models trade instruction-following for latency.
4. Rephrase. Different wording often lands differently.
Custom AI instructions for dictation are **free on every plan**. Only the custom instructions for meeting-note summaries are Pro.
## Output is being rewritten or paraphrased
### Symptoms
* Enhancement rephrases your sentences instead of cleaning them up
* Your wording is replaced with synonyms, or the structure is changed
### Fix
The system prompt forbids this, but smaller open-weight models rewrite anyway.
1. Switch to a stronger model. Claude Sonnet 4.6, GPT-5.4, or Gemini 2.5 Pro.
2. Add a custom instruction such as "Do not rewrite or rephrase. Only fix errors."
3. If a [Tone](/ai-features/tones) is active for the app you are in, check its instructions. A tone can override your global provider and prompt.
## AI adds words you did not say
### Symptoms
* The enhanced output contains phrases or facts you never spoke
### Fix
Switch to a larger or more capable model. This is a small-model failure mode, and the system prompt already forbids it.
Please also report the exact model and provider on [Discord](https://discord.gg/XSGKbw4u2s) so the prompt can be hardened against it.
If enhancement invented something because it was working from a bad transcript, fixing the speech model is the real solution. See [Transcription Quality](/troubleshooting/transcription-quality).
## Model names in the app do not match what I read elsewhere
Open **Configure your AI > Configuration** and read the dropdown for your provider. That is always the current truth. The list is fetched from a catalog rather than hardcoded, and it changes as providers ship and retire models.
Every provider's list has one entry marked **(Recommended)**, which is the sensible default for dictation enhancement.
## Related pages
Connecting providers and choosing a model.
What Command Mode can do, and how to trigger it.
# Common Issues
Source: https://docs.vowen.ai/troubleshooting/common-issues
Quick fixes for the most frequently reported problems.
## Nothing happens when I press the Command Mode shortcut
**Symptoms:** You press the Command Mode shortcut (Alt + Shift by default on both platforms) and absolutely nothing happens. No banner, no sound, no indicator, no error.
**Cause:** Command Mode has its own master switch, and it is **off by default**. While it is off the shortcut does nothing at all, with no feedback of any kind to tell you something is wrong.
**Fix:**
In the left sidebar, under **Vowen AI**, click **Configure your AI**.
The page has three tabs: Configuration, Command Mode and Memory. Open **Command Mode**.
The toggle is labeled **Command Mode** at the top of the tab.
If you have not connected an AI provider yet, the toggle is not there at all. Instead you will see a locked card with a **Connect an AI provider** button. Connect a provider on the Configuration tab first, then come back.
If you are on the Free plan and have used your daily Command Mode allowance, the toggle is greyed out until the cap resets.
The toggle is not in Settings > Shortcuts. The Shortcuts section only sets which keys trigger Command Mode, not whether it is enabled.
## Text not pasting
**Symptoms:** The transcription appears in the Voice Log but never lands in your app.
**Fixes:**
1. Check that **Settings > General > Auto-paste transcription** is on. It is on by default, and it gates the two settings below it.
2. Make sure the target app has a text field with focus.
3. On macOS, confirm Accessibility permission is granted, then fully quit and relaunch Vowen.
4. Try the other insertion method: **Settings > General > Text Insertion Method**, switching between **Paste method** and **Direct insertion**.
5. Fully quit Vowen (right-click the tray icon, then Quit) and relaunch.
If only a "v" appears when pasting, the target app is not handling the synthetic paste keystroke. Switch Text Insertion Method to **Direct insertion**, which types the characters directly and never touches your clipboard.On Windows, Direct insertion is marked Beta and carries the warning "May have issues on non-standard keyboard layouts".
## A "Drag to insert" card appears instead of the text
**Symptoms:** After a dictation on macOS, a small card appears showing your transcript with a hand icon and a Copy button, instead of the text going into an app.
**Cause:** This is the insertion fallback, working as intended. If there is nowhere Vowen can write the text, it shows it to you rather than pasting into nothing and losing it. There are exactly two ways to reach it:
* Accessibility permission is not granted. The card then also says "Grant Accessibility permission so Vowen can insert text for you."
* Something is focused, but it is not a text field you can type into. A Finder list, a web page with no input focused, a static view.
**What to do:** Drag the card into where you want the text, or click **Copy** and paste it yourself. The X dismisses it.
Dropping the card on empty space does not dismiss it. The card only goes away once the drop is actually accepted somewhere, so you cannot lose the text by missing.
Every ambiguous case resolves to a normal paste instead, including terminals, remote desktop apps, and windows with no focus data at all, so this card is genuinely rare once Accessibility is granted.
## Stuck on "Listening" and I cannot stop the recording (macOS)
**Symptoms:** The indicator says it is listening, releasing the shortcut does nothing, and pressing it again does nothing either.
**Cause:** macOS can stop delivering keyboard events to Vowen when the machine is under heavy load. If that happens mid-dictation, the key release that would have stopped your recording never arrives.
**This recovers on its own.** After **15 seconds** without a release, Vowen ends the recording anyway and transcribes what it captured. You get your text without restarting.
**What you will see:** the indicator stays up for up to 15 seconds longer than you expect, then the dictation completes normally.
**If it happens repeatedly:** it is a sign of sustained CPU pressure. Check Activity Monitor for whatever is saturating the machine, and see [Performance](/troubleshooting/performance).
## Every shortcut stopped working at once (macOS)
**Symptoms:** Not one shortcut, all of them. Dictation, Command Mode, hands-free, the meeting panel. All dead simultaneously.
**Cause:** The same loss of keyboard events described above. When it happens while nothing is recording, every shortcut goes with it.
**This recovers on its own, within a few seconds.** Any modifier keys Vowen thought were still held are cleared at the same time, so a half-held chord cannot survive the outage and make a bare letter key fire a shortcut afterwards.
You do not need to restart Vowen. If shortcuts are still dead after a few seconds, it is a different problem. See [Shortcut Problems](/troubleshooting/shortcut-issues).
## Windows: blank window or dead shortcuts after sleep
**Symptoms:** After waking the machine, the Vowen window is blank or black, or the recording indicator's buttons are visible but unclickable, or shortcuts do nothing.
**Cause:** A Windows sleep cycle can leave the app's window blank, leave the floating indicator drawn but unclickable, and quietly stop keyboard shortcuts from being delivered, all without any error.
**This is repaired automatically on wake**, including clearing any modifier keys left stuck down. If a recording is in progress when you wake, Vowen waits for it to finish rather than cutting you off mid-sentence.
**If it persists:** give it a couple of seconds after wake, then, if still broken, fully quit and relaunch.
## The app interface looks too large
**Symptoms:** The installed app's UI looks noticeably bigger than it should, with cramped or clipped layouts.
**Cause:** An older version rendered some windows around 11% larger than intended. Current versions set the right size on every window.
**Fix:** Make sure you are on the current version. If a window still looks wrong, press Cmd/Ctrl + 0 to reset it, or close and reopen that window.
## Zoom does not stay where I put it
**Symptoms:** You zoom in with Cmd/Ctrl + =, and it resets the next time the window loads.
**Cause:** Zoom is intentionally not persisted. Vowen has no zoom setting, and each window returns to its intended size every time it opens, including after a restart. There is no way to make a manual zoom stick.
Use your operating system's display scaling if you need the whole interface permanently larger.
## A model I was using disappeared
**Symptoms:** A banner appears saying **"\[model] has been removed"**, and dictation will not run.
**Cause:** A speech model was retired from the catalog, but your settings still point at it. Vowen does not reassign your model for you. It detects the dangling selection and tells you once.
**Fix:** Click **Choose a model** on the banner and pick a replacement. Vowen checks every place a model can be stored, so also check the model set on any [Tone](/ai-features/tones) you use, which overrides your global choice at recording time.
GigaAM v3, the on-device Russian model, has been retired. If that was your model, pick a multilingual replacement from the **Speech models** page.
## Dictations are piling up in my clipboard manager
**Symptoms:** Every dictation shows up in Maccy, Raycast, Alfred or Ditto.
**Cause:** The default insertion method copies your text to the clipboard and pastes it. Clipboard managers see that copy.
**Fix:** Vowen marks dictation clipboard writes as transient so managers skip them. The toggle that controls this is **Settings > Developer > Allow Dictations in Clipboard History**, and it is off by default. Leave it off to keep dictations out of your history. Turn it on if you want them recorded there.
If you want dictations never to touch the clipboard at all, switch **Settings > General > Text Insertion Method** to **Direct insertion**, which types the characters and never reads or writes the clipboard.
## Flaky connections, timeouts or "network error" on cloud services
**Symptoms:** Cloud transcription or AI calls fail intermittently, or fail instantly with a network error, particularly on a network where other apps seem fine.
**Cause:** Networks that advertise IPv6 but cannot actually route it. The connection attempt hangs or fails before a working IPv4 address is tried.
**Fix:** **Settings > Developer > Prefer IPv4 Connections**. It is on by default and connects over IPv4 before trying IPv6. If it has been turned off, turn it back on. It applies immediately, with no restart.
Only turn this off if you are on a genuinely IPv6-only network.
## "Local Whisper server is not running"
**Symptoms:** A banner reading "Local Whisper server is not running" with a **Restart Server** button that does not help.
**Fixes:**
1. Delete the model and re-download it from the **Speech models** page in the sidebar
2. Check that antivirus has not quarantined the model file or the Whisper binary
3. Try a different model to isolate whether it is the model or the server
4. On Windows, install the Visual C++ Redistributable
5. If the banner instead says the model was not found, use its button to pick a model
If the model itself will not download, see [Manual Model Installation](/troubleshooting/manual-model-install).
## "Thank you" appears in the output
**Symptoms:** The transcription reads "Thank you." even though you said nothing of the kind.
**Cause:** Whisper-family decoders hallucinate over silence, and "thank you" is the single most common thing they produce.
**Fixes:**
* Start speaking as soon as you press the shortcut rather than holding it in silence first
* Vowen already discards this automatically when the whole transcription is nothing but that phrase, on the local models. If one still reaches your app, there was other text around it, so include the surrounding words when you report it.
* Turn on **Settings > Experimental > Enhanced silence detection**. It raises the silence threshold for cloud models to stop phantom transcriptions in rooms with fans, air conditioning or keyboard noise. A **Sensitivity** slider from 1 to 5 appears once it is on, defaulting to 2.
Enhanced silence detection is in **Settings > Experimental**, not Settings > Recording.
## First or last word cut off
**Symptoms:** The start or end of what you said is missing.
**Cause:** Vowen conditions the audio before sending it to the model, and the transform it applies depends on the engine.
| Engine | Treatment |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Whisper family, local and cloud | Trailing silence is trimmed, because these decoders hallucinate over a silent tail |
| Parakeet and Nemotron | Short clips are padded, because these decoders drop or mis-segment audio under about 300 ms and do not hallucinate over silence |
| Every other cloud provider | Left completely alone, because they bring their own endpointing |
That third bucket is why the last word stopped going missing on Groq, ElevenLabs and Mistral. Those providers were inheriting Whisper's trim by accident.
**If it still happens:** hold the shortcut for a moment after you finish speaking, and use **Retry** from the Voice Log entry. Retry always re-reads the original recording, never the conditioned audio, so it will show you whether the audio or the model lost the word.
## Recording indicator not showing
**Symptoms:** You hear the recording sound but see no indicator.
**Fixes:**
* Check **Settings > Recording > Recording Indicator Position**. The options are **Top**, **Bottom** and **Don't show**, and it defaults to Top. If it is set to Don't show, that is your answer.
* On macOS, check **Indicator style** in the same section. **Notch** renders in the notch area rather than as a floating pill.
* The indicator may be on another monitor. Check all screens.
* Restart Vowen.
Recording Indicator Position is in **Settings > Recording**, not Settings > General.
## App running slow or using a lot of memory
**Fixes:**
* Switch to a smaller model, or to a cloud model so nothing stays resident locally
* Turn on **Settings > General > Resource efficient mode**, which loads the model only when it is needed
See [Performance](/troubleshooting/performance) for the trade-offs of each option.
## Model download fails
**Symptoms:** The download fails with "self signed certificate in certificate chain" or a similar certificate error, usually on a work machine.
**Cause:** Corporate networks with SSL inspection (Netskope, Zscaler and similar) replace certificates on secure connections, and the in-app downloader rejects the substituted certificate.
**Fixes:**
1. Download the model in your browser and place it in Vowen's models folder. See [Manual Model Installation](/troubleshooting/manual-model-install).
2. Ask your network administrator to exempt `huggingface.co` and `assets.vowen.ai` from SSL inspection, not just to allow them.
3. As a quick test, try downloading over a personal hotspot.
## Cloud model not working
**Symptoms:** A cloud model is selected but nothing comes back.
**Fixes:**
1. Check your internet connection, and turn on **Settings > Developer > Prefer IPv4 Connections** if it is off
2. Re-enter your API key on the **Speech models** page in the sidebar
3. Check the provider's status page
4. Check your usage. Free tiers hit rate limits quickly.
5. Fully quit and relaunch Vowen
## Still stuck?
* Join the [Discord community](https://discord.gg/XSGKbw4u2s) for help from the team and other users
* Work through the specific troubleshooting pages in the sidebar for deeper guides
# Manual Model Installation
Source: https://docs.vowen.ai/troubleshooting/manual-model-install
Install transcription models manually when in-app downloads fail on corporate or restricted networks.
If model downloads fail inside Vowen with an error like **"Failed to download model: self signed certificate in certificate chain"**, your network is almost certainly intercepting secure connections. This is common on corporate networks running SSL inspection tools such as Netskope or Zscaler.
Your browser trusts your company's certificates, so you can download the models yourself and drop them into Vowen's models folder. Vowen picks them up on the next launch.
## Step 1: open Vowen's models folder
Quit Vowen completely first (right-click the tray or menu bar icon and choose Quit).
Press Win + R, enter the following, and press Enter:
```
%APPDATA%\vowen
```
Open the `models` folder inside it. If it does not exist, create a folder named exactly `models`. The full path looks like:
```
C:\Users\\AppData\Roaming\vowen\models
```
In Finder, press Cmd + Shift + G and go to:
```
~/Library/Application Support/vowen/models
```
If the `models` folder does not exist, create it.
The application-support folder is lowercase `vowen`, not `Vowen`. Both Windows and standard macOS volumes are case-insensitive, so either spelling will find it, but the folder on disk is lowercase.
## Step 2: download the model you need
### Whisper models
Each link downloads a single `.bin` file. No extraction. The same files work on Windows and macOS.
| Model | Size | Download |
| -------------- | ------- | ------------------------------------------------------------------------------------------------------------ |
| Tiny | 78 MB | [ggml-tiny.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin) |
| Base | 148 MB | [ggml-base.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin) |
| Small | 488 MB | [ggml-small.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin) |
| Medium | 1.53 GB | [ggml-medium.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.bin) |
| Large v3 | 3.10 GB | [ggml-large-v3.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin) |
| Large v3 Turbo | 1.62 GB | [ggml-large-v3-turbo.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin) |
English-only variants, slightly better if you only dictate in English:
| Model | Size | Download |
| ---------------- | ------- | -------------------------------------------------------------------------------------------------- |
| Tiny (English) | 78 MB | [ggml-tiny.en.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin) |
| Base (English) | 148 MB | [ggml-base.en.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin) |
| Small (English) | 488 MB | [ggml-small.en.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin) |
| Medium (English) | 1.53 GB | [ggml-medium.en.bin](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin) |
### Parakeet models
Parakeet ships as a `.tar.gz` archive you extract yourself. The archives differ per platform, so take the right one.
| Model | Size | Download | Extracts to |
| -------------------------- | ------ | ------------------------------------------------------------------------------------------------------ | --------------------------- |
| Parakeet V3 (25 languages) | 501 MB | [parakeet-tdt-0.6b-v3-int8.tar.gz](https://assets.vowen.ai/models/parakeet-tdt-0.6b-v3-int8.tar.gz) | `parakeet-tdt-0.6b-v3-int8` |
| Parakeet V2 (English) | 473 MB | [parakeet-tdt-0.6b-v2-int8.tar.gz](https://assets.vowen.ai/models/v2/parakeet-tdt-0.6b-v2-int8.tar.gz) | `parakeet-tdt-0.6b-v2-int8` |
Parakeet Japanese and Parakeet Mandarin are macOS only. There is no Windows build.
| Model | Size | Download | Extracts to |
| -------------------------- | ------- | ---------------------------------------------------------------------------------------------------------- | ----------------------------- |
| Parakeet V3 (25 languages) | 466 MB | [parakeet-tdt-0.6b-v3-coreml.tar.gz](https://assets.vowen.ai/models/v2/parakeet-tdt-0.6b-v3-coreml.tar.gz) | `parakeet-tdt-0.6b-v3-coreml` |
| Parakeet V2 (English) | 451 MB | [parakeet-tdt-0.6b-v2-coreml.tar.gz](https://assets.vowen.ai/models/v2/parakeet-tdt-0.6b-v2-coreml.tar.gz) | `parakeet-tdt-0.6b-v2-coreml` |
| Parakeet Japanese | 558 MB | [parakeet-ja-coreml.tar.gz](https://assets.vowen.ai/models/v2/parakeet-ja-coreml.tar.gz) | `parakeet-ja` |
| Parakeet Mandarin | 1.63 GB | [parakeet-ctc-zh-cn-coreml.tar.gz](https://assets.vowen.ai/models/v2/parakeet-ctc-zh-cn-coreml.tar.gz) | `parakeet-ctc-zh-cn` |
Do not rename the extracted folders. Leave each one exactly as the archive produces it, matching the "Extracts to" column, and Vowen will find it.
### Nemotron models (macOS only)
Nemotron streams natively with punctuation and capitalisation in the live preview. Apple silicon only, and there is no Windows build.
| Model | Size | Download | Extracts to |
| --------------------- | ------ | --------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| Nemotron EN | 553 MB | [nemotron-streaming-en.tar.gz](https://assets.vowen.ai/models/nemotron-streaming-en.tar.gz) | `nemotron-streaming-en` |
| Nemotron Multilingual | 616 MB | [nemotron-streaming-multilingual.tar.gz](https://assets.vowen.ai/models/nemotron-streaming-multilingual.tar.gz) | `nemotron-streaming-multilingual` |
### Parakeet streaming bundle (macOS only)
Parakeet V2 and V3 need a second, separate model to produce a live preview while you speak. Vowen normally downloads this silently in the background after any Parakeet batch model finishes, and deletes it when the last Parakeet model is removed, so you will not see it in the model list. On a restricted network that background download fails silently and you get batch transcription with no live preview.
| Component | Size | Download | Extracts to |
| ---------------------- | ------ | --------------------------------------------------------------------------------------------- | ------------------------ |
| Parakeet EOU streaming | 207 MB | [parakeet-eou-streaming.tar.gz](https://assets.vowen.ai/models/parakeet-eou-streaming.tar.gz) | `parakeet-eou-streaming` |
The extracted folder must contain a `320ms` subfolder with the bundle's files inside it. If that subfolder is missing or empty, Vowen treats the bundle as not installed.
The same bundle serves both Parakeet V2 and V3. Nemotron does not need it, since it streams natively. Parakeet Japanese and Mandarin do not use it either.
### Speaker diarization bundle (Windows only)
Windows fetches an offline diarization bundle the first time you run a local diarization. macOS does not use this file.
| Component | Size | Download | Extracts to |
| ----------------- | ----- | ----------------------------------------------------------------------------------- | ------------------- |
| Vowen diarizer v1 | 30 MB | [vowen-diarizer-v1.tar.gz](https://assets.vowen.ai/models/vowen-diarizer-v1.tar.gz) | `vowen-diarizer-v1` |
The extracted folder must contain its two model files directly inside it, not nested one level deeper.
## Step 3: place the files
### Whisper (.bin files)
Move the `.bin` file directly into the `models` folder. Do not rename it.
```
C:\Users\\AppData\Roaming\vowen\models\ggml-small.bin
```
### Everything else (.tar.gz archives)
Extract the archive into the `models` folder.
Open PowerShell and run, adjusting the filename to the one you downloaded:
```powershell theme={null}
cd $env:APPDATA\vowen\models
tar -xzf $env:USERPROFILE\Downloads\parakeet-tdt-0.6b-v3-int8.tar.gz
```
7-Zip and WinRAR work too. Extract twice if needed, since `.tar.gz` unpacks to `.tar` first.
The result must be a folder with exactly the name in the "Extracts to" column, containing the model files directly inside it, not nested one level deeper.
Open Terminal and run, adjusting the filename to the one you downloaded:
```bash theme={null}
cd ~/Library/Application\ Support/vowen/models
tar -xzf ~/Downloads/parakeet-tdt-0.6b-v3-coreml.tar.gz
```
The result must be a folder with exactly the name in the "Extracts to" column, containing the model files directly inside it, not nested one level deeper.
### Verifying a download (optional)
A file you download by hand is not checked for you. If you want to be sure it arrived intact, compare its SHA-256 checksum against the list below before extracting.
```powershell theme={null}
Get-FileHash .\parakeet-tdt-0.6b-v3-int8.tar.gz -Algorithm SHA256
```
```bash theme={null}
shasum -a 256 ~/Downloads/parakeet-tdt-0.6b-v3-coreml.tar.gz
```
```
parakeet-tdt-0.6b-v3-int8.tar.gz 43d37191602727524a7d8c6da0eef11c4ba24320f5b4730f1a2497befc2efa77
parakeet-tdt-0.6b-v3-coreml.tar.gz 1b847dbe22575d8f9e12cb911ff4155649e6a9169be885a127a4d2d3221e8249
parakeet-tdt-0.6b-v2-int8.tar.gz ac9b9429984dd565b25097337a887bb7f0f8ac393573661c651f0e7d31563991
parakeet-tdt-0.6b-v2-coreml.tar.gz 5e57d7fe97bea9b17c3158282500028c8cfcaac515cd968a7277953d4167348a
parakeet-ja-coreml.tar.gz 16b6796212041aa5191030f290c11bfa38f8d250606fd6a77f2f262f62dea3d0
parakeet-ctc-zh-cn-coreml.tar.gz 3b3072ab4e4f4e1e790bc93a0a9717b507c1dc4432741b96bbd8b7e59b4d16e4
parakeet-eou-streaming.tar.gz 38925294f982f4db734d46379638b7c58a5594e8225b30480a9a1215f29c7bc6
nemotron-streaming-en.tar.gz b749e8940d5954f8a8167e3449cbb216585df9c23b29e270c5daafcbbf762174
nemotron-streaming-multilingual.tar.gz cad75d503dec30a1b2ac74b95c7d7481d129676856d710e64f2f7bbe47af1842
vowen-diarizer-v1.tar.gz 63860df744b74bc8421dcd4af0183560add9c9c9b4bbdd00d15c5a420356fa5e
```
Whisper `.bin` files have no published checksum. Check them against the sizes in the table above instead.
## Step 4: restart Vowen
Start Vowen and open the **Speech models** page in the left sidebar. The model should now show as downloaded. Select it and try a dictation.
Speech models is a top-level sidebar page, not a section inside the Settings modal.
## Troubleshooting
**Model not detected after restart**
* Check the filename matches exactly. Browsers append "(1)" if you download the same file twice, and `ggml-small (1).bin` will not be detected.
* A partially downloaded Whisper file is ignored rather than used. Compare your file against the sizes in the table above and re-download if it is short.
**Leftover files in the models folder**
* Files ending in `.part` or `.partial`, and folders ending in `.extracting`, are the debris of failed in-app downloads. They are safe to delete.
**Parakeet or Nemotron shows as not installed**
* Open the extracted folder and confirm the model files are directly inside it. If extraction produced a folder inside a folder, move the inner one up a level.
* Check the folder name against the "Extracts to" column. The name must match exactly.
**Live preview does not work with Parakeet**
* The streaming bundle is missing. See the Parakeet streaming bundle section above. Batch transcription works fine without it, which is why this fails quietly.
**Diarization fails on Windows**
* Confirm `vowen-diarizer-v1` exists in the models folder with its two model files directly inside it.
## For network administrators
To make in-app downloads work directly, these hosts must be reachable:
* `huggingface.co` for Whisper models
* `cdn-lfs.huggingface.co` and `cdn-lfs-us-1.huggingface.co`, which Hugging Face redirects downloads to
* `assets.vowen.ai` for Parakeet, Nemotron, the streaming bundle and the diarizer bundle
Allowlisting the domains is not enough if the network performs SSL inspection. Certificate replacement is what produces the "self signed certificate in certificate chain" error, so these hosts need to be **exempted from SSL inspection**, not merely permitted.
## Still stuck?
Join the [Discord community](https://discord.gg/XSGKbw4u2s) or email us. Send a screenshot of the error and the contents of your models folder and we will help you sort it out.
# Performance
Source: https://docs.vowen.ai/troubleshooting/performance
Fixing CPU, memory, and speed issues.
## What normal looks like
Vowen is idle between recordings. There is no background transcription, no continuous listening, and no polling of your audio device when you are not dictating.
Memory use is dominated by **which speech model is loaded**. A local model is held in memory between dictations so the next one starts instantly. A large Whisper model costs substantially more resident memory than a small one, and a cloud model costs none at all because nothing runs locally.
CPU is close to zero when idle. It spikes for the duration of a transcription and drops straight back.
Vowen does not publish measured RAM or CPU figures, and any specific numbers you have seen for it are approximations rather than measurements. Use the relative guidance on this page rather than targeting a number.
## Transcription is slow
Local models are CPU-bound on Windows unless you enable GPU acceleration.
1. **Enable GPU acceleration.** Go to the **Speech models** page in the left sidebar and find the **GPU Acceleration** section. The **NVIDIA CUDA** card is offered on Windows machines with an NVIDIA GPU, requires an RTX 2000 series card or newer, downloads roughly 631 MB, and needs no separate CUDA install.
2. **Use Parakeet.** Parakeet V2 (English) and V3 (25 European languages) are the fastest local option on Windows.
3. **Use a cloud model.** Groq is fast and has a free tier.
4. **Use a smaller Whisper model** if you are on Whisper. Tiny or Base instead of Medium or Large.
Resource efficient mode disables GPU acceleration on Windows. The two settings work against each other. If you have enabled CUDA, leave resource efficient mode off.
Local models are fast on Apple silicon. If yours is not:
1. **The first run after installing a model is genuinely slow.** Vowen optimizes the model for your Mac on first use. Expect roughly 20 seconds, and longer the very first time on a given machine. A dictation started during that window is saved for retry rather than transcribed. This is a one-off cost, not the steady state.
2. **Large v3 is inherently slow.** Try Large v3 Turbo, or move to Parakeet or Nemotron.
3. **Parakeet and Nemotron are the fast path on macOS.** Both are built for Apple silicon, and Vowen keeps them ready so there is no start-up cost per dictation.
4. **Check Activity Monitor** for other apps saturating the CPU. Sustained load is also what causes macOS to cut Vowen off from your keyboard, so a slow machine and dead shortcuts often have the same root cause. See [Common Issues](/troubleshooting/common-issues#every-shortcut-stopped-working-at-once-macos).
### With cloud models
If cloud transcription feels slow:
* Check your connection, and confirm **Settings > Developer > Prefer IPv4 Connections** is on. A network that advertises IPv6 but cannot route it turns every request into a timeout before it retries.
* Try a different provider. Providers have busy periods.
* Long recordings take longer, and some providers chunk long audio before uploading it.
### AI enhancement adds to the total
If the delay is after transcription rather than during it, the AI enhancement step is the cost, not the speech model. See [AI and API Issues](/troubleshooting/ai-issues#ai-enhancement-is-slow).
## High memory usage
### Why it happens
The speech model stays loaded between dictations so the next one starts immediately. This is deliberate. Unloading it after every use would make every dictation pay the load cost again.
### Reducing it
1. **Switch to a smaller model.** This is by far the largest lever. Whisper Base uses a small fraction of what Large v3 uses.
2. **Switch to Parakeet or Nemotron.** Both are around 0.6B parameters and considerably lighter than large Whisper models, while being faster and, for most speech, more accurate.
3. **Turn on Settings > General > Resource efficient mode.** This loads the model only when it is needed and releases it afterwards. Dictations become slower in exchange for lower idle memory.
4. **Use a cloud model.** Nothing stays resident locally.
Resource efficient mode only appears where it can do something: with a Whisper model selected, or on Windows with a Parakeet model. It is hidden for cloud models and for Parakeet on macOS, where the warm daemon has no one-shot path to fall back to.
## Laptop running warm
Warmth during active transcription is expected. The model is working hard, and it stops the moment transcription finishes.
If your machine runs warm while Vowen is idle:
1. Check Activity Monitor or Task Manager for Vowen's actual CPU share, so you know whether it is Vowen at all
2. Restart Vowen to clear any stuck helper process
3. If you use Meeting Notes, check whether a session is still running. Meeting recording keeps the microphone, and on macOS the system audio tap, open for the whole session.
4. Report it on [Discord](https://discord.gg/XSGKbw4u2s) with your model configuration
## Battery
Vowen has minimal battery impact when idle. During a transcription it briefly uses significant CPU, but a typical dictation lasts seconds.
For laptop users:
* Cloud models move the work off your machine entirely, at the cost of sending audio to a provider
* Parakeet and Nemotron are built for Apple silicon and are far more power-efficient than the alternatives
* Smaller models use less energy per dictation
* Resource efficient mode trades speed for a smaller resident footprint
## Related pages
Which model to pick, and what each one costs to run.
Stuck recordings, dead shortcuts, and wake-from-sleep problems.
# Permissions Problems
Source: https://docs.vowen.ai/troubleshooting/permissions
Fixing permission-related issues on macOS and Windows.
Vowen checks three system permissions: Microphone, Accessibility and Screen Recording. Only Microphone is checked on Windows, and there it always reports as granted. See [Windows](#windows) below for what that means in practice.
Check the current status of all three in **Settings > Permissions**. The status refreshes whenever the settings window regains focus, so you can grant a permission in System Settings, click back to Vowen, and watch it flip to Granted.
The Permissions section is deliberately excluded from settings search. These are system grants rather than settings, so searching for "microphone" will not surface this section. Open it from the sidebar of the settings modal instead.
## Accessibility permission (macOS)
### Symptoms
* Shortcuts do nothing at all
* Text does not auto-paste
* A "Drag to insert" card appears after every dictation instead of the text landing in your app
* An "Accessibility permission required" message appears
### Fix
Go to **System Settings > Privacy & Security > Accessibility**.
If Vowen is already in the list, remove it with the minus button. Then re-add it with the plus button and select Vowen from Applications.
Fully quit Vowen (right-click the menu bar icon, then Quit) and relaunch it. This is required after changing Accessibility permission.
Toggling the permission off and on again often does not work. Removing the app from the list and re-adding it is far more reliable.
## Microphone permission
### Symptoms
* Recording starts but no audio is captured
* Transcription comes back empty, or as "Thank you" on a local model
### Fix
1. Go to **System Settings > Privacy & Security > Microphone** and make sure Vowen is on
2. Check that the correct input device is selected in **Settings > Audio**
3. Test the same microphone in another app to confirm the hardware is working
## Screen Recording permission (macOS)
### Symptoms
* Meeting Notes cannot capture system audio
* Command Mode cannot see your screen when context-awareness is on
* The region capture overlay produces a blank or black image
* A "Screen recording permission needed" message appears
### Fix
1. Go to **System Settings > Privacy & Security > Screen & System Audio Recording**
2. Turn Vowen on
3. Restart Vowen
Screen Recording is used by more than Meeting Notes. It also backs the Command Mode screenshot (off by default, at **Configure your AI > Command Mode > Context-awareness**) and the region capture overlay. Vowen never captures your screen without an explicit action on your part, but the permission is not Meeting-Notes-only.
## Automation and Apple Events (macOS)
Vowen ships the `com.apple.security.automation.apple-events` entitlement and uses AppleScript through System Events to read the frontmost app's name, window title and bundle identifier. That is what makes per-app and per-website [Tones](/ai-features/tones) match.
The first time this runs, macOS shows a dialog asking whether Vowen may control System Events. If you dismiss or deny it, tone matching silently stops working. Dictation still runs, but the app-specific tone never activates.
To restore it, go to **System Settings > Privacy & Security > Automation**, find Vowen, and turn on System Events. If Vowen does not appear in that list at all, see the reset command below.
## Permission granted but still not working
Work through these in order.
Not just closing the window. Right-click the tray or menu bar icon and choose Quit.
Relaunching too quickly can leave the old process holding the grant.
Follow the Accessibility steps above. This works for Microphone and Screen Recording too.
Some permission changes are only picked up after a full restart.
Last resort. Open Terminal and run the line for the permission you are fixing, then re-grant it from System Settings.
```bash theme={null}
tccutil reset Accessibility com.vowen.app
tccutil reset Microphone com.vowen.app
tccutil reset ScreenCapture com.vowen.app
tccutil reset AppleEvents com.vowen.app
```
The bundle identifier is **`com.vowen.app`**. Earlier versions of this page printed `com.electron.vowen`, which is not the identifier Vowen ships under. `tccutil` exits successfully when given an unknown identifier, so that command appeared to work while doing nothing at all. If you followed the old instructions and nothing changed, this is why. Re-run it with `com.vowen.app`.
Running `tccutil reset` with no identifier resets that permission for **every** app on your Mac. Always include `com.vowen.app`.
## Permission not appearing in the list
If Vowen does not show up in the permission list at all:
* Make sure you have launched Vowen at least once. macOS only lists apps that have asked.
* Drag Vowen from `/Applications` directly into the permission list.
* On macOS Tahoe (26 and later), Screen Recording is listed as **Screen & System Audio Recording**, not "Screen Recording".
* If you moved the app after granting a permission, macOS may still be tracking the old copy. Move Vowen back to `/Applications`, reset with `tccutil` as above, and grant it again.
## Windows
Windows has no Accessibility or Screen Recording permission model equivalent to macOS, and Vowen requests neither. Global shortcuts, auto-paste, screenshots and system audio capture all work without a grant.
The microphone is the exception.
On Windows, Vowen's permission check always reports Microphone as **granted**. It cannot read the actual OS setting. If microphone access is blocked in **Windows Settings > Privacy & security > Microphone**, Vowen will show a green Granted status, start recording normally, and produce silence.
If your recordings on Windows come back empty:
1. Open **Windows Settings > Privacy & security > Microphone**
2. Turn on **Microphone access** and **Let desktop apps access your microphone**
3. Confirm the right device is selected in **Settings > Audio**
4. Check that no other app has taken exclusive control of the device
## Related pages
What each permission is for and how to grant it the first time.
When the permission is granted but shortcuts still do not fire.
# Shortcut Problems
Source: https://docs.vowen.ai/troubleshooting/shortcut-issues
Fixing keyboard, mouse, and keyboard-layout shortcut issues.
## Shortcut not working at all
Accessibility permission is required for global shortcuts. Go to **System Settings > Privacy & Security > Accessibility** and make sure Vowen is enabled. If it is already listed, remove it and re-add it rather than toggling it. See [Permissions Problems](/troubleshooting/permissions).
Fully quit (right-click the tray or menu bar icon, then Quit) and relaunch. A restart is required after granting Accessibility permission.
Close other voice-to-text apps that may have claimed the same keys. Also check **System Settings > Keyboard > Keyboard Shortcuts** on macOS for a system binding on the same combination.
Go to **Settings > Shortcuts**, click the shortcut field, and press your combination again.
If it is specifically the **Command Mode** shortcut that does nothing, this is almost always not a shortcut problem. Command Mode has a master switch that is off by default, and pressing the shortcut while it is off produces no feedback at all. See [Nothing happens when I press the Command Mode shortcut](/troubleshooting/common-issues#nothing-happens-when-i-press-the-command-mode-shortcut).
## Every shortcut died at once (macOS)
**Symptoms:** All shortcuts stop working simultaneously. Dictation, Command Mode, hands-free, the meeting panel.
**Cause:** Under sustained load, macOS cuts Vowen off from your keyboard. Every shortcut stops at the same moment.
**This self-recovers without a restart.** Two mechanisms cover it:
* Vowen's key server re-enables the tap **in place** the moment macOS disables it, with no process respawn. It also retracts any modifier state it synthesized during the outage, because events dropped while the tap was off are most likely to be a chord's key-up. Physical modifiers you are actually holding are left alone, so a dictation in progress is not cut off.
* A health check runs **every 5 seconds** and verifies the key server is genuinely alive: the process itself, and both of its pipes, not just its own status flag. Any failure triggers a restart of the hook.
**What you will see:** a gap of a few seconds at most. If a recording was in flight when it happened, see the next entry.
**If shortcuts are still dead after 10 seconds,** it is a different problem. Work through the steps above.
## A recording will not stop (macOS)
If the tap dies mid-dictation, the key-up that would have ended your recording is lost, and a hold-to-record session has no other way to finish.
Vowen watches for the release on a second, independent input tap that is unaffected by the first one dying. If no release arrives within **15 seconds**, it finalizes the recording and transcribes what it captured. You keep your text.
The only cost is that the indicator stays up for up to 15 seconds longer than you expect.
## Windows: shortcuts dead after sleep
**Symptoms:** After waking the machine, no shortcut does anything. No error, no indication that something is wrong.
**Cause:** The low-level Windows keyboard hook stays alive in-process while the OS quietly stops delivering events to it. There is no error and no liveness signal to probe from the app. Locking the screen has a related effect: key-ups delivered to the secure desktop are never seen, leaving modifier flags stuck true so a later bare keypress can false-fire a combination.
**This is repaired automatically on wake.** Vowen clears stale key state immediately, then reinstalls the hook after a short settle delay. If a recording is active when the timer fires, the restart is deferred rather than killing the recording. The `resume` and `unlock-screen` events are coalesced so the hook is only torn down once.
**What to do:** wait a couple of seconds after waking. If shortcuts are still dead, fully quit and relaunch.
See also [Windows: blank window or dead shortcuts after sleep](/troubleshooting/common-issues#windows-blank-window-or-dead-shortcuts-after-sleep).
## Platform-specific issues
### macOS: Fn key not registering after install
The Fn key sometimes does not register immediately after a fresh install or after granting permissions.
**Fix:** fully quit and relaunch Vowen. If it still does not work, restart your Mac.
### Windows: modifier key names
macOS documentation uses Option and Command. On Windows:
* **Option** is **Alt**
* **Command** is the **Windows key**
So "Option + Shift" is "Alt + Shift" on Windows.
## Mouse button shortcuts
Vowen supports **six** bindable mouse buttons:
| Button | Notes |
| ------------ | -------------------------- |
| Middle | Available on all platforms |
| M4 (Back) | Available on all platforms |
| M5 (Forward) | Available on all platforms |
| M6 | macOS only |
| M7 | macOS only |
| M8 | macOS only |
Left and right click are deliberately not bindable, since binding them would swallow ordinary clicking.
M6 through M8 only ever fire on macOS. Windows and X11 collapse extra mouse buttons into M4 and M5, so a 12-button mouse will report at most M4 and M5 there regardless of what its own driver software shows.
### Browser navigation still fires when using Back or Forward
This is a real limitation, not a bug you can configure away. Vowen listens for mouse buttons but cannot suppress them. The swallow mechanism only exists for keyboard events on macOS, and mouse-only bindings cannot be represented as a system shortcut that would consume the press.
**What to do:** bind Middle, or M6 through M8 on macOS, instead of Back and Forward. Alternatively remap the physical button in your mouse's own driver software to something Vowen can bind cleanly.
### Mouse button behavior
* Mouse-bound shortcuts follow the same Hold and Tap modes as keyboard shortcuts. In the default Hold mode the button is push-to-talk and recording stops when you release it. Set the shortcut to Tap if you want the first click to start and the next one to stop.
* There is a 300 ms minimum-hold guard, because M4 and M5 on macOS fire duplicate press events within a single physical click.
* On Windows there is a short cooldown after release, to absorb the synthetic middle-click that ending auto-scroll produces.
## Hold vs Tap mode
Dictation and Command Mode shortcuts each have a **Hold** / **Tap** pill in **Settings > Shortcuts**:
* **Hold** is push-to-talk. Release to stop. This is the default.
* **Tap** starts on one press and stops on the next.
It applies to the primary shortcut, to every alternative shortcut in those two groups, to per-tone shortcuts, and to mouse-bound shortcuts. It is not offered for Hands-free (already a toggle), Start meeting notes, Paste last transcription or Cancel recording.
## Cancelling a recording
Escape is a real, rebindable shortcut, and it is enabled by default on both platforms.
The **Cancel Recording** row in **Settings > Shortcuts** discards the active recording. This row is the only place in Vowen where Escape can be bound to a shortcut, and mouse buttons cannot be bound to it.
If Escape is not cancelling your recording, check that the row has not been disabled or rebound.
## Keyboard layout issues
### Non-QWERTY layouts
Vowen matches letter shortcuts by **physical key position**, not by the character printed on the key. A shortcut recorded as Control + A on QWERTY fires on the physically equivalent key on AZERTY, which types Q there.
**Keycaps are translated for display.** The shortcut fields and keycap chips throughout the app are redrawn using your active keyboard layout, and they update live when you switch layout, so what you see matches what you press.
If you have been using Vowen since before this landed, you may see a one-time **"Some shortcuts may need to be updated"** modal on a non-QWERTY layout. It lists your current shortcuts (Dictate, Command mode, Hands-free, Start meeting notes, Paste last transcription, Cancel recording) so you can check they are what you expect. **Looks good** dismisses it; **Something's off** takes you straight to Shortcuts settings. It appears once and never again.
### The ISO 102nd key
The extra key that ISO keyboards have and ANSI keyboards do not (left of `1` on Mac layouts, next to left Shift on PC layouts, printed as `§`, `<` or `º` depending on layout) **is bindable**. Vowen stores it positionally rather than as whatever character your layout produces.
On macOS a bare binding on this key is suppressed, so it will not type its character while bound. On Windows and Linux Vowen listens only and cannot suppress the keypress, so a bare binding there will still type the character in addition to firing the shortcut. Add a modifier to avoid this.
### Punctuation keys
Punctuation shortcuts behave differently by platform:
* **macOS and Linux:** matched by physical position and displayed with your layout's glyph. A shortcut recorded as Control + `/` on QWERTY fires at the same physical key on AZERTY, which types `:` there, and the keycap shows `:`.
* **Windows:** punctuation is matched by whatever the layout assigns and is **not** position-corrected, and the keycap shows the US character. If a punctuation shortcut behaves unexpectedly on a non-US Windows layout, re-record it on that layout.
### Windows: accented characters stopped working
**Symptoms:** On a Spanish, French, Portuguese, German or Czech layout, dead keys intermittently fail. You press an accent, then a vowel, and get the bare vowel roughly every other time.
**Cause:** Vowen reads your layout to translate keycaps for display, and the Windows API for doing that mutates the kernel's keyboard buffer, which is exactly where a pending dead key lives mid-composition. A periodic re-read was flushing primed accents about once every two seconds.
**Fix:** Update to the current version, which re-reads the layout only when the active layout changes. Changing your shortcuts will not help, since the keyboard hook was never involved.
## Specific scenarios
Some apps intercept certain combinations before Vowen sees them:
* **F7 in browsers** triggers Caret Browsing
* **Ctrl+Shift in terminals** is often bound to copy and paste
* **Remote desktop apps** consume shortcuts wholesale
Pick a combination that does not collide. F13 through F24 are supported and almost never conflict with anything.
Check that:
* Your microphone is connected and working
* The right input device is selected in **Settings > Audio**
* No other app has exclusive control of the device
* On Windows, microphone access is allowed in **Windows Settings > Privacy & security > Microphone**. Vowen cannot detect a Windows-level microphone block and will report the permission as granted regardless.
Vowen has a 500 ms grace period after a recording starts. If you press Fn and then add Control within that window, and Fn+Control is bound to a more specific shortcut of the same type, Vowen switches the running recording's AI enhancement setting to match, without restarting the recording.
So with Fn bound plain and Fn+Control bound with AI, pressing Fn then Control quickly upgrades the in-flight recording rather than starting a second one. Toggle-mode shortcuts skip this entirely.
If this is not what you want, make the two shortcuts more distinct.
If you use an accessibility keyboard, Sticky Keys, or automation software that posts keystrokes, something upstream can assert modifier flags you are not holding. Vowen detects keydowns carrying modifier flags that no modifier event ever announced and logs a warning rather than firing the chord.
If a bare letter key is still firing a modified shortcut, make sure you are on the current version and check for latched modifiers on the accessibility keyboard.
Configure alternative shortcuts in **Settings > Shortcuts**. Each alternative shortcut carries its own AI enhancement setting with three values: **Global** (follow the global setting, and the default), **Always**, and **Never**.
The primary shortcut has no AI control of its own. It always follows the global setting.
Letters, digits, F1 through F24, all punctuation, the arrow keys, Home, End, Page Up, Page Down, Insert, Space, Tab, Enter, Backspace, Delete, and the ISO 102nd key. Escape is bindable only on the Cancel Recording row.
## Related pages
Every shortcut Vowen ships and how to configure them.
The most common reason a shortcut never fires on macOS.
# Transcription Quality
Source: https://docs.vowen.ai/troubleshooting/transcription-quality
Fixing accuracy issues with speech-to-text.
## Check which model you are on first
Changing model is the single largest accuracy lever.
| If you are on | Try |
| -------------------------------------------- | ---------------------------------------------------------------------------------- |
| Whisper Tiny or Base | Small, Medium, or Parakeet V2 / V3 |
| Whisper Small or Medium | Large v3 Turbo, or a cloud model |
| Any Whisper model, English only | Parakeet V2, which is faster and generally more accurate for English |
| Any local model, wanting maximum accuracy | Whisper Large v3 (Groq), Scribe v2 (ElevenLabs), or Universal-3.5 Pro (AssemblyAI) |
| A local model on macOS, wanting live preview | Nemotron EN or Nemotron Multilingual, which stream with punctuation as you speak |
Local models live on the **Speech models** page in the left sidebar, not in the Settings modal.
If you use a custom Dictionary, moving off Whisper Tiny or Base matters twice over. Those two models are also the only local Whisper sizes that receive no vocabulary at all. See [Custom vocabulary](#what-custom-vocabulary-actually-does) below.
## What custom vocabulary actually does
**It depends entirely on your engine.** Some use your Dictionary well, some use it weakly, and some ignore it completely. Each has its own ceiling on how many terms it will take.
**If your Dictionary "does nothing", check your model before anything else.** Several of the most commonly used local models receive no vocabulary at all:
* **Whisper Tiny and Base**, including their `.en` variants
* **Parakeet**, every variant, on macOS and Windows
* **Nemotron EN and Nemotron Multilingual**
On these, terms you add to the Dictionary never reach the speech engine. Nothing is broken and nothing is misconfigured. The words simply are not sent.
Whisper Tiny and Base are the sharp edge here. Base was Vowen's recommended default for a long time, so long-time users are disproportionately sitting on a model that ignores every term they add. Vocabulary starts at **Whisper Small**. Below that, the model cannot act on your terms reliably, and tends to either ignore them or echo them into the transcript.
Parakeet is the current default on both macOS and Windows, so new users land on an engine that takes no vocabulary too.
See [What to do instead](#what-to-do-instead-of-vocabulary) below.
### How each engine receives vocabulary
These steer recognition towards your terms directly, so an unusual name comes back spelled right rather than guessed at:
| Provider | Cap |
| ------------------------------- | ---------------------------------- |
| Deepgram Nova 3 | 100 terms |
| Deepgram Nova 2 | 50 terms |
| AssemblyAI (batch) | 1000 terms, 6 words each |
| AssemblyAI (streaming) | 100 terms, 50 characters each |
| ElevenLabs Scribe v2 (batch) | 100 terms, 5 words, 49 characters |
| ElevenLabs Scribe v2 (realtime) | 50 terms, 20 characters |
| Speechmatics | 1000 terms |
| xAI Aurora | 100 terms, 50 characters |
| Cartesia Ink 2 (streaming only) | 100 terms, 1200 characters total |
| Mistral Voxtral | 100 terms, no spaces or commas |
| Soniox | around 6000 tokens' worth of terms |
| OpenAI gpt-transcribe | no stated cap |
You do not have to manage these caps. Vowen trims and tidies your list to fit each one, so a long Dictionary never turns into a failed transcription.
These cannot be steered. Your terms go in as a hint about what is likely to be said, which the model may or may not act on:
* **Local Whisper Small and larger.** Small, Medium, Large v3 and Large v3 Turbo, plus the English-only variants of Small and Medium. **Tiny and Base are excluded**, and get nothing.
* **Whisper Large v3 and Large v3 Turbo (Groq)**
* **Custom speech servers** running an OpenAI-compatible Whisper endpoint
* **Sarvam Saaras v3**, live dictation only
* **Google Gemini**, file transcription only
Vowen keeps the hint short enough that the model uses all of it, and ranks your terms so the ones you say most often are the ones that fit.
The Small floor applies to dictation, file transcription and meeting notes alike.
These hints are real, but much softer than the engines above, and will not always overcome a confident misrecognition.
Adding terms has no effect on:
* **Whisper Tiny and Base**, including `tiny.en` and `base.en`
* **Parakeet**, every variant, on macOS and Windows
* **Nemotron EN and Nemotron Multilingual**
* **Sarvam Saaras v3**, file transcription. Sarvam takes vocabulary during live dictation only.
* **Cartesia**, file transcription. Cartesia's batch model takes no vocabulary.
* **Gemini Live**, used for live dictation. Only Gemini file transcription applies your terms.
* **OpenAI's diarization model** (`gpt-4o-transcribe-diarize`), which takes no vocabulary of any kind
Sarvam and Cartesia are split. Both use your terms when streaming, and neither does when transcribing a file.
### Which terms get sent
Your Dictionary is listed alphabetically, so simply taking the first terms would give a user with 200 entries a vocabulary that effectively stops at "C". Vowen prioritises by **how often you have actually said each term**, then how recently, then when you added it, and fits as many as the provider's ceiling allows.
### What to do instead of vocabulary
If your engine takes no vocabulary, or it is not enough on its own, these all still work:
Each Dictionary entry can carry the specific wrong spellings you actually see. That is a text substitution applied after transcription, so it works on every engine including Parakeet and Nemotron.
For a phrase that is always transcribed the same wrong way, a Thread replaces it every time. Triggers are matched as whole phrases, so a `sig` thread will not rewrite the middle of "design".
Enhancement receives your Dictionary terms as context and fixes misrecognitions the speech model got wrong. This is the most effective route for Parakeet and Nemotron users. Turn it on at **Configure your AI > Configuration > Enhance transcription with AI**.
If your work depends on a specific set of proper nouns, this is the real fix.
Moving from Whisper Tiny or Base up to **Whisper Small** is the smallest possible change and turns vocabulary on at all, since Small is the floor.
For the strongest result, use one of the engines that steers recognition directly: Deepgram Nova 3, AssemblyAI, ElevenLabs Scribe v2 or Speechmatics. The difference on proper nouns is large.
See [Dictionary](/features/dictionary) and [Threads](/features/threads) for the full detail.
## Set your language explicitly
Auto-detect occasionally picks the wrong language, and a wrong-language decode is far worse than a slightly weaker model.
1. Go to **Settings > Language**
2. Set **Dictation Language** to your primary language
The available languages change with your model. Deepgram Nova 2 offers 33, Nova 3 offers 50, xAI 25, Mistral 13, Sarvam 23, Speechmatics 39, AssemblyAI streaming only 6. If you switch to a model that does not support your stored language, the selector silently resets to Auto. English-only models such as Parakeet V2 and Nemotron EN lock the selector entirely.
## Turn on AI enhancement
AI enhancement catches and fixes most remaining transcription errors, and it receives your Dictionary terms as context. Turn it on at **Configure your AI > Configuration > Enhance transcription with AI**.
If no AI provider is connected, that toggle is replaced by a locked card rather than being greyed out. Connect a provider on the same tab first.
## Specific issues
* Slow down slightly. Rapid speech is harder for every speech model.
* Switch to a cloud model. Nova 3 (Deepgram) and Scribe v2 (ElevenLabs) handle fast speech well.
* On a local Whisper model, move up a size.
Check which engine you are on first, because the answer differs completely. See [Custom vocabulary](#what-custom-vocabulary-actually-does) above.
* **Whisper Tiny or Base, Parakeet, or Nemotron:** vocabulary does nothing. Use a Dictionary misspelling alias, a Thread, or AI enhancement, or move to an engine that takes vocabulary.
* **An engine that uses your Dictionary well:** add the terms to your **Dictionary** (the top-level sidebar page, not a settings section) and recognition is steered towards them directly.
* **Local Whisper Small or larger, or Groq:** add them to the Dictionary. They go in as a hint, which helps but is weaker.
* Use a multilingual model. Never a `.en` Whisper variant, and never Parakeet V2 or Nemotron EN, all of which are English-only.
* Set the language explicitly rather than relying on auto-detect.
* Parakeet V3 covers 25 European languages and is fast.
* Nemotron Multilingual is macOS only and streams with punctuation.
* For Japanese, Parakeet Japanese is a dedicated macOS-only model. For Mandarin, Parakeet Mandarin, also macOS only.
* For Indian languages, Saaras v3 (Sarvam AI).
* Whisper Large v3 covers 99 languages and remains the broadest option.
Repetition is a known speech-model behavior, more common on smaller models.
* Re-record the phrase, or use **Retry** on the Voice Log entry to re-run the saved audio through a different model
* Move up a model size, or to a cloud model
* AI enhancement detects and removes repetitions
Whisper-family models invent text over silence, and "thank you" is the most common output.
* Start speaking as soon as you press the shortcut rather than holding it in silence
* Vowen already discards local results that are exactly "thank you", "thank you.", "." or ".\n". If something is reaching your app, it was not an exact match.
* Turn on **Settings > Experimental > Enhanced silence detection** for cloud models. A Sensitivity slider from 1 to 5 appears once it is on, defaulting to 2.
* Whisper-family audio already has its trailing silence trimmed before upload, precisely to reduce this.
The recording was probably too short.
* Hold the shortcut for the full duration of your speech, or switch that shortcut to **Tap** mode in Settings > Shortcuts so you are not fighting the key
* Parakeet requires at least 300 ms of audio. Anything shorter is silently discarded, with no error and no Voice Log entry, on the assumption you tapped the key without speaking.
* Check that your shortcut is not being consumed by the target app
See [First or last word cut off](/troubleshooting/common-issues#first-or-last-word-cut-off).
Use **Retry** on the Voice Log entry to confirm. Retry always re-reads your original recording.
Vowen applies smart spacing and capitalisation on device, using the text already around your cursor, so a dictation dropped mid-sentence does not arrive with a stray capital or a doubled space. It runs after Threads are applied.
It does not apply to text expander injections.
There is a dedicated setting for this. **Settings > Language > English spelling** switches between American and British using an on-device converter. You do not need to write a custom AI instruction for it.
## Recommended setups
**macOS, fast and accurate, fully local:**
* Speech: Parakeet V3, or Nemotron EN if you want punctuated live preview
* AI: Gemini 2.5 Flash-Lite or Claude Haiku 4.5
**Windows, fast and accurate:**
* Speech: Parakeet V3 locally, or Whisper Large v3 Turbo (Groq) in the cloud
* AI: Gemini 2.5 Flash-Lite
**Maximum accuracy, any platform:**
* Speech: Scribe v2 (ElevenLabs), Universal-3.5 Pro (AssemblyAI), or Nova 3 (Deepgram), all of which use your Dictionary well
* AI: Claude Sonnet 4.6 or GPT-5.4
Available AI models are fetched from Vowen's catalog and change over time. Open **Configure your AI > Configuration** to see the current list for your provider rather than relying on names printed here.
# Updates
Source: https://docs.vowen.ai/updates
How Vowen ships updates and how to give us feedback.
## Built by a small team, shaped by the community
Vowen is built and maintained by a two-person team. We ship updates frequently and we listen
carefully. The features you see in the app come directly from conversations and requests in the
channels below.
Live discussion, bug reports, and feature requests
Upvote feature requests and submit your own
See what we're working on next
Release announcements and product updates
We read and triage feedback in every one of these channels. Featurebase requests, Discord
conversations, and bug reports are how we decide what ships next.
Pro users get **custom feature requests delivered within 1-2 weeks** as part of the licence. Submit yours on Featurebase or Discord and tag it.
## What is shipped and what is coming
Everything that has shipped is in the [changelog](/changelog), release by release.
Everything still on the roadmap is listed in one place, on the
[pricing page](/pricing#coming-soon).
## How updates reach you
Vowen checks for a new version when it starts, and every **6 hours** after that. The check runs
inside the app itself, so Vowen has to be running for it to happen. There is no background updater
service.
When a new version is available you will see an update banner in the settings window. If you are
mid-recording, a small update pill appears on the recording indicator instead.
Updates are not installed silently. The banner shows what is in the release, and you decide when to
download and apply it.
A banner appears in the settings window with the new version number and a summary of changes.
Click the banner to start the download. You can keep using Vowen while it downloads in the
background.
When the download completes, the banner updates with a restart prompt. Restart Vowen to apply
the new version.
Dismissing the banner hides it for **24 hours**, then it comes back if you are still on the old
version. The 24 hours is the snooze, not the check interval.
You can also trigger a check at any time from **Settings > General > Check for updates**.
## What's New after an update
After Vowen restarts on a new version, a "What's New" modal highlights the changes in that release.
Older versions stay available in the modal's archive, and the full history is on the
[changelog](/changelog).
***
Have an update question that isn't answered here? See the [Updates FAQ](/faq#updates).