Vai al contenuto principale

Panoramica

VoicevoxResponse è l’oggetto risposta restituito dai metodi che eseguono la sintesi, come talk()->generate() o song()->generate(). Sia in modalità client sia in modalità nativa viene usato lo stesso VoicevoxResponse. Internamente conserva i dati binari in formato WAV e offre utility per salvataggio, conversione e stringificazione.

content()

content() restituisce il WAV binario grezzo. Utile quando vuoi restituirlo direttamente come risposta HTTP.
use Revolution\Voicevox\Voicevox;

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

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

storeAs()

storeAs() salva il WAV su Storage di Laravel. Gli argomenti seguono la stessa logica di Storage::put().
use Revolution\Voicevox\Voicevox;

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

// Specificando solo il nome del file
$path = $response->storeAs('output.wav');

// Specificando percorso e nome file separatamente
$path = $response->storeAs('audio', 'output.wav');

// Specificando il disco
$path = $response->storeAs('audio', 'output.wav', 's3');
Il valore restituito è il percorso di salvataggio (string). Se il salvataggio fallisce restituisce false.

toBase64()

toBase64() converte il binario WAV in una stringa Base64. È utile per risposte JSON o per l’inclusione in HTML.
$base64 = $response->toBase64();

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

__toString()

Se converti VoicevoxResponse in stringa, ottieni lo stesso binario WAV di content().
$wav = (string) $response;
Ultima modifica il 13 luglio 2026