Saltar al contenido principal

Resumen

VoicevoxResponse es el objeto de respuesta que devuelven los métodos de ejecución de la síntesis, como talk()->generate() o song()->generate(). Se usa el mismo VoicevoxResponse tanto en modo cliente como en modo nativo. Internamente contiene los datos binarios en formato WAV y ofrece utilidades para guardarlos, convertirlos y convertirlos a string.

content()

content() devuelve el binario WAV en crudo. Se usa cuando quieres devolverlo tal cual como respuesta HTTP.
use Revolution\Voicevox\Voicevox;

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

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

storeAs()

storeAs() guarda el WAV en el Storage de Laravel. Los argumentos se manejan con el mismo enfoque que Storage::put().
use Revolution\Voicevox\Voicevox;

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

// Solo indicando el nombre de archivo
$path = $response->storeAs('output.wav');

// Indicando la ruta y el nombre de archivo por separado
$path = $response->storeAs('audio', 'output.wav');

// Indicando el disco
$path = $response->storeAs('audio', 'output.wav', 's3');
El valor de retorno es la ruta guardada (string). Si falla el guardado devuelve false.

toBase64()

toBase64() convierte el binario WAV en una cadena Base64. Se puede usar en respuestas JSON o para embeber en HTML.
$base64 = $response->toBase64();

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

__toString()

Al hacer cast a string de VoicevoxResponse se devuelve el mismo binario WAV que content().
$wav = (string) $response;
Última modificación el 13 de julio de 2026