> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mauvely.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Speech models

> The Whisper models Sotto can download, how to choose one, and how GPU backends affect speed.

Sotto needs a speech model installed before it can do anything. Download one from
**Settings → Model**.

## The catalogue

| Model                 | Size   | Languages    |
| --------------------- | ------ | ------------ |
| Tiny                  | 78 MB  | Multilingual |
| Tiny (English-only)   | 78 MB  | English      |
| Base                  | 148 MB | Multilingual |
| Base (English-only)   | 148 MB | English      |
| Small                 | 488 MB | Multilingual |
| Small (English-only)  | 488 MB | English      |
| Medium                | 1.5 GB | Multilingual |
| Medium (English-only) | 1.5 GB | English      |
| **Large v3 Turbo** ⭐  | 1.6 GB | Multilingual |
| Large v3              | 3.1 GB | Multilingual |

## Which one to pick

<CardGroup cols={2}>
  <Card title="You have a discrete GPU" icon="microchip">
    **Large v3 Turbo.** Near-Large accuracy at a fraction of the decode cost — the recommended
    default, and the one Sotto marks as such.
  </Card>

  <Card title="You are on integrated graphics or CPU" icon="laptop">
    **Small**, or **Small (English-only)** if you only dictate in English. Noticeably lighter
    without falling off a cliff in accuracy.
  </Card>

  <Card title="You are very short on disk or RAM" icon="hard-drive">
    **Base**. Tiny exists, but its accuracy drops far enough that you will spend the time you saved
    on corrections.
  </Card>

  <Card title="You want the best possible accuracy" icon="crosshairs">
    **Large v3**. Twice the disk of Turbo and slower to decode, for a modest accuracy gain. Rarely
    the right trade for live dictation.
  </Card>
</CardGroup>

### English-only variants

For the same size, an English-only model is somewhat more accurate on English — the capacity that
would have gone to other languages goes to English instead. Choose one if you never dictate in
anything else.

## Downloading

Models come from the official whisper.cpp model repository. Sotto shows progress, and:

* Downloads into a temporary file and only puts the model in place once it is complete, so an
  interrupted download never leaves a half-model that fails mysteriously.
* Verifies the file is genuinely a model before accepting it.

<Note>
  **This is the only network request Sotto ever makes**, and it happens because you asked for it.
  See [Privacy](/sotto/privacy).
</Note>

Installed models are listed with their size and can be removed to reclaim disk. You can install
several and switch between them.

## Language

**Settings → Model → Language** is *auto* by default, which lets the model detect what you are
speaking. Set it explicitly if you always dictate in one language — detection occasionally guesses
wrong on a short first utterance, and pinning it removes that failure mode.

An English-only model ignores this setting.

## Speed and the GPU backend

Model size is one factor; the backend it runs on is the other, and it is the bigger one.

| Backend    | Hardware                                                   |
| ---------- | ---------------------------------------------------------- |
| **ROCm**   | AMD                                                        |
| **Vulkan** | Any modern GPU — often within a few percent of ROCm on AMD |
| **CUDA**   | NVIDIA                                                     |
| **CPU**    | Anything. Substantially slower                             |

The backend is fixed **when Sotto is compiled**, not chosen at runtime, so switching means building
from source. The bottom of the Settings window names the backend actually in use — if it says
`cpu`, that is your bottleneck, not your model choice.

See [Installing](/sotto/installing#pick-a-backend).

## What to expect

With Large v3 Turbo on a discrete GPU:

* Live transcript updating roughly once a second while you speak
* An utterance settling about 0.7 seconds after you stop
* The whole result formatted and inserted a fraction of a second after you end dictation

On CPU, all of those stretch out — enough that live feedback stops feeling live.

## Advanced tuning

A handful of thresholds have no interface — how long a pause ends an utterance, how often the live
transcript re-decodes, the minimum length of speech worth transcribing, and the hard cap on a
single utterance. They are deliberately not exposed, because the defaults are right for almost
everyone, but they can be edited in Sotto's configuration file at `~/.config/sotto/sotto.conf`
under the `tuning` section.
