Konverter Base64 ke Audio

Tempel audio Base64 dari respons text-to-speech, data URI, atau payload JSON. Alat ini mengenali formatnya, memutarnya di browser, dan menyimpannya sebagai file audio.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah.

Cara menggunakan

  1. Tempel audio Base64, atau data URI seperti data:audio/mpeg;base64,..., ke kotak masukan.
  2. Periksa format yang terdeteksi, lalu tekan tombol putar di pemutar audio.
  3. Unduh filenya. File mendapat ekstensi yang sesuai dengan format yang terdeteksi, misalnya .mp3 atau .wav.

Mendekode keluaran text-to-speech

Layanan text-to-speech yang menjawab dengan JSON tidak dapat memasukkan audio biner ke dalam respons, sehingga audio tersebut dienkode. Google Cloud Text-to-Speech, misalnya, mengembalikan ucapan sebagai string Base64 di kolom bernama audioContent, dalam pengodean yang Anda minta, seperti MP3 atau OGG Opus. API suara dan chatbot lainnya menggunakan kolom seperti audio, data, atau audio_base64.

Tempel nilainya di sini untuk mendengarkan hasilnya saat Anda membandingkan suara, kecepatan bicara, atau prompt. Salin hanya string di antara tanda kutip; mengurai JSON terlebih dahulu mencegah tanda kutip atau karakter escape seperti \/ ikut tersalin.

Format audio yang dideteksi

Format dikenali dari byte pertama data hasil dekode, sehingga tipe MIME yang hilang atau salah tidak menjadi masalah:

FormatSignatureBase64 diawali dengan
MP3Tag ID3 atau header frame MPEGSUQz atau biasanya //
WAVRIFF ... WAVEUklGR
OGG (Vorbis, Opus)OggST2dnUw
FLACfLaCZkxhQ
M4A (AAC)Box ftyp dengan brand M4Abervariasi (diawali kolom ukuran)

PCM mentah: saat audio tidak bisa diputar

Beberapa API suara, terutama yang bersifat realtime dan streaming, mengirim sampel PCM mentah, sering kali 16-bit mono pada 16 atau 24 kHz, tanpa header file. Aliran telepon juga membawa audio μ-law 8 kHz tanpa header. Tanpa header, tidak ada apa pun dalam byte yang menunjukkan jenis datanya: formatnya tidak dapat dideteksi, browser tidak dapat memutarnya, dan alat ini tidak dapat menebak laju sampel atau jumlah kanalnya. Anda tetap dapat mengunduh byte hasil dekode, tetapi untuk mendengarkannya Anda perlu menambahkan header WAV menggunakan parameter dari dokumentasi API:

# FFmpeg: sampel 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)        # sampel 16-bit
    w.setframerate(24000)
    w.writeframes(base64.b64decode(pcm_base64))

Jika hasilnya terdengar terlalu cepat, terlalu lambat, atau seperti derau statis, laju sampel, ukuran sampel, atau urutan byte tidak cocok dengan datanya. Setelah audio bisa diputar, Audio ke Base64 dapat mengenkode WAV tersebut kembali jika Anda memerlukannya sebagai string.

Pertanyaan yang sering diajukan

Mengapa alat ini tidak bisa memutar audio saya?

Kemungkinan datanya berupa PCM mentah tanpa header (lihat di atas), atau browser Anda tidak mendukung codec-nya. Pada kasus kedua, file yang diunduh tetap benar dan dapat dibuka di pemutar media seperti VLC.

API saya mengirim audio dalam banyak potongan Base64. Bagaimana cara menggabungkannya?

Dekode setiap potongan menjadi byte, lalu sambungkan secara berurutan. Menggabungkan string Base64 terlebih dahulu hanya berhasil jika setiap potongan kecuali yang terakhir mengenkode kelipatan 3 byte, dan hal itu biasanya tidak dapat diandalkan. Alat ini mendekode satu string dalam satu waktu, jadi gabungkan potongan hasil streaming di kode Anda sendiri.

Apakah audio hasil dekode identik dengan aslinya?

Ya. Base64 bersifat lossless, sehingga file berisi persis byte yang dienkode, dengan kualitas dan bitrate yang sama. Alat ini tidak mengenkode ulang atau mengonversi audio.

Bisakah saya menempelkan data URI?
Bisa. Tempel seluruh string data:audio/...;base64,, atau Base64 mentah tanpa awalan. Bagaimanapun caranya, format dideteksi dari byte hasil dekode.
Apakah audio saya dikirim ke server?

Tidak. Dekode, deteksi format, dan pemutaran semuanya berlangsung di browser Anda.