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

# Modalità nativa: Talk (sintesi vocale da testo) - VOICEVOX for Laravel

> Come effettuare la sintesi vocale da testo in modalità nativa di VOICEVOX for Laravel, chiamando direttamente VOICEVOX CORE tramite PHP FFI.

## Cos'è la modalità nativa

La modalità nativa chiama VOICEVOX CORE direttamente tramite PHP FFI, passando per [VOICEVOX Core for PHP](/it/packages/voicevox-core-php).

Puoi sintetizzare senza avviare l'engine ufficiale, ma occorre configurare FFI e la libreria locale.

<Warning>
  La modalità nativa non è pensata per server Web. Utilizzala tramite CLI locale. I vincoli di FFI sono descritti anche in [PHP FFI](/it/advanced/ffi).
</Warning>

## Preparazione

1. Aver completato [Installazione e configurazione](/it/packages/laravel-voicevox/installation)
2. Aver completato la configurazione di [VOICEVOX Core for PHP](/it/packages/voicevox-core-php)
3. Aver impostato `VOICEVOX_CORE_PATH` nel `.env`

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

## Uso di base

In modalità nativa si usa l'helper `talk()`.

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

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

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

## Specificare l'ID di stile

In `id` specifica l'ID di stile contenuto in un `.vvm` già caricato.

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

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

Puoi usare solo i modelli contenuti in `core.vvms` di `config/voicevox.php`.

## Regolare l'Audio Query con `tap()`

Anche in modalità nativa l'uso di `tap()` è lo stesso. Attenzione però: `TalkAudioQuery` è una classe diversa da quella della modalità 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>
  Il pattern `tap()` in sé è raccolto in [Helper tap() e trait Tappable](/it/advanced/tap). VOICEVOX for Laravel ne è un esempio pratico.
</Info>

## Usare i kana in notazione stile AquesTalk

La modalità nativa non dispone di `enable_katakana_english`, quindi non è adatta a leggere input contenenti inglese così come sono.

Al suo posto puoi usare `kana()` che riceve direttamente i kana in notazione stile AquesTalk.

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

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

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

## Differenze con la modalità client

| Voce                                            | Client Talk        | Native Talk    |
| ----------------------------------------------- | ------------------ | -------------- |
| Avvio dell'engine                               | Necessario         | Non necessario |
| FFI                                             | Non necessario     | Necessario     |
| Conversione automatica dell'inglese in katakana | Presente           | Assente        |
| Punto di ingresso API                           | `Voicevox::talk()` | `talk()`       |

## Pagine successive da leggere

<Columns cols={2}>
  <Card title="Native Song" href="/it/packages/laravel-voicevox/native-song" icon="music">
    Gestisci i modelli di canto tramite FFI.
  </Card>

  <Card title="VOICEVOX Core for PHP" href="/it/packages/voicevox-core-php" icon="library">
    Consulta la configurazione e i vincoli del wrapper PHP puro.
  </Card>
</Columns>


## Related topics

- [Modalità client: Talk (sintesi vocale da testo) - VOICEVOX for Laravel](/it/packages/laravel-voicevox/client-talk.md)
- [Modalità API Engine: Talk (sintesi vocale da testo) - VOICEVOX for Laravel](/it/packages/laravel-voicevox/engine-talk.md)
- [Modalità Engine API: Song (sintesi vocale cantata) - VOICEVOX for Laravel](/it/packages/laravel-voicevox/engine-song.md)
- [Modalità nativa: Song (sintesi vocale canora) - VOICEVOX for Laravel](/it/packages/laravel-voicevox/native-song.md)
- [Modalità client: Song (sintesi vocale cantata) - VOICEVOX for Laravel](/it/packages/laravel-voicevox/client-song.md)
