プリセットとは
プリセット機能を使うと、よく使う音声合成パラメータの組み合わせを保存して再利用できます。話速・音高・抑揚などをまとめて管理すると、複数の音声を生成するときも一貫した品質を維持しやすくなります。
概要
Laravel VOICEVOX のプリセット機能は、VOICEVOX Core を利用したネイティブ実装です。プリセットデータは JSON 形式でstorage/voicevox/presets.json に永続化されます。
公式 VOICEVOX エンジンとは独立したストレージを使用するため、Laravel 側で作成したプリセットは公式エンジン側には反映されません(その逆も同様です)。
設定
デフォルトではstorage/voicevox/presets.json に保存されます。別のパスを使いたい場合は config/voicevox.php で変更できます。
プリセットの構造
プリセットは次のような構造です。基本的な使い方
プリセットの作成
preset() ヘルパーの add() でプリセットを作成できます。
全プリセットの取得
プリセットの検索
プリセットの更新
プリセットの削除
プリセットを使った音声合成
talk() ヘルパーまたは Engine API の /audio_query_from_preset エンドポイントを利用します。
talk() ヘルパー
talk(preset:) にプリセット ID を指定します。このとき通常のスタイル ID は無視されます。
Engine API 経由でのアクセス
Laravel VOICEVOX のエンジン API を起動している場合、HTTP 経由でプリセットを操作できます。全プリセットの取得
プリセットの追加
プリセットの更新
プリセットの削除
プリセットを使った音声クエリの生成
パラメータ詳細
speedScale: 0.5 〜 2.0(話速)pitchScale: -0.15 〜 0.15(音高)intonationScale: 0.0 〜 2.0(抑揚)volumeScale: 0.0 〜 2.0(音量)prePhonemeLength: 0.0 〜 1.5 (開始無音・秒)postPhonemeLength: 0.0 〜 1.5 (終了無音・秒)
注意事項
- プリセット ID に
0を指定すると未使用 ID が自動採番されます。 - プリセットには
speaker_uuid(UUID 文字列)とstyle_id(整数)の両方を含めてください。
トラブルシューティング
プリセットが保存されない
- ストレージディレクトリの書き込み権限を確認してください
storage/voicevox/presets.jsonが正しく作成されているか確認してください