Ü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
| Feature | Supported | Description |
|---|---|---|
| VOICEVOX Client | ✅ | Zugriff auf die offizielle VOICEVOX-Engine-API über HTTP. FFI ist nicht erforderlich. |
| VOICEVOX Core | ✅ | Nutzt die dynamische Bibliothek von VOICEVOX CORE über VOICEVOX Core für PHP. |
| Laravel style | ✅ | Facade, Helper, config/voicevox.php, .env – im typischen Laravel-Stil nutzbar. |
| Laravel-AI-SDK-Integration | ✅ | Auch über den Audio-Workflow des Laravel AI SDK nutzbar. |
| VOICEVOX Engine | ⚠️ | Integriert eine VOICEVOX-kompatible API in die Laravel-Anwendung. Nicht unterstützte Teile fallen auf die offizielle Engine zurück. |
| VOICEVOX Engine / OpenAI-kompatible TTS-API | ✅ | Bei /v1/audio/speech unterstützt voice neben Style-IDs auch Aliase wie „ずんだもん” – analog zum AI SDK. |
| VOICEVOX Editor | ⚠️ | Eine song-spezifische App für macOS wurde entwickelt, aber es ist keine Veröffentlichung/Distribution im App Store geplant. Sobald der Code irgendwann auf GitHub veröffentlicht wird, können Sie ihn mit Xcode bauen und verwenden. |
Anforderungen
- PHP 8.3+
- Laravel 12+
ext-zip- Für Native-Modus / Engine-API:
ext-ffi - Lokale CLI-Umgebung
Modusübersicht
| Modus | Ausführung | FFI | Hauptzweck | Guide |
|---|---|---|---|---|
| Client Talk | HTTP-Request an die offizielle Engine | Nicht erforderlich | Text-Sprachsynthese | client-talk |
| Client Song | HTTP-Request an die offizielle Engine | Nicht erforderlich | Gesangssynthese | client-song |
| Native Talk | Direkter Aufruf von VOICEVOX CORE über FFI | Erforderlich | Lokale Text-Sprachsynthese | native-talk |
| Native Song | Direkter Aufruf von VOICEVOX CORE über FFI | Erforderlich | Lokale Gesangssynthese | native-song |
| Engine-API | Bietet die kompatible API innerhalb der Laravel-Anwendung | Erforderlich | Integrierte VOICEVOX-kompatible API | installation |
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,pitchScaleusw. anpassen. - Bei Song können Sie mit
sync()F0 und Lautstärke neu berechnen. - Sie können sauber an das von
generate()zurückgegebeneVoicevoxResponseweiterketten.
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.
Referenzlinks
- GitHub: invokable/laravel-voicevox
- VOICEVOX Core für PHP: /de/packages/voicevox-core-php
- Verwendung von VOICEVOX Core für PHP: /de/packages/voicevox-core-php/usage
- PHP FFI: /de/advanced/ffi
tap()-Helper: /de/advanced/tap- Offizielle VOICEVOX-Engine: VOICEVOX/voicevox_engine