# Dictation

> Speak to an nsq agent instead of typing — speech is recognised on your machine and the text is pasted, never sent.

Source: https://docs.neurosquad.ai/en/cli/dictation

Press `v` in the dashboard (or the global hotkey, `Ctrl Shift Space` —
`Cmd Shift Space` on a Mac), speak, and stop. The text is pasted into the agent that is
open full screen, or else the selected one.

- **It never presses Enter.** Read what was recognised, fix it if needed, then send it yourself.
- **Audio never leaves your machine.** Speech is recognised locally; audio is kept in memory only
for the current phrase and never written to disk.

## Set it up

The speech model is downloaded once, on first use or ahead of time:

```sh
nsq dictation setup     # download the model (checked against its SHA-256)
nsq dictation status    # model, folder, hotkey
```

| Model | Size | Languages |
| --- | --- | --- |
| `parakeet-tdt-0.6b-v3` (default) — NVIDIA Parakeet TDT 0.6B v3, CC-BY-4.0 | ~670 MB | 25 European languages |
| `whisper-large-v3-turbo` — OpenAI Whisper large-v3-turbo, MIT | ~1 GB | ~100, detected automatically |

Pick the other model with `--model whisper-large-v3-turbo` or in the config (below).
`nsq dictation test <file.wav>` runs a recording through the model, to check it works.

## The hotkey

By default a quick tap starts and the next tap stops; holding the key records until you let go.
The hotkey is global — it works even when the terminal is not in front — and it does not swallow
the key, so pick a combination your terminal does not use.

```json
{
  "dictation": {
    "hotkey": "F9",
    "mode": "hold",
    "model": "whisper-large-v3-turbo"
  }
}
```

in `~/.neurosquad-cli/config.json`. `"mode"`: `"hold"` records while the key is held, `"toggle"`
starts and stops on each press. `"enabled": false` turns dictation off.

## Platforms

- **macOS:** your terminal app needs **Microphone** permission, and **Accessibility / Input
Monitoring** for the global hotkey (System Settings → Privacy & Security).
- **Linux:** the global hotkey needs X11; under Wayland, use `v` in the dashboard. On Linux
arm64 a recorder on `PATH` is used (`arecord`, `parecord`, `pw-record`, `sox` or `ffmpeg`).
- **Over SSH** there is no microphone or global hotkey on the remote side.

> Dictation is an optional part of nsq and is not available on Windows arm64. If it could not be
> installed, the rest of nsq works as usual and `nsq dictation status` says so.
