> ## 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 natif : Talk (synthèse vocale de texte) - VOICEVOX for Laravel

> Comment réaliser la synthèse vocale de texte en mode natif de VOICEVOX for Laravel, en appelant VOICEVOX CORE directement via PHP FFI.

## Qu'est-ce que le mode natif

Le mode natif appelle VOICEVOX CORE directement via PHP FFI, à travers [VOICEVOX Core for PHP](/fr/packages/voicevox-core-php).

Il permet de synthétiser sans démarrer le moteur officiel, mais requiert la configuration de FFI et de la bibliothèque locale.

<Warning>
  Le mode natif n'est pas destiné aux serveurs web. Utilisez-le en CLI locale. Les contraintes de FFI sont également décrites dans [PHP FFI](/fr/advanced/ffi).
</Warning>

## Prérequis

1. Avoir terminé [Installation et configuration](/fr/packages/laravel-voicevox/installation)
2. Avoir terminé la mise en place de [VOICEVOX Core for PHP](/fr/packages/voicevox-core-php)
3. Avoir configuré `VOICEVOX_CORE_PATH` dans le `.env`

```dotenv theme={null}
VOICEVOX_CORE_PATH=/path/to/voicevox_core/
```

## Utilisation de base

En mode natif, on utilise le helper `talk()`.

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

$response = talk('ネイティブ版なのだ', id: 1)
    ->generate(id: 1);

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

## Spécifier l'ID de style

Pour `id`, spécifiez un ID de style contenu dans les `.vvm` chargés.

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

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

Seuls les modèles listés dans `core.vvms` de `config/voicevox.php` sont utilisables.

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

En mode natif, l'usage de `tap()` est identique. Notez toutefois que `TalkAudioQuery` est une classe différente de celle du mode client.

```php theme={null}
use Revolution\Voicevox\Talk\TalkAudioQuery;
use function Revolution\Voicevox\talk;

$response = 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);
```

<Info>
  Le pattern `tap()` en lui-même est résumé dans [Le helper tap() et le trait Tappable](/fr/advanced/tap). VOICEVOX for Laravel en est un exemple concret.
</Info>

## Utiliser la notation AquesTalk-like en kana

Le mode natif ne dispose pas de `enable_katakana_english` : il n'est donc pas adapté à la lecture directe d'entrées mêlées d'anglais.

À la place, vous pouvez passer directement la notation AquesTalk-like en kana avec `kana()`.

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

$response = kana("ネイティブ'バンナ/ノダ'", id: 1)
    ->generate(id: 1);

$response->storeAs('native', 'kana.wav');
```

## Différences avec le mode client

| Élément                                         | Client Talk        | Native Talk |
| ----------------------------------------------- | ------------------ | ----------- |
| Démarrage du moteur                             | Requis             | Non requis  |
| FFI                                             | Non requis         | Requis      |
| Conversion automatique de l'anglais en katakana | Oui                | Non         |
| Point d'entrée API                              | `Voicevox::talk()` | `talk()`    |

## Pages suivantes

<Columns cols={2}>
  <Card title="Native Song" href="/fr/packages/laravel-voicevox/native-song" icon="music">
    Utilisez 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 et les contraintes du wrapper PHP pur.
  </Card>
</Columns>


## Related topics

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