Saltar al contenido principal

Qué es el modo cliente

En modo cliente se generan audios enviando peticiones HTTP al motor oficial de VOICEVOX. No se necesita FFI, así que es el modo más fácil como puerta de entrada para probar.
Si aún no has hecho la instalación, revisa antes Instalación y configuración.

Preparación

1

Arranca el motor oficial

docker pull voicevox/voicevox_engine:cpu-latest
docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest
2

Si hace falta, configura la URL de conexión

VOICEVOX_URL=http://127.0.0.1:50021
Si tu entorno dispone de GPU, también puedes usar la imagen GPU.

Uso básico

use Revolution\Voicevox\Voicevox;

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

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

Indicar el style ID

Puedes pasar el style ID tanto a talk() como a generate().
  • talk(id:): estilo con el que se crea el audio_query
  • generate(id:): estilo con el que se sintetiza el audio
Normalmente se indica el mismo valor.
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('ずんだもんなのだ', id: 1)
    ->generate(id: 1);
Puedes obtener la lista de speakers disponibles con speakers().
use Revolution\Voicevox\Voicevox;

$speakers = Voicevox::speakers();

Ajustar el audio query con tap()

En este paquete puedes recibir el TalkAudioQuery antes de generate(), así que encaja bien inyectar efectos secundarios con tap().
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);
Con tap() solo ajustas la query; el valor de retorno se pasa tal cual al siguiente generate(). El planteamiento se detalla en Helper tap() y trait Tappable.

Conversión automática de inglés a katakana

En modo cliente, como enable_katakana_english está activo, puedes corregir automáticamente el texto en inglés hacia una forma más cercana al katakana.
$response = Voicevox::talk('I love Laravel', id: 1)
    ->generate(id: 1);
Si quieres desactivarlo, pasa false como tercer argumento.
$response = Voicevox::talk('I love Laravel', id: 1, enableKatakanaEnglish: false)
    ->generate(id: 1);

Guardar la respuesta

$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');

Siguientes páginas

Cliente Song

Construye Score y Note para la síntesis de voz cantada.

VOICEVOX Core for PHP

Cuando pases a usar FFI, revisa también el uso de la biblioteca central.
Última modificación el 13 de julio de 2026