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

# Introduzione - VOICEVOX for Laravel

> Concetti base di VOICEVOX for Laravel, confronto tra le 3 modalità, guida rapida (modalità client) e funzionalità principali.

VOICEVOX for Laravel è un pacchetto che ti permette di usare le funzionalità di sintesi vocale di VOICEVOX in Laravel. Puoi generare audio in giapponese partendo dal testo.

<Tip>
  Il modo più rapido per iniziare è partire dalla modalità client. Se disponi di un ambiente in cui FFI è utilizzabile, puoi migrare in seguito, progressivamente, alla modalità nativa o alla modalità API Engine.
</Tip>

## Le 3 modalità di utilizzo

| Modalità            | Metodo di esecuzione                             | FFI            | Casi d'uso                                                         | Guida                                                                                                               |
| ------------------- | ------------------------------------------------ | -------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
| Modalità client     | Connessione HTTP al VOICEVOX Engine ufficiale    | Non necessario | Prova iniziale, ambienti Docker, ambienti senza FFI                | [Client Talk](/it/packages/laravel-voicevox/client-talk) / [Client Song](/it/packages/laravel-voicevox/client-song) |
| Modalità nativa     | Chiamata diretta a VOICEVOX CORE tramite PHP FFI | Necessario     | Velocizzazione, esecuzione offline, integrazione con strumenti CLI | [Native Talk](/it/packages/laravel-voicevox/native-talk) / [Native Song](/it/packages/laravel-voicevox/native-song) |
| Modalità API Engine | Laravel fornisce un'API compatibile con VOICEVOX | Necessario     | Esposizione come server API, integrazione con più client           | [Engine Talk](/it/packages/laravel-voicevox/engine-talk) / [Engine Song](/it/packages/laravel-voicevox/engine-song) |

## Guida rapida

Procedura per la modalità client.

<Steps>
  <Step title="Installare il pacchetto">
    ```shell theme={null}
    composer require revolution/laravel-voicevox
    ```

    Per i dettagli consulta [Installazione e configurazione](/it/packages/laravel-voicevox/installation).
  </Step>

  <Step title="Avviare l'engine ufficiale">
    ```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="Provare la sintesi vocale">
    ```php theme={null}
    use Revolution\Voicevox\Voicevox;

    $response = Voicevox::talk('こんにちは、Laravel です。', id: 1)->generate(id: 1);
    $response->storeAs('output.wav');
    ```
  </Step>
</Steps>

## Funzionalità principali

### Sintesi vocale (Talk)

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

### Sintesi canora (Song)

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

$score = Score::make([
    Note::make(length: 15),
    Note::make(length: Note::len(ticks: 480, bpm: 120), lyric: 'ド', key: 60),
    Note::make(length: Note::len(480, 120), lyric: 'レ', key: 62),
    Note::make(length: Note::len(960, 120), lyric: 'ミ', key: 64),
    Note::make(length: 2),
]);

$response = Voicevox::song($score)->generate(id: 3001);
```

### Dizionario utente e preset

In modalità client puoi usare la facade `Voicevox` per gestire il dizionario utente e i preset dell'engine ufficiale.

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

$uuid = Voicevox::addWord(
    surface: 'Laravel',
    pronunciation: 'ララベル',
    accentType: 3,
);

$presetId = Voicevox::addPreset([
    'id' => 0,
    'name' => 'ゆっくり丁寧',
    'speaker_uuid' => '7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff',
    'style_id' => 1,
    'speedScale' => 0.8,
    'pitchScale' => 0.0,
    'intonationScale' => 1.2,
    'volumeScale' => 1.0,
    'prePhonemeLength' => 0.1,
    'postPhonemeLength' => 0.1,
]);
```

### Integrazione con Laravel AI SDK

```php theme={null}
use Laravel\Ai\Audio;

$audio = Audio::of('こんにちは、Laravel です。')
    ->voice('ずんだもん')
    ->generate();

$audio->storeAs('output.wav');
```

## Prossimi passi

* [Installazione e configurazione](/it/packages/laravel-voicevox/installation)
* [Riferimento configurazione](/it/packages/laravel-voicevox/configuration)
* [Client Talk](/it/packages/laravel-voicevox/client-talk)
* [Client Song](/it/packages/laravel-voicevox/client-song)
* [Modalità client - Dizionario utente](/it/packages/laravel-voicevox/client-user-dict)
* [Modalità client - Preset](/it/packages/laravel-voicevox/client-presets)
* [Native Talk](/it/packages/laravel-voicevox/native-talk)
* [Engine Talk](/it/packages/laravel-voicevox/engine-talk)
* [Modalità nativa - Dizionario utente](/it/packages/laravel-voicevox/native-user-dict)
* [Modalità nativa - Preset](/it/packages/laravel-voicevox/native-presets)
* [Integrazione AI SDK](/it/packages/laravel-voicevox/ai-sdk)


## Related topics

- [VOICEVOX for Laravel](/it/packages/laravel-voicevox/index.md)
- [Installazione e configurazione - VOICEVOX for Laravel](/it/packages/laravel-voicevox/installation.md)
- [Introduzione a Laravel Nightwatch](/it/blog/nightwatch-introduction.md)
- [Introduzione - GitHub Copilot SDK for Laravel](/it/packages/laravel-copilot-sdk/getting-started.md)
- [Introduzione a React — le basi per usarlo con Inertia × Laravel](/it/blog/react-introduction.md)
