Skip to main content

Laten zingen in de clientmodus

Voor zangsynthese in de clientmodus gebruik je de API’s sing_frame_audio_query en frame_synthesis van de officiële VOICEVOX-engine. Anders dan bij talk moet je eerst een Score en Notes opbouwen.

Voorbereiding

Een Score en Notes maken

Met Note::len($ticks, $bpm) kun je de framelengte berekenen uit MIDI-ticks en BPM. Het is overzichtelijk om een kwartnoot als 480 ticks te behandelen.

Basisgebruik

teacher en id

  • teacher: het stijl-ID dat aan sing_frame_audio_query wordt doorgegeven. Op dit moment bestaat er maar één, namelijk 6000, dus de standaardwaarde is 6000.
  • generate(id:): het stijl-ID dat aan frame_synthesis wordt doorgegeven
Je kunt de lijst met beschikbare zangstemmen ophalen met singers().

F0 en volume aanpassen met tap()

Bij song is de meerwaarde van tap() bijzonder duidelijk: je kunt de SongAudioQuery aanpassen voordat je hem doorgeeft aan generate().
Als je F0 en volume afzonderlijk bijwerkt, doe dat dan in de volgorde F0 → volume.
tap() is ook handig wanneer je de Score hebt gewijzigd en opnieuw wilt synchroniseren.
De gedachte achter tap() staat samengevat in De tap()-helper en de Tappable-trait. VOICEVOX for Laravel is een typisch voorbeeld van “alleen het tussenobject aanpassen zonder de returnwaarde te veranderen”.

Volgende pagina’s

Score en Note in detail

Bekijk de framelengteberekening en patronen voor JSON-beheer.

Native song

Gebruik dezelfde Score in de native modus via FFI.

VOICEVOX Core for PHP gebruiken

Bekijk de spraaksyntheseflow met alleen de corebibliotheek.
Laatst gewijzigd op 6 september 2026