Cómo reproducir audio en Base64
- Pega el Base64 o una URI
data:audio/…;base64,en Base64 o data URI. Las cadenas largas se pueden cargar con Abrir archivo .txt. Al abrir la página se carga un WAV corto de ejemplo con dos notas. - El reproductor aparece bajo la información del archivo. Duración muestra la longitud en cuanto el navegador ha leído el encabezado, por ejemplo
0:03.0. - Nombre de archivo, Extensión y Tipo MIME se rellenan según el formato detectado. Cámbialos si hace falta.
- Pulsa Descargar archivo para guardar el audio, o Copiar como data URI para obtener una cadena para un
<audio src>.
El sonido se decodifica y se reproduce dentro de tu navegador. La Content Security Policy de la página bloquea todas las peticiones de red salvo las del contador de visitas de Cloudflare, así que desde aquí no se puede enviar una grabación a ninguna parte.
Qué formatos se reproducen en el navegador
El reproductor es el propio elemento <audio> del navegador, así que la reproducción depende de sus decodificadores integrados. Las versiones actuales admiten la mayoría de formatos:
| Formato | El Base64 empieza por | Chrome, Edge, Firefox | Safari |
|---|---|---|---|
| MP3 | SUQz (con etiqueta ID3), //s, //M | Sí | Sí |
| WAV con muestras PCM | UklGR | Sí | Sí |
| AAC en M4A | AAAAHGZ0eXBNNEEg y similares | Sí | Sí |
| FLAC | ZkxhQw | Sí | Sí |
| Ogg Vorbis | T2dnUw | Sí | Desde Safari 18.4 |
| Opus en Ogg o WebM | T2dnUw, GkXfo | Sí | En parte, según la versión y el contenedor |
| AMR (grabaciones de móviles antiguos) | IyFBTVIK | No | No |
| WAV con ADPCM o GSM | UklGR | Normalmente no | Normalmente no |
WAV es un contenedor con un campo de códec, así que dos archivos .wav pueden comportarse de forma distinta. Chrome, por ejemplo, también reproduce WAV de telefonía en µ-law y A-law, pero no ADPCM. Cuando el navegador no puede decodificar un archivo, Duración muestra n/d y aparece una nota sobre el reproductor: «Tu navegador no puede reproducir este archivo AMR. Descárgalo y ábrelo en un reproductor multimedia.» VLC y ffmpeg admiten todos los formatos anteriores.
Audio dentro de un contenedor de vídeo
El audio no siempre llega en un formato de audio. Las grabaciones hechas en Chrome con MediaRecorder son por defecto WebM con Opus dentro, y algunos servicios meten AAC en un archivo MP4 sin la marca M4A. En ese caso la herramienta indica «Esto parece WebM, no audio.» o «Esto parece MP4, no audio.» con un botón de descarga para esa extensión, y el reproductor sigue funcionando: la fila de dimensiones dice solo audio. Guardarlo como .webm o .mp4 es correcto; la mayoría de los reproductores de audio también abren esos archivos.
Si la herramienta detecta Binary sin más pero conoces el códec, escribe su tipo MIME en Tipo MIME, por ejemplo audio/ogg. La vista previa se reconstruye con un reproductor de audio para ese tipo, una forma rápida de comprobar una suposición.
Audio en bruto sin encabezado
Algunas API de voz devuelven muestras en bruto, a menudo PCM de 16 bits a 16 o 24 kHz, sin ningún encabezado WAV alrededor. Esos bytes no tienen firma, así que la herramienta indica «Esto no parece audio (detectado: Binary)» y nada puede reproducirlos. La solución es añadir un encabezado con la frecuencia de muestreo correcta, que indica la documentación de la API; Base64 a WAV muestra cómo hacerlo con unas pocas líneas de Python.
De dónde sale el audio en Base64
Las API de texto a voz devuelven la voz sintetizada como un campo Base64 dentro de un JSON. Las exportaciones de chats y mensajería guardan así las notas de voz. Las aplicaciones web guardan sonidos cortos como URI data:audio/… en su código o en el CSS, y el audio grabado en el navegador suele viajar al servidor como Base64 dentro de una petición JSON. Para ir en sentido contrario, de un archivo de sonido a una cadena, usa Audio a Base64.
Comprobar el códec en la línea de comandos
Cuando un archivo se niega a reproducirse, ffprobe dice qué códec lleva dentro:
base64 -d clip.b64 > clip.bin
ffprobe -v error -show_entries stream=codec_name,sample_rate,channels -of csv=p=0 clip.bin
Con una grabación de telefonía imprime algo como adpcm_ima_wav,8000,1, lo que explica por qué el navegador se rindió. Convertirlo a PCM simple lo hace reproducible en cualquier sitio: ffmpeg -i clip.bin -c:a pcm_s16le clip.wav. Hay más recetas de shell en Base64 en Bash y detalles del formato en Base64 a MP3.
Preguntas frecuentes
¿Cómo reproduzco una cadena de audio en Base64?
Pégala en el cuadro de arriba y pulsa reproducir en el reproductor que aparece. Funcionan tanto el Base64 simple como las URI data:audio/…;base64,; la herramienta deduce el formato a partir de los bytes.
¿Por qué no se reproduce mi audio Base64?
O el navegador no tiene decodificador para el códec que contiene (por ejemplo, archivos AMR o WAV con ADPCM o GSM), o los datos son muestras en bruto sin encabezado de archivo. La nota bajo el reproductor te dice cuál es tu caso; consulta la tabla y la sección sobre audio en bruto más abajo.
¿Cuál es el tipo MIME correcto para audio en Base64?
Depende del formato: audio/mpeg para MP3, audio/wav para WAV, audio/ogg para Ogg Vorbis y Opus, audio/mp4 para M4A, audio/flac para FLAC. Tras decodificar, el campo Tipo MIME muestra el que corresponde al formato detectado.
¿Cómo sé la duración de un audio en Base64?
Decodifícalo aquí: la fila Duración muestra minutos y segundos en cuanto el navegador ha leído los metadatos del archivo. En código, decodifícalo a un archivo y ejecuta ffprobe -show_entries format=duration sobre él.