Panoramica
revolution/laravel-voicevox è un pacchetto per usare VOICEVOX da Laravel. Puoi gestire con lo stesso stile Laravel sia la modalità client, che si connette via HTTP all’engine ufficiale, sia la modalità nativa che, combinata con VOICEVOX Core for PHP, sintetizza direttamente tramite PHP FFI.Se prima vuoi mettere a fuoco i prerequisiti su FFI, consulta PHP FFI; per l’installazione della libreria core, VOICEVOX Core for PHP e Utilizzo.
Tabella delle funzionalità
| Feature | Supported | Description |
|---|---|---|
| VOICEVOX Client | ✅ | Accede via HTTP all’API del VOICEVOX Engine ufficiale. Non richiede FFI. |
| VOICEVOX Core | ✅ | Utilizza la libreria dinamica VOICEVOX CORE tramite VOICEVOX Core for PHP. |
| Laravel style | ✅ | Puoi utilizzarlo in stile Laravel con facade, helper, config/voicevox.php e .env. |
| Integrazione Laravel AI SDK | ✅ | Utilizzabile anche dal workflow Audio di Laravel AI SDK. |
| VOICEVOX Engine | ⚠️ | Incorpora un’API compatibile VOICEVOX nell’applicazione Laravel. Le parti non supportate ricadono sull’engine ufficiale tramite fallback. |
| VOICEVOX Engine / API TTS compatibile OpenAI | ✅ | /v1/audio/speech voice, come nell’AI SDK, oltre agli ID di stile supporta alias come “ずんだもん”. |
| VOICEVOX Editor | ⚠️ | È stata sviluppata un’app dedicata al canto per macOS, ma non è prevista la pubblicazione o distribuzione tramite app store. Se un giorno il codice venisse pubblicato su GitHub, sarà possibile compilarlo con Xcode per usarlo. |
Requisiti
- PHP 8.3+
- Laravel 12+
ext-zip- Per usare la modalità nativa / API Engine:
ext-ffi - Ambiente CLI locale
Elenco delle modalità
| Modalità | Metodo di esecuzione | FFI | Uso principale | Guida |
|---|---|---|---|---|
| Client Talk | Richieste HTTP all’engine ufficiale | Non necessario | Sintesi vocale da testo | client-talk |
| Client Song | Richieste HTTP all’engine ufficiale | Non necessario | Sintesi canora | client-song |
| Native Talk | Chiamata diretta a VOICEVOX CORE tramite FFI | Necessario | Sintesi vocale da testo in locale | native-talk |
| Native Song | Chiamata diretta a VOICEVOX CORE tramite FFI | Necessario | Sintesi canora in locale | native-song |
| API Engine | Fornisce un’API compatibile all’interno dell’app Laravel | Necessario | Incorporare un’API compatibile VOICEVOX | installation |
Perché tap() si adatta bene
Subito dopo talk() / song() questo pacchetto restituisce un oggetto Audio Query, permettendoti di inserire una fase di regolazione prima di generate().
Per questo, usare tap() rende naturale scrivere codice che regola solo la query senza modificare il valore restituito.
- In Talk puoi regolare
speedScale,pitchScale, ecc. - In Song puoi ricalcolare F0 e volume con
sync(). - Puoi concatenare in modo pulito al
VoicevoxResponserestituito dagenerate().
Il concetto di
tap() in sé è approfondito in Helper tap() e trait Tappable. Questo pacchetto ne è un esempio pratico particolarmente comprensibile.Documentazione
Installazione
Introduzione solo lato client, con FFI, pubblicazione del file di configurazione e preparazione delle risorse dell’engine.
Client Talk
Inizia con la sintesi vocale usando il VOICEVOX Engine ufficiale.
Client Song
Costruisci
Score e Note per eseguire la sintesi canora.Native Talk
Sintesi in locale usando PHP FFI e VOICEVOX CORE.
Native Song
Usa direttamente i modelli di canto tramite FFI.
VOICEVOX Core for PHP
Consulta la configurazione della libreria core e il suo utilizzo lato Pure PHP.
Link di riferimento
- GitHub: invokable/laravel-voicevox
- VOICEVOX Core for PHP: /it/packages/voicevox-core-php
- Utilizzo di VOICEVOX Core for PHP: /it/packages/voicevox-core-php/usage
- PHP FFI: /it/advanced/ffi
- Helper
tap(): /it/advanced/tap - VOICEVOX Engine ufficiale: VOICEVOX/voicevox_engine