Zum Hauptinhalt springen

Übersicht

VoicevoxResponse ist das Response-Objekt, das von Synthese-Ausführungsmethoden wie talk()->generate() oder song()->generate() zurückgegeben wird. Dieselbe VoicevoxResponse wird sowohl im Client- als auch im Native-Modus verwendet. Intern hält sie die Binärdaten im WAV-Format und bietet Hilfsfunktionen zum Speichern, Konvertieren und in String-Form ausgeben.

content()

content() gibt die rohen WAV-Binärdaten zurück. Verwenden Sie sie, wenn Sie die Daten direkt als HTTP-Response zurückgeben möchten.
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('ずんだもんなのだ')->generate();
$wav = $response->content(); // WAV-Binärdaten

return response($wav)->header('Content-Type', 'audio/wav');

storeAs()

storeAs() speichert das WAV im Storage von Laravel. Die Argumente können analog zu Storage::put() verwendet werden.
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('ずんだもんなのだ')->generate();

// Nur Dateiname angeben
$path = $response->storeAs('output.wav');

// Pfad und Dateiname getrennt angeben
$path = $response->storeAs('audio', 'output.wav');

// Disk angeben
$path = $response->storeAs('audio', 'output.wav', 's3');
Der Rückgabewert ist der gespeicherte Pfad (string). Bei Fehlschlagen wird false zurückgegeben.

toBase64()

toBase64() wandelt die WAV-Binärdaten in einen Base64-String um. Sie können ihn für JSON-Responses oder das Einbetten in HTML verwenden.
$base64 = $response->toBase64();

return response()->json([
    'audio' => $base64,
]);
<audio controls src="data:audio/wav;base64,{{ $base64 }}"></audio>

__toString()

Wenn Sie VoicevoxResponse in einen String casten, werden dieselben WAV-Binärdaten wie bei content() zurückgegeben.
$wav = (string) $response;
Zuletzt geändert am 13. Juli 2026