Obiettivo
Sfruttare direttamente i file.vvproj dell’editor VOICEVOX per rigenerare talk e song in Laravel.
Struttura di primo livello
.vvproj è JSON in UTF-8. Talk e song sono salvati nello stesso file.
Sezione talk
talk.audioKeys è un array ordinato, talk.audioItems è un Record con l’ID come chiave.
TalkAudioItem
Se
.vvproj contiene già query, puoi passare direttamente alla sintesi senza rieseguire /audio_query.
accentPhrases
Sezione song
Track
Note
Conversione tra tick, secondi e frame
Con tempo unico si converte così:tempos in ordine crescente di position.
Note::len(), consulta Dettagli di Score e Note.
Flusso di generazione audio per il song
Attenzioni nella modifica diretta
- L’insieme delle chiavi di
tracksdeve sempre coincidere contrackOrder - Analogamente sincronizza
talk.audioKeysetalk.audioItems - Mantieni
position >= 0,duration >= 1enoteNumberin0..127 - Di solito
tempos[0].positionè0etimeSignatures[0].measureNumberè1 - Se possibile, conserva le chiavi sconosciute nel risalvataggio per non rompere la compatibilità con versioni future
Esempio in codice Laravel
Esempio minimo per caricare un.vvproj e generare talk e song.