Skip to main content

What the user dictionary is

The user dictionary lets you teach VOICEVOX how to read proper nouns and technical terms. Registered words are applied automatically during synthesis.

Overview

The Laravel VOICEVOX user dictionary feature is a native implementation based on VOICEVOX Core UserDict. Dictionary data is persisted as JSON at storage/voicevox/user_dict.json.
Storage is independent from the official VOICEVOX engine. Words registered from Laravel are not synced to the official engine (and vice versa).

Configuration

By default, entries are saved to storage/voicevox/user_dict.json. To use another path, update config/voicevox.php.

Basic usage

Add a word

Parameters

  • surface (required): written form
  • pronunciation (required): reading in Katakana only
  • accentType (required): accent type (0 = flat, 1+ = accent position)
  • wordType (optional): part of speech (COMMON_NOUN, PROPER_NOUN, VERB, ADJECTIVE, SUFFIX)
  • priority (optional): priority (default 5)

Update a word

Delete a word

Get all words

Import dictionary data

Export dictionary data

Access via Engine API

If Laravel VOICEVOX Engine API is running, you can operate the user dictionary over HTTP. It still uses the native dictionary (no fallback to official engine dictionary).

Get all words

Add a word

Update a word

Delete a word

Import dictionary data

Set override=true to remove all existing entries before importing.

Synthesize after dictionary registration

Words in the user dictionary are referenced automatically during synthesis.

Notes

Set pronunciation in Katakana only. Hiragana and Kanji are not supported.
  • Laravel and official VOICEVOX engine dictionaries are managed separately.
  • Add, update, and delete operations are saved to JSON immediately.
  • If you are unsure about accent, try 0 (flat) first.

Troubleshooting

Word updates are not reflected

  1. Check write permissions for the storage directory.
  2. Confirm storage/voicevox/user_dict.json exists and is valid.
  3. Verify Katakana spelling.

Check dictionary file path

Reset the dictionary

Last modified on May 26, 2026