Skip to main content

Far cantare in modalità client

Nella sintesi vocale cantata in modalità client vengono utilizzate le API sing_frame_audio_query e frame_synthesis del motore ufficiale VOICEVOX. A differenza di Talk, è necessario costruire prima Score e Note.

Prerequisiti

Creazione di Score e Note

Con Note::len($ticks, $bpm) puoi calcolare la lunghezza in frame dai ticks MIDI e dal BPM. È più chiaro considerare una nota da un quarto pari a 480 ticks.

Utilizzo di base

teacher e id

  • teacher: Style ID passato a sing_frame_audio_query. Attualmente esiste solo il 6000, quindi il valore predefinito è 6000.
  • generate(id:): Style ID passato a frame_synthesis
Puoi ottenere l’elenco degli speaker per il canto con singers().

Regolazione di F0 e volume con tap()

In Song l’utilità di tap() è particolarmente evidente: puoi regolare la SongAudioQuery prima di passarla a generate().
Quando aggiorni F0 e volume separatamente, esegui l’ordine F0 → volume.
Anche quando vuoi risincronizzare dopo aver modificato lo Score, tap() è comodo.
L’idea alla base di tap() è riassunta in helper tap() e trait Tappable. VOICEVOX for Laravel è un caso tipico di “voglio regolare solo l’oggetto intermedio senza cambiare il valore di ritorno”.

Pagine successive

Dettagli su Score e Note

Verifica il calcolo delle lunghezze in frame e i pattern di gestione JSON.

Song in modalità nativa

Usa lo stesso Score in modalità nativa tramite FFI.

Utilizzo di VOICEVOX Core for PHP

Verifica il flusso di sintesi vocale con la sola libreria core.
Ultima modifica il 13 luglio 2026