Skip to main content

Singen lassen im Client-Modus

Bei der Gesangs-Sprachsynthese im Client-Modus werden die APIs sing_frame_audio_query und frame_synthesis der offiziellen VOICEVOX-Engine verwendet. Im Gegensatz zum Talk müssen Sie zuvor Score und Note zusammenbauen.

Vorbereitung

Score und Note erstellen

Mit Note::len($ticks, $bpm) können Sie aus MIDI-Ticks und BPM die Frame-Länge berechnen. Wenn Sie eine Viertelnote als 480 Ticks behandeln, ist es leichter verständlich.

Grundlegende Verwendung

teacher und id

  • teacher: Style-ID, die an sing_frame_audio_query übergeben wird. Derzeit existiert nur 6000, daher ist 6000 der Standardwert.
  • generate(id:): Style-ID, die an frame_synthesis übergeben wird.
Die Liste der verfügbaren Gesangs-Speaker können Sie mit singers() abrufen.

F0 und Lautstärke mit tap() anpassen

Bei Song ist der Einsatzzweck von tap() besonders klar: Sie können das SongAudioQuery anpassen, bevor Sie es an generate() weitergeben.
Wenn Sie F0 und Lautstärke einzeln aktualisieren möchten, führen Sie es in der Reihenfolge F0 → Lautstärke aus.
tap() ist auch praktisch, wenn Sie den Score ändern und dann neu synchronisieren möchten.
Die Idee hinter tap() ist im Abschnitt tap()-Helper und Tappable-Trait zusammengefasst. VOICEVOX für Laravel ist ein typisches Beispiel für „Wir wollen den Rückgabewert nicht ändern, sondern nur das Zwischenobjekt anpassen”.

Nächste Seiten

Score- und Note-Details

Frame-Längen-Berechnung und JSON-Verwaltungsmuster.

Native Song

Verwenden Sie denselben Score im Native-Modus über FFI.

Verwendung von VOICEVOX Core für PHP

Ablauf der Sprachsynthese mit der Core-Library allein.
Zuletzt geändert am 13. Juli 2026