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

# Mode client : Talk (synthèse vocale de texte) - VOICEVOX for Laravel

> Procédure pour réaliser la synthèse vocale de texte en mode client de VOICEVOX for Laravel, en se connectant au moteur officiel VOICEVOX.

## Qu'est-ce que le mode client

Le mode client envoie des requêtes HTTP au moteur officiel VOICEVOX pour générer la voix.

FFI n'est pas requis, c'est donc un mode facile à utiliser comme point d'entrée pour un premier test.

<Info>
  Si vous ne l'avez pas encore fait, consultez d'abord [Installation et configuration](/fr/packages/laravel-voicevox/installation).
</Info>

## Prérequis

<Steps>
  <Step title="Démarrer le moteur officiel">
    ```shell theme={null}
    docker pull voicevox/voicevox_engine:cpu-latest
    docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest
    ```
  </Step>

  <Step title="Configurer l'URL de connexion si nécessaire">
    ```dotenv theme={null}
    VOICEVOX_URL=http://127.0.0.1:50021
    ```
  </Step>
</Steps>

Si vous disposez d'un GPU, vous pouvez aussi utiliser l'image GPU.

## Utilisation de base

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

$response = Voicevox::talk('Laravelが好きなのだ', id: 1)
    ->generate(id: 1);

$response->storeAs('client', 'talk.wav');
```

## Spécifier l'ID de style

L'ID de style peut être passé à `talk()` et `generate()`.

* `talk(id:)` : style utilisé lors de la création de l'`audio_query`
* `generate(id:)` : style utilisé lors de la synthèse

Généralement, on spécifie la même valeur.

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

$response = Voicevox::talk('ずんだもんなのだ', id: 1)
    ->generate(id: 1);
```

La liste des locuteurs disponibles peut être obtenue via `speakers()`.

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

$speakers = Voicevox::speakers();
```

## Ajuster l'Audio Query avec `tap()`

Ce package permet de recevoir le `TalkAudioQuery` avant `generate()` : injecter uniquement l'effet de bord via `tap()` s'y prête particulièrement bien.

```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;
        $talk->audioQuery['pitchScale'] = 0.05;
        $talk->audioQuery['intonationScale'] = 1.5;
        $talk->audioQuery['volumeScale'] = 1.0;
    })
    ->generate(id: 1);
```

<Tip>
  `tap()` effectue uniquement des ajustements sur la query et laisse la valeur de retour passer telle quelle au `generate()` suivant. Le concept est détaillé dans [Le helper tap() et le trait Tappable](/fr/advanced/tap).
</Tip>

## Conversion automatique de l'anglais en katakana

En mode client, `enable_katakana_english` est activé : les textes contenant de l'anglais peuvent être automatiquement corrigés vers une forme proche du katakana.

```php theme={null}
$response = Voicevox::talk('I love Laravel', id: 1)
    ->generate(id: 1);
```

Pour désactiver, passez `false` en troisième argument.

```php theme={null}
$response = Voicevox::talk('I love Laravel', id: 1, enableKatakanaEnglish: false)
    ->generate(id: 1);
```

## Sauvegarder la réponse

```php theme={null}
$response = Voicevox::talk('テスト', id: 1)->generate(id: 1);

$wav = $response->content();
$path = $response->storeAs('client', 'talk.wav');
$path = $response->storeAs('client', 'talk.wav', disk: 's3');
```

## Pages suivantes

<Columns cols={2}>
  <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="VOICEVOX Core for PHP" href="/fr/packages/voicevox-core-php/usage" icon="library">
    Une fois FFI en place, consultez également l'utilisation de la bibliothèque core.
  </Card>
</Columns>


## Related topics

- [Mode natif : Talk (synthèse vocale de texte) - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/native-talk.md)
- [Mode API du moteur : Talk (synthèse vocale de texte) - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/engine-talk.md)
- [Mode API du moteur : Song (synthèse vocale chantée) - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/engine-song.md)
- [Mode client : Song (synthèse vocale chantée) - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/client-song.md)
- [Mode natif : Song (synthèse vocale chantée) - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/native-song.md)
