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

# Clientmodus: talk (tekst-naar-spraak) - VOICEVOX for Laravel

> Stappen om in de clientmodus van VOICEVOX for Laravel verbinding te maken met de officiële VOICEVOX-engine en tekst naar spraak te synthetiseren.

## Wat is de clientmodus?

In de clientmodus wordt spraak gegenereerd door HTTP-requests te versturen naar de officiële VOICEVOX-engine.

Omdat FFI niet nodig is, is dit een toegankelijke modus om als eerste te proberen.

<Info>
  Heb je het pakket nog niet geïnstalleerd, bekijk dan eerst [Installatie en configuratie](/nl/packages/laravel-voicevox/installation).
</Info>

## Voorbereiding

<Steps>
  <Step title="Start de officiële engine">
    ```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="Stel zo nodig de verbindings-URL in">
    ```dotenv theme={null}
    VOICEVOX_URL=http://127.0.0.1:50021
    ```
  </Step>
</Steps>

In een omgeving met GPU kun je ook de GPU-image gebruiken.

## Basisgebruik

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

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

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

## Stijl-ID opgeven

Je kunt aan zowel `talk()` als `generate()` een stijl-ID meegeven.

* `talk(id:)`: de stijl bij het maken van de `audio_query`
* `generate(id:)`: de stijl bij het synthetiseren van de spraak

Normaal gesproken geef je dezelfde waarde op.

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

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

Je kunt de lijst met beschikbare speakers ophalen met `speakers()`.

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

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

## De audioquery aanpassen met `tap()`

In dit pakket kun je vóór `generate()` de `TalkAudioQuery` ontvangen, dus het patroon om met `tap()` alleen een neveneffect toe te voegen past hier perfect.

```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()` voert alleen kleine aanpassingen aan de query uit; de returnwaarde kun je gewoon doorgeven aan het volgende `generate()`. De gedachte hierachter staat uitgebreid beschreven in [De tap()-helper en de Tappable-trait](/nl/advanced/tap).
</Tip>

## Automatische katakana-conversie van Engels

In de clientmodus is `enable_katakana_english` ingeschakeld, dus tekst met Engels wordt automatisch richting katakana gecorrigeerd.

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

Wil je dit uitschakelen, geef dan `false` mee als derde argument.

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

## De response opslaan

```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');
```

## Volgende pagina's

<Columns cols={2}>
  <Card title="Client song" href="/nl/packages/laravel-voicevox/client-song" icon="music">
    Bouw een `Score` en `Note`s op voor zangsynthese.
  </Card>

  <Card title="VOICEVOX Core for PHP" href="/nl/packages/voicevox-core-php/usage" icon="library">
    Bekijk ook het gebruik van de corebibliotheek zodra je FFI gaat gebruiken.
  </Card>
</Columns>


## Related topics

- [Native modus: talk (tekst-naar-spraak) - VOICEVOX for Laravel](/nl/packages/laravel-voicevox/native-talk.md)
- [Engine-API-modus: talk (tekst-naar-spraak) - VOICEVOX for Laravel](/nl/packages/laravel-voicevox/engine-talk.md)
- [VOICEVOX for Laravel](/nl/packages/laravel-voicevox/index.md)
- [Aan de slag - VOICEVOX for Laravel](/nl/packages/laravel-voicevox/getting-started.md)
- [Gebruik - VOICEVOX Core for PHP](/nl/packages/voicevox-core-php/usage.md)
