ユーザー辞書とは
ユーザー辞書を使うと、固有名詞や専門用語の読み方を VOICEVOX に覚えさせられます。登録した単語は音声合成時に適切な発音で読み上げられます。概要
Laravel VOICEVOX のユーザー辞書機能は、VOICEVOX Core の UserDict を利用したネイティブ実装です。辞書データは JSON 形式でstorage/voicevox/user_dict.json に永続化されます。
公式 VOICEVOX エンジンとは独立したストレージを使うため、Laravel 側で登録した単語は公式エンジン側には反映されません(逆方向も同様です)。
設定
デフォルトではstorage/voicevox/user_dict.json に保存されます。別のパスを使いたい場合は config/voicevox.php で変更できます。
基本的な使い方
単語の追加
dict() ヘルパーの add() で単語を登録します。
パラメータ
surface(必須): 表記pronunciation(必須): 読み方(カタカナのみ)accentType(必須): アクセント型(0= 平板、1以上 = アクセント位置)wordType(任意): 品詞(COMMON_NOUN、PROPER_NOUN、VERB、ADJECTIVE、SUFFIX)priority(任意): 優先度(デフォルト5)
アクセント型
0: 平板アクセント1: 一拍目2: 二拍目3: 三拍目
単語の更新
単語の削除
全単語の取得
辞書のインポート
辞書のエクスポート
Engine API 経由でのアクセス
Laravel VOICEVOX のエンジン API を起動している場合、HTTP 経由でもユーザー辞書を操作できます。公式エンジンへフォールバックせず、ネイティブ辞書を利用します。全単語の取得
単語の追加
単語の更新
単語の削除
辞書のインポート
辞書登録後の音声合成
ユーザー辞書に登録した単語は、音声合成時に自動参照されます。注意事項
- Laravel 版のユーザー辞書と公式 VOICEVOX エンジンのユーザー辞書は別管理です。
- 単語の追加・更新・削除は即座に JSON ファイルへ保存されます。
- アクセント型が不明な場合はまず
0(平板)を試してください。
トラブルシューティング
単語が反映されない
- ストレージディレクトリの書き込み権限を確認してください
storage/voicevox/user_dict.jsonが正しく作成されているか確認してください- カタカナ表記が正しいか確認してください