Convertitore da Base64 ad audio

Incolla l’audio Base64 di una risposta di sintesi vocale, un data URI o un payload JSON. Lo strumento identifica il formato, lo riproduce nel browser e lo salva come file audio.

Funziona interamente nel tuo browser. Non viene caricato nulla.

Come si usa

  1. Incolla l’audio Base64, oppure un data URI come data:audio/mpeg;base64,..., nella casella di input.
  2. Controlla il formato rilevato e premi play nel lettore audio.
  3. Fai clic su Scarica per salvare il file, che riceve un’estensione corrispondente al formato rilevato, come .mp3 o .wav.

Decodificare l’output della sintesi vocale

I servizi di sintesi vocale (text-to-speech) che rispondono in JSON non possono inserire audio binario nella risposta, quindi lo codificano. Google Cloud Text-to-Speech, per esempio, restituisce il parlato come stringa Base64 in un campo chiamato audioContent, nella codifica che hai richiesto, come MP3 o OGG Opus. Altre API vocali e di chatbot usano campi come audio, data o audio_base64.

Incolla qui il valore per ascoltare il risultato mentre confronti voci, velocità di lettura o prompt. Copia solo la stringa tra le virgolette; analizzare prima il JSON evita di includere virgolette o caratteri con escape come \/.

Formati audio rilevati

Il formato viene riconosciuto dai primi byte dei dati decodificati, quindi un tipo MIME mancante o errato non ha importanza:

FormatoFirmaIl Base64 inizia con
MP3tag ID3 o intestazione di un frame MPEGSUQz o, più spesso, //
WAVRIFF ... WAVEUklGR
OGG (Vorbis, Opus)OggST2dnUw
FLACfLaCZkxhQ
M4A (AAC)box ftyp con brand M4Avariabile (inizia con un campo di dimensione)

PCM grezzo: quando l’audio non si riproduce

Alcune API vocali, soprattutto quelle in tempo reale e in streaming, inviano campioni PCM grezzi, spesso a 16 bit mono a 16 o 24 kHz, senza intestazione di file. Analogamente, i flussi telefonici trasportano audio μ-law a 8 kHz senza intestazione. Senza intestazione, nulla nei byte dice che cosa siano: il formato non può essere rilevato, i browser non possono riprodurre i dati e questo strumento non può indovinare la frequenza di campionamento o il numero di canali. Puoi comunque scaricare i byte decodificati, ma per ascoltarli devi aggiungere un’intestazione WAV usando i parametri indicati nella documentazione dell’API:

# FFmpeg: 16 bit little-endian, 24 kHz, mono
ffmpeg -f s16le -ar 24000 -ac 1 -i speech.pcm speech.wav

# Python
import base64, wave
with wave.open('speech.wav', 'wb') as w:
    w.setnchannels(1)
    w.setsampwidth(2)        # campioni a 16 bit
    w.setframerate(24000)
    w.writeframes(base64.b64decode(pcm_base64))

Se il risultato suona troppo veloce, troppo lento o come un fruscio, la frequenza di campionamento, la dimensione dei campioni o l’ordine dei byte non corrispondono ai dati. Quando l’audio si riproduce correttamente, Audio in Base64 può codificare di nuovo il WAV se ti serve come stringa.

Domande frequenti

Perché lo strumento non riesce a riprodurre il mio audio?

I dati sono PCM grezzo senza intestazione (vedi sopra), oppure il tuo browser non supporta il codec. Nel secondo caso il file scaricato è comunque corretto e si apre in un lettore multimediale come VLC.

La mia API invia l’audio in molti blocchi Base64. Come li unisco?

Decodifica ogni blocco in byte e accodali nell’ordine. Unire prima le stringhe Base64 funziona solo se ogni blocco tranne l’ultimo codifica un multiplo di 3 byte, cosa su cui di solito non puoi fare affidamento. Questo strumento decodifica una stringa alla volta, quindi unisci nel tuo codice i blocchi ricevuti in streaming.

L’audio decodificato è identico all’originale?

Sì. Base64 è senza perdita, quindi il file contiene esattamente i byte che erano stati codificati, con la stessa qualità e lo stesso bitrate. Lo strumento non ricodifica né converte l’audio.

Posso incollare un data URI?
Sì. Incolla l’intera stringa data:audio/...;base64, oppure Base64 puro senza prefisso. In entrambi i casi il formato viene rilevato dai byte decodificati.
Il mio audio viene inviato a un server?

No. Decodifica, rilevamento del formato e riproduzione avvengono tutti nel tuo browser.