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

# Laravel-AI-SDK-Integration - VOICEVOX für Laravel

> Beschreibt die Konfiguration und Verwendung von VOICEVOX für Laravel über die Audio-Facade des Laravel AI SDK.

## Laravel-AI-SDK-Integration

VOICEVOX für Laravel ist mit dem [Laravel AI SDK](https://github.com/laravel/ai) integriert und ermöglicht Sprachsynthese über die `Audio`-Facade.

Es stehen die folgenden zwei Driver zur Verfügung.

* `voicevox-client` (Client-Modus)
* `voicevox` (Native-Modus)

## Client-Driver (`voicevox-client`)

Ein Modus, der HTTP-Requests an die offizielle VOICEVOX-Engine sendet. FFI ist nicht erforderlich.

### Vorbereitung

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

### Konfiguration

Fügen Sie in `config/ai.php` den Provider `voicevox-client` hinzu.

```php theme={null}
'providers' => [
    'voicevox-client' => [
        'driver' => 'voicevox-client',
        'key' => env('VOICEVOX_URL', 'http://127.0.0.1:50021'),
    ],
],
```

### Verwendung

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

$response = Audio::of('Laravelが好きなのだ')
    ->voice('ずんだもん')
    ->generate('voicevox-client');

Storage::put('talk.wav', $response->content());
```

## Native-Driver (`voicevox`)

Ein Modus, der VOICEVOX CORE direkt aufruft. FFI ist erforderlich.

Es können nur die in `core.vvms` in `config/voicevox.php` geladenen Modelle verwendet werden.

### Konfiguration

```php theme={null}
'providers' => [
    'voicevox' => [
        'driver' => 'voicevox',
    ],
],
```

### Verwendung

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

$response = Audio::of('ネイティブで話すのだ')
    ->voice('ずんだもん')
    ->generate('voicevox');

Storage::put('talk.wav', $response->content());
```

## Für `voice()` zulässige Werte

Für `voice()` können Sie Folgendes angeben.

* VOICEVOX-Style-ID (numerischer String)
* Charakternamen-Alias (z. B. `ずんだもん`, `四国めたん/ノーマル`)

### Alias-Liste

| Alias            | Style-ID | Charakter                 |
| ---------------- | -------- | ------------------------- |
| `ずんだもん`          | 1        | Zundamon (amaama)         |
| `ずんだもん/あまあま`     | 1        | Zundamon (amaama)         |
| `ずんだもん/ノーマル`     | 3        | Zundamon (normal)         |
| `ずんだもん/セクシー`     | 5        | Zundamon (sexy)           |
| `ずんだもん/ツンツン`     | 7        | Zundamon (tsuntsun)       |
| `ずんだもん/ささやき`     | 22       | Zundamon (Flüstern)       |
| `ずんだもん/ヒソヒソ`     | 38       | Zundamon (hisohiso)       |
| `四国めたん/あまあま`     | 0        | Shikoku Metan (amaama)    |
| `四国めたん`          | 2        | Shikoku Metan (normal)    |
| `四国めたん/ノーマル`     | 2        | Shikoku Metan (normal)    |
| `四国めたん/セクシー`     | 4        | Shikoku Metan (sexy)      |
| `四国めたん/ツンツン`     | 6        | Shikoku Metan (tsuntsun)  |
| `四国めたん/ヒソヒソ`     | 37       | Shikoku Metan (hisohiso)  |
| `春日部つむぎ`         | 8        | Kasukabe Tsumugi (normal) |
| `波音リツ`           | 9        | Namine Ritsu (normal)     |
| `雨晴はう`           | 10       | Amehare Hau (normal)      |
| `玄野武宏`           | 11       | Kurono Takehiro (normal)  |
| `白上虎太郎`          | 12       | Shirakami Kotaro (normal) |
| `青山龍星`           | 13       | Aoyama Ryusei (normal)    |
| `冥鳴ひまり`          | 14       | Meimei Himari (normal)    |
| `九州そら`           | 16       | Kyushu Sora (normal)      |
| `default-female` | 10       | Amehare Hau (normal)      |
| `default-male`   | 12       | Shirakami Kotaro (normal) |

Wenn `voice()` weggelassen wird, wird `default-female` (ID: 10) verwendet.

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

Audio::of('テスト')->voice('3')->generate('voicevox-client');
```

Die Liste der verfügbaren Speaker können Sie auch über `Voicevox::speakers()` abrufen.

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

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

## Agent (KanalizerAgent)

Da im Native-Modus `enable_katakana_english` nicht vorhanden ist, können Sie den `KanalizerAgent` verwenden, um Englisch vorab in Katakana umzuwandeln.

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

$kana = KanalizerAgent::make()->prompt('KanalizerAgentで英語をカタカナに変換するのだ');

$response = talk($kana['kana'] ?? $kana->text, id: 1)->generate(id: 1);

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

<Tip>
  Die Katakana-Umwandlung durch die KI ist nicht immer korrekt. Prüfen Sie in produktivem Betrieb den generierten Text von einem Menschen, bevor Sie die Sprachsynthese durchführen.
</Tip>

## Nächste Seiten

<Columns cols={2}>
  <Card title="Client: Talk" href="/de/packages/laravel-voicevox/client-talk" icon="message-circle">
    Ablauf der regulären API im Client-Modus.
  </Card>

  <Card title="Native: Talk" href="/de/packages/laravel-voicevox/native-talk" icon="cpu">
    Verwendung des Modus, der direkt über FFI synthetisiert.
  </Card>
</Columns>


## Related topics

- [VOICEVOX für Laravel](/de/packages/laravel-voicevox/index.md)
- [Erste Schritte - VOICEVOX für Laravel](/de/packages/laravel-voicevox/getting-started.md)
- [Engine-API-Modus: Talk (Text-Sprachsynthese) - VOICEVOX für Laravel](/de/packages/laravel-voicevox/engine-talk.md)
- [Entwicklungsleitfaden für Engine-API-Integrationsanwendungen - VOICEVOX für Laravel](/de/packages/laravel-voicevox/app-guide.md)
- [Laravel AI SDK-Integration](/de/packages/laravel-copilot-sdk/ai-sdk.md)
