Skip to main content

Faire chanter en mode client

La synthèse chantée en mode client utilise les API sing_frame_audio_query et frame_synthesis du moteur officiel VOICEVOX. Contrairement à Talk, il faut d’abord construire un Score et des Note.

Prérequis

Créer un Score et des Note

Note::len($ticks, $bpm) permet de calculer la longueur en frames à partir des ticks MIDI et du BPM. Il est plus clair de considérer la noire comme valant 480 ticks.

Utilisation de base

teacher et id

  • teacher : ID de style passé à sing_frame_audio_query. Actuellement, seul 6000 existe : c’est la valeur par défaut.
  • generate(id:) : ID de style passé à frame_synthesis.
La liste des locuteurs chantants disponibles peut être obtenue via singers().

Ajuster F0 et volume avec tap()

En Song, l’utilité de tap() est particulièrement claire : vous pouvez ajuster le SongAudioQuery avant de le passer à generate().
Pour mettre à jour F0 et volume individuellement, exécutez dans l’ordre F0 → volume.
tap() est également pratique lorsque vous voulez modifier le Score puis resynchroniser.
L’idée derrière tap() est résumée dans Le helper tap() et le trait Tappable. VOICEVOX for Laravel est un cas typique où l’on veut « ajuster uniquement l’objet intermédiaire sans changer la valeur de retour ».

Pages suivantes

Détails Score et Note

Découvrez le calcul des longueurs en frames et les patterns de gestion via JSON.

Song natif

Utilisez le même Score en mode natif via FFI.

Utilisation de VOICEVOX Core for PHP

Découvrez le flux de synthèse vocale avec la bibliothèque core seule.
Dernière modification le 13 juillet 2026