Passer au contenu principal

Intégration Laravel AI SDK

VOICEVOX for Laravel est intégré au Laravel AI SDK et permet de générer de la voix via la facade Audio. Deux pilotes sont disponibles :
  • voicevox-client (mode client)
  • voicevox (mode natif)

Pilote client (voicevox-client)

Ce mode envoie des requêtes HTTP au moteur VOICEVOX officiel. FFI n’est pas requis.

Prérequis

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

Configuration

Ajoutez le fournisseur voicevox-client dans config/ai.php.
'providers' => [
    'voicevox-client' => [
        'driver' => 'voicevox-client',
        'key' => env('VOICEVOX_URL', 'http://127.0.0.1:50021'),
    ],
],

Utilisation

use Laravel\Ai\Audio;

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

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

Pilote natif (voicevox)

Ce mode appelle directement VOICEVOX CORE. FFI est requis. Seuls les modèles chargés dans core.vvms de config/voicevox.php sont utilisables.

Configuration

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

Utilisation

use Laravel\Ai\Audio;

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

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

Valeurs acceptées par voice()

voice() accepte les valeurs suivantes :
  • L’ID de style VOICEVOX (chaîne numérique)
  • Un alias de nom de personnage (par exemple ずんだもん, 四国めたん/ノーマル)

Liste des alias

AliasID de stylePersonnage
ずんだもん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白上虎太郎(ノーマル)
Si voice() est omis, default-female (ID : 10) est utilisé.
use Laravel\Ai\Audio;

Audio::of('テスト')->voice('3')->generate('voicevox-client');
La liste des locuteurs disponibles peut également être obtenue via Voicevox::speakers().
use Revolution\Voicevox\Voicevox;

$speakers = Voicevox::speakers();

Agent (KanalizerAgent)

En mode natif, enable_katakana_english n’existe pas ; vous pouvez donc utiliser KanalizerAgent pour convertir au préalable l’anglais en 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 conversion en katakana par une IA n’est pas toujours exacte. En production, faites vérifier le texte généré par un humain avant la synthèse.

Pages suivantes

Client : Talk

Découvrez le flux normal de l’API en mode client.

Natif : Talk

Découvrez l’utilisation du mode de synthèse directe via FFI.
Dernière modification le 13 juillet 2026