> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# VOICEVOX for Laravel

> Présentation du package qui permet d'utiliser depuis Laravel les API client, native et moteur de VOICEVOX, avec les points d'entrée de chaque mode.

## Vue d'ensemble

[revolution/laravel-voicevox](https://github.com/invokable/laravel-voicevox) est un package pour utiliser VOICEVOX depuis Laravel.

Il permet de gérer, dans un même style Laravel, un mode client qui se connecte au moteur officiel via HTTP et un mode natif qui, combiné à [VOICEVOX Core for PHP](/fr/packages/voicevox-core-php), synthétise directement via PHP FFI.

<Info>
  Pour poser les prérequis FFI, consultez [PHP FFI](/fr/advanced/ffi). Pour la mise en place de la bibliothèque core elle-même, consultez [VOICEVOX Core for PHP](/fr/packages/voicevox-core-php) et son [Utilisation](/fr/packages/voicevox-core-php/usage).
</Info>

## Tableau des fonctionnalités

| Feature                                     | Supported | Description                                                                                                                                                                                                  |
| ------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| VOICEVOX Client                             | ✅         | Accès HTTP à l'API du moteur officiel VOICEVOX. FFI n'est pas requis.                                                                                                                                        |
| VOICEVOX Core                               | ✅         | Utilise la bibliothèque dynamique de VOICEVOX CORE via [VOICEVOX Core for PHP](/fr/packages/voicevox-core-php).                                                                                              |
| Laravel style                               | ✅         | Utilisation façon Laravel avec Facade, helpers, `config/voicevox.php` et `.env`.                                                                                                                             |
| Intégration Laravel AI SDK                  | ✅         | Utilisable également depuis les workflows Audio du Laravel AI SDK.                                                                                                                                           |
| VOICEVOX Engine                             | ⚠️        | Intègre une API compatible VOICEVOX dans l'application Laravel. Les parties non prises en charge sont relayées en fallback vers le moteur officiel.                                                          |
| VOICEVOX Engine / API TTS compatible OpenAI | ✅         | Pour `/v1/audio/speech`, `voice` accepte, comme dans l'AI SDK, les alias tels que « ずんだもん » en plus des ID de style.                                                                                         |
| VOICEVOX Editor                             | ⚠️        | Une application dédiée Song pour macOS a été développée, mais il n'est pas prévu de la publier sur l'App Store. Si le code est un jour publié sur GitHub, vous pourrez la compiler avec Xcode et l'utiliser. |

## Exigences

* PHP 8.3+
* Laravel 12+
* `ext-zip`
* `ext-ffi` pour le mode natif / l'API du moteur
* Un environnement CLI local

<Warning>
  Sur la plupart des environnements de serveur web, y compris Laravel Cloud, FFI est souvent désactivé : considérez donc que le mode natif et l'API du moteur reposent **sur une CLI locale**.
</Warning>

## Liste des modes

| Mode          | Exécution                                             | FFI        | Usage principal                           | Guide                                                      |
| ------------- | ----------------------------------------------------- | ---------- | ----------------------------------------- | ---------------------------------------------------------- |
| Client Talk   | Requête HTTP vers le moteur officiel                  | Non requis | Synthèse vocale de texte                  | [client-talk](/fr/packages/laravel-voicevox/client-talk)   |
| Client Song   | Requête HTTP vers le moteur officiel                  | Non requis | Synthèse chantée                          | [client-song](/fr/packages/laravel-voicevox/client-song)   |
| Native Talk   | Appel direct de VOICEVOX CORE via FFI                 | Requis     | Synthèse vocale de texte en local         | [native-talk](/fr/packages/laravel-voicevox/native-talk)   |
| Native Song   | Appel direct de VOICEVOX CORE via FFI                 | Requis     | Synthèse chantée en local                 | [native-song](/fr/packages/laravel-voicevox/native-song)   |
| API du moteur | Fournit une API compatible dans l'application Laravel | Requis     | Intégration d'une API compatible VOICEVOX | [installation](/fr/packages/laravel-voicevox/installation) |

## Pourquoi `tap()` convient bien

Ce package retourne un objet Audio Query juste après `talk()` / `song()`, permettant d'insérer une phase d'ajustement avant `generate()`.

Cela rend naturel l'usage de `tap()` pour **ajuster uniquement la query sans changer la valeur de retour**.

```php theme={null}
use Revolution\Voicevox\Client\TalkAudioQuery;
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('タップで調整できるのだ', id: 1)
    ->tap(function (TalkAudioQuery $talk) {
        $talk->audioQuery['speedScale'] = 1.2;
    })
    ->generate(id: 1);
```

* En Talk, vous pouvez ajuster `speedScale`, `pitchScale`, etc.
* En Song, `sync()` permet de recalculer F0 et le volume.
* Vous pouvez chaîner proprement vers le `VoicevoxResponse` retourné par `generate()`.

<Info>
  Le concept de `tap()` est expliqué dans [Le helper tap() et le trait Tappable](/fr/advanced/tap). Ce package est un cas d'usage particulièrement clair.
</Info>

## Documentation

<Columns cols={2}>
  <Card title="Installation" href="/fr/packages/laravel-voicevox/installation" icon="download">
    Découvrez l'installation client seule, l'installation avec FFI, la publication du fichier de configuration et la préparation des ressources du moteur.
  </Card>

  <Card title="Client Talk" href="/fr/packages/laravel-voicevox/client-talk" icon="message-circle">
    Démarrez la synthèse vocale de texte via le moteur officiel VOICEVOX.
  </Card>

  <Card title="Client Song" href="/fr/packages/laravel-voicevox/client-song" icon="music">
    Construisez un `Score` et des `Note` pour la synthèse chantée.
  </Card>

  <Card title="Native Talk" href="/fr/packages/laravel-voicevox/native-talk" icon="cpu">
    Synthétisez en local via PHP FFI et VOICEVOX CORE.
  </Card>

  <Card title="Native Song" href="/fr/packages/laravel-voicevox/native-song" icon="music">
    Utilisez directement le modèle de chant via FFI.
  </Card>

  <Card title="VOICEVOX Core for PHP" href="/fr/packages/voicevox-core-php" icon="library">
    Découvrez la mise en place de la bibliothèque core et son utilisation côté PHP pur.
  </Card>
</Columns>

## Liens de référence

* GitHub : [invokable/laravel-voicevox](https://github.com/invokable/laravel-voicevox)
* VOICEVOX Core for PHP : [/fr/packages/voicevox-core-php](/fr/packages/voicevox-core-php)
* Utilisation de VOICEVOX Core for PHP : [/fr/packages/voicevox-core-php/usage](/fr/packages/voicevox-core-php/usage)
* PHP FFI : [/fr/advanced/ffi](/fr/advanced/ffi)
* Helper `tap()` : [/fr/advanced/tap](/fr/advanced/tap)
* Moteur officiel VOICEVOX : [VOICEVOX/voicevox\_engine](https://github.com/VOICEVOX/voicevox_engine)


## Related topics

- [VoicevoxResponse - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/response.md)
- [Mode client - Presets - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/client-presets.md)
- [Installation et configuration - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/installation.md)
- [Mode natif - Presets - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/native-presets.md)
- [Prise en main - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/getting-started.md)
