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

# Custom Dictionary: Replacements and Vocabulary Boost

> Fix misheard words and expand abbreviations with text replacements, and boost recognition of technical terms and proper nouns with custom vocabulary.

FluidVoice's Custom Dictionary lets you teach the app your vocabulary, fix recurring transcription mistakes, and automatically clean up output. You can add words, define instant replacements, train the model by voice, and back everything up with JSON import/export.

<Note>
  Changes to your dictionary take effect immediately — no app restart required.
</Note>

## Open the Custom Dictionary

* **From the menu bar:** Click the FluidVoice icon → **Custom Dictionary**.
* **From the app:** Open **FluidVoice Settings → Custom Dictionary**.

## Your Dictionary

Your Dictionary is your personal word list. Use it for names, jargon, technical terms, or anything FluidVoice should recognize but might not transcribe correctly out of the box.

* Add a word or phrase you use often.
* FluidVoice will prefer these entries during transcription.

**Example entries:**

| Word         | Notes                     |
| ------------ | ------------------------- |
| `kubectl`    | Technical CLI tool        |
| `GraphQL`    | Product / technology name |
| `Kubernetes` | Domain term               |
| `Xcode`      | Apple product name        |

<Note>
  Vocabulary boosting applies to **Parakeet models** (Parakeet Flash, Parakeet TDT v3, Parakeet TDT v2). Other speech models handle custom words differently or may not support vocabulary injection. If you're using Whisper or Apple Speech, Instant Replacements are the more reliable tool for correcting specific words.
</Note>

## Instant Replacements

Instant Replacements correct text on the fly. When FluidVoice hears a trigger phrase, it immediately replaces it with whatever you define.

* **Trigger:** what the speech model hears (e.g. `fluid voice`, `altic`).
* **Replacement:** what should appear in the transcript instead.

Replacements are applied live while you dictate.

**Example entries:**

| Triggers                    | Replacement                              |
| --------------------------- | ---------------------------------------- |
| `addr`, `my address`        | `123 Main Street, Springfield, IL 62701` |
| `fluid voice`, `fluidvoice` | `FluidVoice`                             |
| `open ai`, `openai`         | `OpenAI`                                 |
| `sig`                       | Your email signature                     |

### Train a Replacement by Voice

If a word is consistently misheard, use **Train by Voice** to fix it:

<Steps>
  <Step title="Open Train Replacement">
    Go to **Custom Dictionary → Train Replacement**.
  </Step>

  <Step title="Enter the target word">
    Enter the word or phrase you actually wanted.
  </Step>

  <Step title="Record">
    Record the way you naturally say it.
  </Step>

  <Step title="Review">
    Review the captured ASR variants.
  </Step>

  <Step title="Save or merge">
    Save or merge the entry into your Instant Replacements.
  </Step>
</Steps>

Newly trained replacements are placed at the top of your list so they're easy to find.

### Empty Replacements

You can map a trigger to an **empty replacement** to delete unwanted text from the output. For example, map `¿` to nothing to prevent Spanish inverted question marks from appearing in your transcript.

A replacement only needs at least one trigger to be valid; the replacement field can be left empty.

## Import and Export

Your entire Custom Dictionary — both Instant Replacements and Custom Words — can be moved between devices or shared with teammates.

* **Export:** produces a simple JSON file containing all replacement rules and custom words.
* **Import:** choose whether to **merge** with your current dictionary or **replace** it entirely.

Import/Export controls are in the header of the Custom Dictionary view.

<Note>
  The exact JSON schema may vary by app version. Use the in-app export to get the current format.
</Note>

## Automatic Dictionary Learning

FluidVoice can learn from your corrections. When you fix a transcription error, the app can suggest or automatically add the corrected word or phrase to your dictionary over time, improving accuracy without manual training.

## API Access

Power users can manage the dictionary programmatically via FluidVoice's local REST API:

```bash theme={null}
# List all replacements
curl http://localhost:11111/v1/dictionary/replacements

# Add a replacement (append mode)
curl -X POST http://localhost:11111/v1/dictionary/replacements \
  -H "Content-Type: application/json" \
  -d '{"triggers": ["addr"], "replacement": "123 Main Street"}'

# List all custom words
curl http://localhost:11111/v1/dictionary/custom-words

# Add a custom word
curl -X POST http://localhost:11111/v1/dictionary/custom-words \
  -H "Content-Type: application/json" \
  -d '{"text": "kubectl"}'
```

## Tips

* **Keep triggers short and specific.** A single misheard word usually makes a better trigger than a long phrase.
* **Order matters.** More specific replacements are typically checked first.
* **Back up before replacing.** Use Export before large import/replace operations.
* **Empty replacements** are useful for removing repeated filler words, punctuation, or artifacts from bilingual dictation.
