Saltar al contenido principal

Qué es el modo nativo

El modo nativo llama directamente a VOICEVOX CORE desde PHP FFI a través de VOICEVOX Core for PHP. Puedes sintetizar sin arrancar el motor oficial, pero necesitas configurar FFI y la biblioteca local.
El modo nativo no está pensado para servidores web. Úsalo en un CLI local. Las restricciones de FFI se explican también en PHP FFI.

Preparación

  1. Haber completado Instalación y configuración
  2. Haber completado la configuración de VOICEVOX Core for PHP
  3. Tener configurado VOICEVOX_CORE_PATH en .env
VOICEVOX_CORE_PATH=/path/to/voicevox_core/

Uso básico

En modo nativo se usa el helper talk().
use function Revolution\Voicevox\talk;

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

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

Indicar el style ID

En id indica un style ID incluido en los .vvm ya cargados.
use function Revolution\Voicevox\talk;

$response = talk('ずんだもんなのだ', id: 1)
    ->generate(id: 1);
Solo se pueden usar los modelos incluidos en core.vvms de config/voicevox.php.

Ajustar el audio query con tap()

En modo nativo, tap() se usa igual. Ojo: TalkAudioQuery es una clase distinta de la del modo cliente.
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);
El propio patrón de tap() está recogido en Helper tap() y trait Tappable. VOICEVOX for Laravel es un ejemplo práctico de ese patrón.

Usar kana con notación tipo AquesTalk

Como el modo nativo no dispone de enable_katakana_english, no encaja bien para leer directamente entradas mezcladas con inglés. En su lugar puedes usar kana() para pasar directamente kana en notación tipo AquesTalk.
use function Revolution\Voicevox\kana;

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

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

Diferencias con el modo cliente

ElementoCliente TalkNativo Talk
Arranque del motorNecesarioNo necesario
FFINo requeridoRequerido
Conversión automática de inglés a katakanaNo
Entrada de la APIVoicevox::talk()talk()

Siguientes páginas

Nativo Song

Usa el modelo de voz cantada vía FFI.

VOICEVOX Core for PHP

Revisa la configuración y las restricciones del wrapper PHP puro.
Última modificación el 13 de julio de 2026