Zum Hauptinhalt springen

Was ist der Native-Modus?

Der Native-Modus ruft VOICEVOX CORE über VOICEVOX Core für PHP direkt über PHP-FFI auf. Sie können synthetisieren, ohne die offizielle Engine zu starten, doch FFI und lokale Bibliothek müssen eingerichtet sein.
Der Native-Modus ist nicht für Webserver gedacht. Verwenden Sie ihn in lokalen CLI-Umgebungen. Die Einschränkungen von FFI sind unter PHP FFI erläutert.

Vorbereitung

  1. Installation und Konfiguration ist abgeschlossen.
  2. Die Einrichtung von VOICEVOX Core für PHP ist abgeschlossen.
  3. In .env ist VOICEVOX_CORE_PATH gesetzt.
VOICEVOX_CORE_PATH=/path/to/voicevox_core/

Grundlegende Verwendung

Im Native-Modus wird der talk()-Helper verwendet.
use function Revolution\Voicevox\talk;

$response = talk('ネイティブ版なのだ', id: 1)
    ->generate(id: 1);

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

Angabe der Style-ID

Für id geben Sie eine Style-ID an, die in der geladenen .vvm enthalten ist.
use function Revolution\Voicevox\talk;

$response = talk('ずんだもんなのだ', id: 1)
    ->generate(id: 1);
Es können nur die Modelle verwendet werden, die in core.vvms in config/voicevox.php enthalten sind.

Audio-Query mit tap() anpassen

Die Verwendung von tap() ist im Native-Modus identisch. Beachten Sie jedoch, dass TalkAudioQuery eine andere Klasse als im Client-Modus ist.
use Revolution\Voicevox\Talk\TalkAudioQuery;
use function Revolution\Voicevox\talk;

$response = 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);
Das Muster von tap() selbst ist unter tap()-Helper und Tappable-Trait beschrieben. VOICEVOX für Laravel ist ein praktisches Beispiel dafür.

Kana in AquesTalk-ähnlicher Notation verwenden

Da im Native-Modus enable_katakana_english fehlt, eignet er sich nicht dafür, englisch-vermischten Input direkt zu lesen. Stattdessen können Sie mit kana() Kana in AquesTalk-ähnlicher Notation direkt übergeben.
use function Revolution\Voicevox\kana;

$response = kana("ネイティブ'バンナ/ノダ'", id: 1)
    ->generate(id: 1);

$response->storeAs('native', 'kana.wav');

Unterschiede zum Client-Modus

AspektClient TalkNative Talk
Engine-StartErforderlichNicht erforderlich
FFINicht erforderlichErforderlich
Automatische Katakana-Umwandlung von EnglischVorhandenNicht vorhanden
API-EinstiegVoicevox::talk()talk()

Nächste Seiten

Native Song

Das Gesangsmodell über FFI nutzen.

VOICEVOX Core für PHP

Einrichtung und Einschränkungen des reinen PHP-Wrappers.
Zuletzt geändert am 13. Juli 2026