---
url: https://lettuceai.app/docs/speech-recognition
title: "Speech Recognition — LettuceAI"
description: "On-device voice input for LettuceAI using Whisper. Fully local transcription with custom vocabulary and correction rules."
---

Menu 

# Speech Recognition

LettuceAI includes on-device speech recognition powered by **Whisper**, the open-source automatic speech recognition model from OpenAI, running through the `whisper.cpp` runtime. You record from your microphone, the app transcribes the audio locally, and the resulting text is inserted into the chat input.

Fully local

Audio never leaves your device. The Whisper model runs entirely on the device. Your recordings are not uploaded to LettuceAI or to any third party.

## Whisper models

Whisper comes in several sizes. Smaller models are fast and use little memory; larger models are slower but more accurate. You pick the model that fits your hardware and download it once. Quantized variants (for example, `q5_0`, `q5_1`) are smaller and faster with only a small accuracy cost.

Open **Settings → Voices → Speech Recognition**, browse the model catalogue, and tap a model to download it. Common starting points the app marks as recommended:

-   **Mobile:** `tiny`, `base`, or `base-q5_1` / `small-q5_1` for a balance of speed and quality.
-   **Desktop:** `small`, `medium-q5_0`, `medium`, or `large-v3-turbo-q5_0` when you have the resources for higher accuracy.
-   **English-only** variants (marked `.en`) are smaller and more accurate on English than the multilingual variant of the same size.

Installed models are listed separately and can be removed at any time to reclaim disk space. Model files are stored under the app's own data directory, in a `models/whisper` folder.

## Using voice input in chat

With a model installed, the chat input shows a microphone control. Tap it to start recording, speak your message, and stop the recording. The app captures audio from your microphone, sends the PCM samples to the local Whisper runtime, and inserts the transcribed text into the message box. You can edit the result before sending, just like normal typing.

If multiple microphones are available, you can pick which one to use; the choice is remembered between sessions.

## Uploading audio into a chat

Separately from dictation, you can attach an existing audio file to a message and send it to the AI. Use the attachment control in the chat input to pick an audio file (common formats like MP3, WAV, OGG, FLAC, AAC, M4A, and others are supported). The clip is added to your message as an attachment, and a small player lets you listen to it right in the conversation.

This is different from microphone dictation. Dictation is transcribed locally and turned into text. An uploaded clip is sent to the model as audio, so the AI can actually listen to it. For this to work you need a model that understands audio input (for example, audio-capable Gemini models). With models that do not support audio, the clip is simply left out of the request.

Audio uses tokens

When you send audio to a model, it counts toward your usage just like text does. The app tracks audio tokens separately so you can see how much audio is contributing to a request.

Every clip you upload, plus any speech your characters generate, is collected in the **Audio Library** under **Settings → Library**, where you can replay, download, or delete it. See the Text-to-Speech page for details.

Uploaded audio leaves your device

Unlike microphone dictation, which is processed locally, an audio clip you upload and send is delivered to your chosen model's provider so it can be heard. Only send audio to providers you trust.

## Vocabulary

Vocabulary lets you teach Whisper words it is likely to mishear, such as character names, project codenames, or domain jargon. Terms you add are biased into Whisper's initial prompt so the model is more likely to spell them correctly the first time.

-   Add terms under the **Vocabulary** tab in Speech Recognition settings.
-   Each term can be tagged with a language and a category.
-   Terms have a **scope**: `conversation`, `character`, `project`, or `global`. Narrower scopes apply only where they are relevant; `global` applies everywhere.

The prompt that biases Whisper is limited in length, so very large vocabulary lists are truncated. Higher-priority and more frequently used terms are included first.

## Corrections: wrong → correct rewrites

Corrections are simple find-and-replace rules applied to Whisper's output after transcription. Use them when a specific phrase is consistently mistranscribed and vocabulary alone is not enough. Each rule pairs a **wrong** phrase with the **correct** phrase. Matching is whole-word and case insensitive.

Like vocabulary, corrections carry a scope and an optional language. Rules you mark as user-approved are preferred. The app also tracks how often each rule is accepted or rejected; rules that prove useful can be promoted to a broader scope automatically.

### Learning from your edits

When you edit a transcribed message before sending, the app can compare your edit to Whisper's original output and suggest new correction rules. Suggestions you accept become rules; suggestions you ignore are remembered so they will not be shown again.

## Voice examples

A voice example pairs a short recording with the text it _should_ produce. You can use voice examples to:

-   Verify that a vocabulary term is being recognized correctly.
-   Generate a correction suggestion by comparing Whisper's actual output to the expected text.
-   Keep regression-style samples for tricky phrases.

## Importing and exporting your library

Vocabulary, corrections, voice examples, and ignored suggestions can be exported as a single bundle and imported into another install. This is useful for sharing a tuned setup between devices or backing up your speech configuration outside of a full app backup.

## Privacy summary

-   The Whisper model runs locally; no audio is sent to a server.
-   Model files are downloaded once from Hugging Face and stored on your device.
-   Vocabulary, corrections, and voice examples live in your local database.
-   Nothing about your voice input is shared with LettuceAI.

[

PreviousText to Speech

](/docs/tts)[

NextSmart Creator

](/docs/smart-creator)
