VOICEVOX für Laravel ist ein Paket zur Nutzung der Sprachsynthese-Funktion von VOICEVOX in Laravel. Sie können aus Text japanische Sprache erzeugen.
Am schnellsten starten Sie mit dem Client-Modus. In Umgebungen mit FFI können Sie später schrittweise auf den Native-Modus oder den Engine-API-Modus umsteigen.
Drei Nutzungsmodi
| Modus | Ausführung | FFI | Geeigneter Einsatz | Guide |
|---|
| Client-Modus | HTTP-Verbindung zur offiziellen VOICEVOX-Engine | Nicht erforderlich | Zum Ausprobieren, Docker-Umgebungen, Umgebungen ohne FFI | Client Talk / Client Song |
| Native-Modus | Direkter Aufruf des VOICEVOX CORE über PHP-FFI | Erforderlich | Geschwindigkeit, Offline-Ausführung, CLI-Tool-Integration | Native Talk / Native Song |
| Engine-API-Modus | Laravel bietet eine VOICEVOX-kompatible API | Erforderlich | Bereitstellung als API-Server, Multi-Client-Integration | Engine Talk / Engine Song |
Schnellstart
Schritte für den Client-Modus.
Offizielle Engine starten
docker pull voicevox/voicevox_engine:cpu-latest
docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest
Sprachsynthese ausprobieren
use Revolution\Voicevox\Voicevox;
$response = Voicevox::talk('こんにちは、Laravel です。', id: 1)->generate(id: 1);
$response->storeAs('output.wav');
Hauptfunktionen
Sprachsynthese (Talk)
use Revolution\Voicevox\Client\TalkAudioQuery;
use Revolution\Voicevox\Voicevox;
$response = Voicevox::talk('こんにちは', id: 1)
->tap(function (TalkAudioQuery $talk) {
$talk->audioQuery['speedScale'] = 1.2;
$talk->audioQuery['pitchScale'] = 0.05;
$talk->audioQuery['intonationScale'] = 1.5;
$talk->audioQuery['volumeScale'] = 1.0;
})
->generate(id: 1);
Gesangssynthese (Song)
use Revolution\Voicevox\Song\Note;
use Revolution\Voicevox\Song\Score;
use Revolution\Voicevox\Voicevox;
$score = Score::make([
Note::make(length: 15),
Note::make(length: Note::len(ticks: 480, bpm: 120), lyric: 'ド', key: 60),
Note::make(length: Note::len(480, 120), lyric: 'レ', key: 62),
Note::make(length: Note::len(960, 120), lyric: 'ミ', key: 64),
Note::make(length: 2),
]);
$response = Voicevox::song($score)->generate(id: 3001);
Benutzerwörterbuch und Presets
Im Client-Modus verwalten Sie über die Voicevox-Facade das Benutzerwörterbuch und die Presets auf der Seite der offiziellen Engine.
use Revolution\Voicevox\Voicevox;
$uuid = Voicevox::addWord(
surface: 'Laravel',
pronunciation: 'ララベル',
accentType: 3,
);
$presetId = Voicevox::addPreset([
'id' => 0,
'name' => 'ゆっくり丁寧',
'speaker_uuid' => '7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff',
'style_id' => 1,
'speedScale' => 0.8,
'pitchScale' => 0.0,
'intonationScale' => 1.2,
'volumeScale' => 1.0,
'prePhonemeLength' => 0.1,
'postPhonemeLength' => 0.1,
]);
Laravel-AI-SDK-Integration
use Laravel\Ai\Audio;
$audio = Audio::of('こんにちは、Laravel です。')
->voice('ずんだもん')
->generate();
$audio->storeAs('output.wav');
Nächste Schritte
Zuletzt geändert am 13. Juli 2026