Goal
Use VOICEVOX Editor.vvproj data directly in Laravel so you can regenerate both talk and song output.
VOICEVOX is a Japanese text-to-speech and singing synthesis software. This page focuses on interoperability with the official VOICEVOX Editor project file.
Top-level structure
.vvproj is UTF-8 JSON. One file can include both talk and song data.
talk section
talk.audioKeys defines order. talk.audioItems is a record keyed by the same IDs.
TalkAudioItem
If
query is already stored in .vvproj, you can skip /audio_query and synthesize directly.
accentPhrases
song section
Track
Note
Tick/seconds/frame conversion
For a single tempo:tempos order:
Note::len() helper usage (tick-to-frame workflow), see Score and Note Deep Dive.
Song synthesis flow
Notes for direct JSON editing
- Keep
trackskeys andtrackOrderperfectly aligned - Keep
talk.audioKeysaligned withtalk.audioItems - Validate
position >= 0,duration >= 1,noteNumberin0..127 - Prefer
tempos[0].position = 0andtimeSignatures[0].measureNumber = 1 - Preserve unknown keys when possible for forward compatibility
Laravel code example
Minimal example to load.vvproj and render both talk and song outputs: