Skip to main content
ユーザー辞書を使うと、固有名詞や専門用語の読み方を公式 VOICEVOX エンジンに登録できます。クライアントモードでは Laravel 側に辞書を保存せず、接続先の公式エンジンが管理するユーザー辞書 API をそのまま利用します。

概要

クライアントモードのユーザー辞書は Voicevox Facade から操作します。内部では公式 VOICEVOX エンジンの /user_dict/user_dict_word/import_user_dict に HTTP リクエストを送信します。 公式エンジンの辞書データは OS ごとのユーザー領域に保存されます。VOICEVOXアプリ(製品版)macOS のビルド版では通常、次の場所に保存されます。
Docker で公式エンジンを起動している場合も、コンテナ内のユーザー領域に保存されます。コンテナを再起動しても同じコンテナを使い続けている間はデータが維持されます。ただし docker run --rm のように一時コンテナを都度作成している場合は、コンテナ終了時に辞書が失われます。辞書を確実に永続化したい場合は Docker volume でコンテナ内のユーザー領域をマウントしてください。 ネイティブモードの storage/voicevox/user_dict.json とは別管理です。Laravel 側の config('voicevox.core.user_dict') はクライアントモードには使われません。

事前準備

公式 VOICEVOX エンジンを起動します。
接続先は VOICEVOX_URL で変更できます。

基本的な使い方

単語の追加

Voicevox::addWord() で単語を登録できます。

パラメータ

全単語の取得

登録されているすべての単語を取得できます。

単語の更新

追加時に返ってきた UUID を指定して更新します。

単語の削除

辞書のインポート

公式エンジンのユーザー辞書形式の配列をインポートできます。override: false(デフォルト)なら既存の単語は保持され、インポートされた単語が追加されます。
辞書をエクスポートしたい場合は Voicevox::userDict() の結果を JSON に保存します。

辞書登録後の音声合成

ユーザー辞書に登録した単語は、公式エンジンで音声合成するときに自動的に参照されます。

Engine API との対応

Voicevox Facade の各メソッドは、公式エンジンの API に対応しています。

ネイティブモードとの違い

注意事項

pronunciation はカタカナで指定してください。ひらがなや漢字は使用できません。
  • クライアントモードでは公式エンジン側の辞書が更新されます。Laravel プロジェクトの storage には保存されません。
  • docker run --rm など一時コンテナを都度作成している場合、コンテナ終了時に辞書が失われます。
  • 追加時に返る UUID は a1b2c3d4-0000-0000-0000-000000000000 のようなハイフンあり形式です。

トラブルシューティング

単語が反映されない

  1. 公式 VOICEVOX エンジンが起動しているか確認してください。
  2. VOICEVOX_URL が正しい接続先を指しているか確認してください。
  3. 読み方がカタカナになっているか確認してください。
  4. Docker で別コンテナを起動し直していないか確認してください。

辞書ファイルの場所がわからない

macOS のビルド版では次の場所を確認してください。
Docker では公式エンジンのユーザー領域(コンテナ内)に保存されます。永続化が必要な場合は、コンテナ内のユーザー領域を Docker volume にマウントしてください。
最終更新日 2026年5月26日