Resumen
revolution/laravel-voicevox es un paquete para manejar VOICEVOX desde Laravel. Puedes usar con el mismo estilo Laravel el modo cliente, que se conecta al motor oficial por HTTP, y el modo nativo, que combina VOICEVOX Core for PHP para sintetizar directamente vía PHP FFI.Si quieres repasar antes los fundamentos de FFI, consulta PHP FFI; para la configuración de la propia biblioteca core, consulta VOICEVOX Core for PHP y su guía de uso.
Tabla de funciones
| Feature | Supported | Description |
|---|---|---|
| VOICEVOX Client | ✅ | Accede a la API del motor oficial de VOICEVOX por HTTP. No requiere FFI. |
| VOICEVOX Core | ✅ | Utiliza la biblioteca dinámica de VOICEVOX CORE a través de VOICEVOX Core for PHP. |
| Laravel style | ✅ | Se maneja al estilo Laravel con facade, helpers, config/voicevox.php y .env. |
| Integración con Laravel AI SDK | ✅ | También se puede usar desde el flujo de Audio del Laravel AI SDK. |
| VOICEVOX Engine | ⚠️ | Embebe una API compatible con VOICEVOX en la app Laravel. Las partes no cubiertas hacen fallback al motor oficial. |
| VOICEVOX Engine / OpenAI-compat TTS API | ✅ | En /v1/audio/speech, el parámetro voice admite, igual que en el AI SDK, alias como «ずんだもん» además del ID de estilo. |
| VOICEVOX Editor | ⚠️ | Se desarrolló una app centrada en canciones para macOS, pero no está previsto publicarla en la tienda. Cuando algún día el código se publique en GitHub, se podrá compilar y usar con Xcode. |
Requisitos
- PHP 8.3+
- Laravel 12+
ext-zipext-ffisi vas a usar el modo nativo o la Engine API- Un entorno CLI local
Lista de modos
| Modo | Forma de ejecución | FFI | Uso principal | Guía |
|---|---|---|---|---|
| Cliente Talk | Petición HTTP al motor oficial | No requerido | Síntesis de voz desde texto | client-talk |
| Cliente Song | Petición HTTP al motor oficial | No requerido | Síntesis de voz cantada | client-song |
| Nativo Talk | Llama directamente a VOICEVOX CORE por FFI | Requerido | Síntesis de voz desde texto en local | native-talk |
| Nativo Song | Llama directamente a VOICEVOX CORE por FFI | Requerido | Síntesis de voz cantada en local | native-song |
| Engine API | Expone una API compatible dentro de la app Laravel | Requerido | Embeber una API compatible con VOICEVOX | installation |
Por qué encaja bien tap()
Este paquete devuelve el objeto Audio Query justo después de talk() / song(), así que puedes intercalar una fase de ajuste antes de generate().
Por eso, usar tap() para ajustar solo la query sin cambiar el valor de retorno resulta natural.
- En Talk puedes ajustar
speedScale,pitchScale, etc. - En Song puedes recalcular F0 y volumen con
sync(). - Se encadena limpiamente con el
VoicevoxResponseque devuelvegenerate().
El planteamiento de
tap() en sí se recoge en Helper tap() y trait Tappable. Este paquete es un ejemplo especialmente claro como caso práctico.Documentación
Instalación
Revisa la instalación solo cliente, la instalación con FFI, la publicación del archivo de configuración y la preparación de los recursos del motor.
Cliente Talk
Empieza con la síntesis de voz desde texto usando el motor oficial de VOICEVOX.
Cliente Song
Construye
Score y Note para sintetizar voz cantada.Nativo Talk
Sintetiza en local con PHP FFI y VOICEVOX CORE.
Nativo Song
Usa el modelo de voz cantada directamente vía FFI.
VOICEVOX Core for PHP
Revisa la configuración de la biblioteca core y su uso del lado Pure PHP.
Enlaces de referencia
- GitHub: invokable/laravel-voicevox
- VOICEVOX Core for PHP: /es/packages/voicevox-core-php
- Uso de VOICEVOX Core for PHP: /es/packages/voicevox-core-php/usage
- PHP FFI: /es/advanced/ffi
- Helper
tap(): /es/advanced/tap - Motor oficial de VOICEVOX: VOICEVOX/voicevox_engine