Vai al contenuto principale

Integrazione con Laravel AI SDK

VOICEVOX for Laravel è integrato con il Laravel AI SDK e puoi generare audio dalla Facade Audio. I driver disponibili sono i due seguenti.
  • voicevox-client (modalità client)
  • voicevox (modalità nativa)

Driver client (voicevox-client)

Modalità che invia richieste HTTP al motore ufficiale VOICEVOX. FFI non è richiesto.

Prerequisiti

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

Configurazione

Aggiungi il provider voicevox-client a config/ai.php.
'providers' => [
    'voicevox-client' => [
        'driver' => 'voicevox-client',
        'key' => env('VOICEVOX_URL', 'http://127.0.0.1:50021'),
    ],
],

Utilizzo

use Laravel\Ai\Audio;

$response = Audio::of('Laravelが好きなのだ')
    ->voice('ずんだもん')
    ->generate('voicevox-client');

Storage::put('talk.wav', $response->content());

Driver nativo (voicevox)

Modalità che chiama direttamente VOICEVOX CORE. Richiede FFI. Puoi utilizzare solo i modelli caricati in core.vvms di config/voicevox.php.

Configurazione

'providers' => [
    'voicevox' => [
        'driver' => 'voicevox',
    ],
],

Utilizzo

use Laravel\Ai\Audio;

$response = Audio::of('ネイティブで話すのだ')
    ->voice('ずんだもん')
    ->generate('voicevox');

Storage::put('talk.wav', $response->content());

Valori specificabili in voice()

In voice() puoi specificare quanto segue.
  • Style ID di VOICEVOX (stringa numerica)
  • Alias del nome del personaggio (es. ずんだもん, 四国めたん/ノーマル)

Elenco degli alias

AliasStyle IDPersonaggio
ずんだもん1ずんだもん(あまあま)
ずんだもん/あまあま1ずんだもん(あまあま)
ずんだもん/ノーマル3ずんだもん(ノーマル)
ずんだもん/セクシー5ずんだもん(セクシー)
ずんだもん/ツンツン7ずんだもん(ツンツン)
ずんだもん/ささやき22ずんだもん(ささやき)
ずんだもん/ヒソヒソ38ずんだもん(ヒソヒソ)
四国めたん/あまあま0四国めたん(あまあま)
四国めたん2四国めたん(ノーマル)
四国めたん/ノーマル2四国めたん(ノーマル)
四国めたん/セクシー4四国めたん(セクシー)
四国めたん/ツンツン6四国めたん(ツンツン)
四国めたん/ヒソヒソ37四国めたん(ヒソヒソ)
春日部つむぎ8春日部つむぎ(ノーマル)
波音リツ9波音リツ(ノーマル)
雨晴はう10雨晴はう(ノーマル)
玄野武宏11玄野武宏(ノーマル)
白上虎太郎12白上虎太郎(ノーマル)
青山龍星13青山龍星(ノーマル)
冥鳴ひまり14冥鳴ひまり(ノーマル)
九州そら16九州そら(ノーマル)
default-female10雨晴はう(ノーマル)
default-male12白上虎太郎(ノーマル)
Se ometti voice(), viene utilizzato default-female (ID: 10).
use Laravel\Ai\Audio;

Audio::of('テスト')->voice('3')->generate('voicevox-client');
Puoi verificare l’elenco degli speaker disponibili anche con Voicevox::speakers().
use Revolution\Voicevox\Voicevox;

$speakers = Voicevox::speakers();

Agente (KanalizerAgent)

Poiché in modalità nativa non è disponibile enable_katakana_english, puoi utilizzare KanalizerAgent per convertire preventivamente l’inglese in katakana.
use Revolution\Voicevox\Ai\Agents\KanalizerAgent;
use function Revolution\Voicevox\talk;

$kana = KanalizerAgent::make()->prompt('KanalizerAgentで英語をカタカナに変換するのだ');

$response = talk($kana['kana'] ?? $kana->text, id: 1)->generate(id: 1);

$response->storeAs('native', 'kanalizer.wav');
La conversione in katakana tramite AI non è sempre precisa. In produzione, fai verificare il testo generato da un essere umano prima della sintesi.

Pagine successive

Client: Talk

Verifica il flusso dell’API standard in modalità client.

Nativo: Talk

Verifica l’utilizzo della modalità che sintetizza direttamente tramite FFI.
Ultima modifica il 13 luglio 2026