Ziel
Ermöglicht es,.vvproj-Dateien des VOICEVOX-Editors unverändert zu nutzen und Talk und Song in Laravel neu zu erzeugen.
Top-Level-Struktur
.vvproj ist UTF-8-JSON. Talk und Song werden in derselben Datei gespeichert.
talk-Abschnitt
talk.audioKeys ist ein geordnetes Array; talk.audioItems ist ein Record mit IDs als Keys.
TalkAudioItem
Wenn
query in .vvproj bereits gespeichert ist, können Sie direkt zur Synthese übergehen, ohne /audio_query erneut auszuführen.
accentPhrases
song-Abschnitt
Track
Note
Umrechnung Tick / Sekunde / Frame
Bei einem einzigen Tempo gilt:tempos in aufsteigender Reihenfolge von position abschnittsweise.
Note::len()-Helper von Ticks in Frame-Längen umrechnet, finden Sie unter Score- und Note-Details.
Ablauf der Song-Audio-Erzeugung
Hinweise bei direkter Bearbeitung
- Die Schlüsselmenge von
tracksundtrackOrdermüssen unbedingt übereinstimmen. - Auch
talk.audioKeysundtalk.audioItemsmüssen synchron gehalten werden. - Halten Sie
position >= 0,duration >= 1undnoteNumberinnerhalb von0..127ein. tempos[0].positionist üblicherweise0,timeSignatures[0].measureNumberüblicherweise1.- Unbekannte Keys nach Möglichkeit erhalten und wieder speichern, um die Kompatibilität mit zukünftigen Versionen nicht zu brechen.
Laravel-Code-Beispiel
Ein Minimalbeispiel, das.vvproj einliest und Talk und Song erzeugt.