Zum Hauptinhalt springen

Was ist der Client-Modus?

Im Client-Modus werden HTTP-Requests an die offizielle VOICEVOX-Engine gesendet, um Audio zu erzeugen. Da FFI nicht erforderlich ist, ist er ein leicht zugänglicher Einstiegsmodus zum Ausprobieren.
Falls noch nicht eingerichtet, prüfen Sie zunächst Installation und Konfiguration.

Vorbereitung

1

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
2

Bei Bedarf die Verbindungs-URL konfigurieren

VOICEVOX_URL=http://127.0.0.1:50021
In Umgebungen mit GPU können Sie auch das GPU-Image nutzen.

Grundlegende Verwendung

use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('Laravelが好きなのだ', id: 1)
    ->generate(id: 1);

$response->storeAs('client', 'talk.wav');

Angabe der Style-ID

Sie können sowohl an talk() als auch an generate() eine Style-ID übergeben.
  • talk(id:): Style bei der Erstellung des audio_query
  • generate(id:): Style bei der Sprachsynthese
Üblicherweise wird derselbe Wert angegeben.
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('ずんだもんなのだ', id: 1)
    ->generate(id: 1);
Die Liste der verfügbaren Speaker können Sie mit speakers() abrufen.
use Revolution\Voicevox\Voicevox;

$speakers = Voicevox::speakers();

Audio-Query mit tap() anpassen

In diesem Paket erhalten Sie vor generate() das TalkAudioQuery, sodass sich tap() sehr sauber zum Einfügen von Nebeneffekten eignet.
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);
tap() führt nur Feinjustierungen der Query durch; der Rückgabewert kann unverändert an das nächste generate() weitergegeben werden. Die Idee ist ausführlich unter tap()-Helper und Tappable-Trait beschrieben.

Automatische Katakana-Umwandlung von Englisch

Im Client-Modus ist enable_katakana_english aktiv, sodass Texte mit englischen Wörtern automatisch in Richtung Katakana korrigiert werden können.
$response = Voicevox::talk('I love Laravel', id: 1)
    ->generate(id: 1);
Wenn Sie es deaktivieren möchten, übergeben Sie false als dritten Parameter.
$response = Voicevox::talk('I love Laravel', id: 1, enableKatakanaEnglish: false)
    ->generate(id: 1);

Response speichern

$response = Voicevox::talk('テスト', id: 1)->generate(id: 1);

$wav = $response->content();
$path = $response->storeAs('client', 'talk.wav');
$path = $response->storeAs('client', 'talk.wav', disk: 's3');

Nächste Seiten

Client Song

Bauen Sie Score und Note für die Gesangssynthese zusammen.

VOICEVOX Core für PHP

Wenn Sie FFI voraussetzen, prüfen Sie auch die Nutzung der Core-Library.
Zuletzt geändert am 13. Juli 2026