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

# Native-Modus: Song (Gesangs-Sprachsynthese) - VOICEVOX für Laravel

> Beschreibt, wie Sie im Native-Modus von VOICEVOX für Laravel VOICEVOX CORE direkt über PHP-FFI aufrufen und Gesangs-Sprachsynthese durchführen.

## Singen lassen im Native-Modus

Bei der Gesangssynthese im Native-Modus wird VOICEVOX CORE direkt über PHP-FFI aufgerufen.

Der Aufbau von `Score` und `Note` ist derselbe wie im Client-Modus.

## Vorbereitung

1. [Installation und Konfiguration](/de/packages/laravel-voicevox/installation) ist abgeschlossen.
2. [VOICEVOX Core für PHP](/de/packages/voicevox-core-php) ist eingerichtet.
3. In `.env` ist `VOICEVOX_CORE_PATH` gesetzt.

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

Um das Gesangsmodell zu verwenden, prüfen Sie, dass `s0.vvm` in `core.vvms` in `config/voicevox.php` enthalten ist.

## `Score` und `Note` erstellen

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

$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),
]);
```

## Grundlegende Verwendung

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

$score = Score::make([
    Note::make(length: 15),
    Note::make(length: Note::len(480, 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 = song($score, teacher: 6000)
    ->generate(id: 3001);

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

Wenn Sie denselben `Score` verwenden, können Sie dieselbe Partitur im Client- und Native-Modus wiederverwenden.

## F0 und Lautstärke mit `tap()` neu synchronisieren

Auch im Native Song ist `tap()` praktisch. Sie können `SongAudioQuery` anpassen und direkt an `generate()` weitergeben.

```php theme={null}
use Revolution\Voicevox\Song\SongAudioQuery;
use function Revolution\Voicevox\song;

$response = song($score, teacher: 6000)
    ->tap(function (SongAudioQuery $song) {
        $song->sync();
    })
    ->generate(id: 3001);
```

Wenn Sie F0 und Lautstärke einzeln aktualisieren, führen Sie es unbedingt in dieser Reihenfolge aus.

```php theme={null}
->tap(function (SongAudioQuery $song) {
    $song->updateF0();
    $song->updateVolume();
})
```

## Unterschiede zum Client-Modus

| Aspekt           | Client Song        | Native Song        |
| ---------------- | ------------------ | ------------------ |
| Engine-Start     | Erforderlich       | Nicht erforderlich |
| FFI              | Nicht erforderlich | Erforderlich       |
| API-Einstieg     | `Voicevox::song()` | `song()`           |
| `Score` / `Note` | Gemeinsam          | Gemeinsam          |

<Info>
  Die Funktionsweise von FFI ist unter [PHP FFI](/de/advanced/ffi) beschrieben; den Ablauf mit der Core-Library allein finden Sie unter [Verwendung von VOICEVOX Core für PHP](/de/packages/voicevox-core-php/usage).
</Info>

## Nächste Seiten

<Columns cols={3}>
  <Card title="Score- und Note-Details" href="/de/packages/laravel-voicevox/song-score-note" icon="list-music">
    Praktische Verwaltungsmuster für Song-Partitur-Daten.
  </Card>

  <Card title="Client Song" href="/de/packages/laravel-voicevox/client-song" icon="music">
    Vergleich mit der HTTP-Client-Variante.
  </Card>

  <Card title="VOICEVOX für Laravel – Übersicht" href="/de/packages/laravel-voicevox" icon="book-open">
    Die Modi und zugehörigen Seiten im Überblick.
  </Card>
</Columns>


## Related topics

- [Client-Modus: Song (Gesangs-Sprachsynthese) - VOICEVOX für Laravel](/de/packages/laravel-voicevox/client-song.md)
- [Engine-API-Modus: Song (Gesangs-Sprachsynthese) - VOICEVOX für Laravel](/de/packages/laravel-voicevox/engine-song.md)
- [Native-Modus: Talk (Text-Sprachsynthese) - VOICEVOX für Laravel](/de/packages/laravel-voicevox/native-talk.md)
- [Native-Modus - Presets - VOICEVOX für Laravel](/de/packages/laravel-voicevox/native-presets.md)
- [Native-Modus - Benutzerwörterbuch - VOICEVOX für Laravel](/de/packages/laravel-voicevox/native-user-dict.md)
