Skip to main content

Übersicht

revolution/laravel-voicevox ist ein Paket zur Nutzung von VOICEVOX aus Laravel. Sowohl der Client-Modus, der über HTTP eine Verbindung zur offiziellen Engine herstellt, als auch der Native-Modus, der VOICEVOX Core für PHP verwendet und direkt über PHP-FFI synthetisiert, lassen sich im gleichen Laravel-Stil verwenden.
Wenn Sie zunächst die Grundlagen von FFI ordnen möchten, siehe PHP FFI; zur Einrichtung der Core-Library selbst siehe VOICEVOX Core für PHP und Verwendung.

Feature-Tabelle

Anforderungen

  • PHP 8.3+
  • Laravel 12+
  • ext-zip
  • Für Native-Modus / Engine-API: ext-ffi
  • Lokale CLI-Umgebung
In üblichen Webserver-Umgebungen einschließlich Laravel Cloud ist FFI häufig deaktiviert. Betrachten Sie Native-Modus und Engine-API daher als auf lokale CLI-Umgebungen ausgelegt.

Modusübersicht

Warum tap() passt

Dieses Paket gibt direkt nach talk() / song() das Audio-Query-Objekt zurück, sodass Sie vor generate() eine Anpassungsphase einfügen können. Deshalb ist mit tap() das Schreibmuster natürlich, den Rückgabewert nicht zu ändern, sondern nur die Query anzupassen.
  • Bei Talk können Sie speedScale, pitchScale usw. anpassen.
  • Bei Song können Sie mit sync() F0 und Lautstärke neu berechnen.
  • Sie können sauber an das von generate() zurückgegebene VoicevoxResponse weiterketten.
Die Idee hinter tap() selbst ist unter tap()-Helper und Tappable-Trait zusammengefasst. Dieses Paket ist ein besonders anschaulicher praktischer Anwendungsfall.

Dokumentation

Installation

Reine Client-Einrichtung, FFI-basierte Einrichtung, Veröffentlichung der Konfigurationsdatei, Vorbereitung der Engine-Ressourcen.

Client Talk

Text-Sprachsynthese mit der offiziellen VOICEVOX-Engine starten.

Client Song

Score und Note zusammenbauen und Gesangssynthese durchführen.

Native Talk

Lokale Synthese über PHP-FFI und VOICEVOX CORE.

Native Song

Nutzung des Gesangsmodells direkt über FFI.

VOICEVOX Core für PHP

Einrichtung der Core-Library und Nutzung auf reiner PHP-Seite.
Zuletzt geändert am 13. Juli 2026