Skip to main content

目的

VOICEVOXエディターの .vvproj をそのまま活用して、Laravel でトーク・ソングを再生成できるようにします。

トップレベル構造

.vvproj は UTF-8 JSON です。トークとソングを同じファイルに保存します。

talk セクション

talk.audioKeys は順序配列、talk.audioItems は ID をキーにした Record です。

TalkAudioItem

.vvprojquery が保存済みなら、/audio_query を再実行せずにそのまま合成へ進めます。

accentPhrases

song セクション

Track

Note

tick・秒・フレーム変換

単一テンポでは次で変換します。
テンポ変更ありでは、temposposition 昇順で区間積算します。
Note::len() ヘルパーで tick からフレーム長へ変換する実装は Score と Note 詳細 を参照してください。

ソング音声生成の流れ

直接編集時の注意点

  • tracks のキー集合と trackOrder を必ず一致させる
  • talk.audioKeystalk.audioItems も同様に同期する
  • position >= 0duration >= 1noteNumber0..127 を維持する
  • tempos[0].position は通常 0timeSignatures[0].measureNumber は通常 1
  • 未知キーは可能なら保持して再保存し、将来バージョンとの互換性を壊さない

Laravel コード例

.vvproj を読み込み、トークとソングを生成する最小例です。
最終更新日 2026年5月28日