El MP3 no se reproduce

Cuando un reproductor califica un MP3 de "no compatible" o solo suena ruido, la grabación en sí suele seguir ahí. Lo que se rompió es la cadena de marcas de sincronía de trama que el descodificador sigue a lo largo del archivo — una etiqueta dañada, un bloque de basura al principio o unas pocas tramas alteradas. Reconstruir esa cadena no exige subir tu audio.

Tu archivo nunca sale de tu dispositivo — la reparación ocurre en tu navegador. 0 bytes subidos.

Your data is the big block — usually intact. What breaks is the small index. Repair rebuilds it.

Suelta un archivo aquí o exploraToca para elegir un archivo

ZIP · Office · PDF · vídeo · JPG · PNG · RAR/7z · SQLite — reparados aquí mismo, en tu navegador. No se sube nada

0 bytes subidosGratis: 3 reparaciones/día — hasta 500 MB de vídeo, 100 MB de documentos y archivos, 50 MB de fotos. Descarga gratuita. Una reparación 5,90 €. Sin cuenta.

Repáralo ahora

  1. Suelta el archivo
  2. La reparación ocurre en local
  3. Descarga el resultado

Casi todo MP3 que acaba en silencio está roto en su estructura, no borrado. El audio vive en una sucesión de tramas de audio MPEG autónomas, cada una anunciada por una sincronía de trama de 11 bits: el byte 0xFF seguido de un byte cuyos tres bits superiores están todos a uno (máscara 0xE0). El reproductor se engancha a la primera sincronía, lee la cabecera de 4 bytes, salta la longitud de trama que calcula y repite. Rompe esa sucesión — una etiqueta ID3 corrupta con una longitud incorrecta, basura pegada al principio, un puñado de tramas alteradas por un sector defectuoso — y el descodificador pierde el hilo e informa de que el archivo no es compatible o está dañado. Suelta el archivo arriba y la herramienta reconstruye la cadena en tu navegador: elimina una etiqueta ID3 inicial y cualquier basura, resincroniza sobre la primera trama genuina, se salta las tramas que no puede verificar y vuelve a escribir las supervivientes como un MP3 limpio y reproducible — sin que nada salga nunca de tu dispositivo.

Por qué un MP3 se niega a sonar cuando el audio está casi intacto

Un MP3 no es un único bloque — es una secuencia de pequeñas tramas de audio MPEG, cada una de unos 26 ms de sonido. Cada trama empieza con una cabecera de 4 bytes: el byte 0 es 0xFF, y los tres bits superiores del byte 1 completan la sincronía de trama de 11 bits (0xFFE…). El resto de la cabecera empaqueta la versión MPEG (MPEG-1, MPEG-2 o MPEG-2.5), la capa (casi siempre Capa III), un índice de bitrate, un índice de frecuencia de muestreo y un bit de relleno. A partir del bitrate y la frecuencia de muestreo el descodificador calcula la longitud en bytes de la trama — para Capa III es floor(144 × bitrate ÷ frecuencia_muestreo) + relleno — y la usa para saltar directamente a la siguiente sincronía. Ciertas combinaciones de bits son ilegales según la norma: una versión reservada, una capa reservada, un índice de bitrate de 0 (libre) o 15 (malo), o un índice de frecuencia de muestreo de 3. Si la cabecera sobre la que aterriza el descodificador decodifica a una de esas, no es un límite de trama real y el flujo se atasca.

Dos cosas descarrilan ese salto con más frecuencia. La primera es una etiqueta ID3v2 rota justo al principio. Una etiqueta ID3v2 empieza con los bytes ASCII ID3 (0x49 0x44 0x33), una cabecera de 10 bytes y un tamaño syncsafe de 28 bits repartido en cuatro bytes (cada uno aporta solo sus 7 bits inferiores). Si ese tamaño es incorrecto — a menudo porque una carátula incrustada demasiado grande o truncada corrompió la etiqueta — el reproductor o bien salta más allá del inicio del audio real, o bien intenta descodificar la etiqueta como sonido. La segunda es la basura inicial: una descarga parcial, una página de error HTTP guardada por accidente con nombre .mp3, o un fallo de orden de bytes que antepone datos antes de la primera sincronía. Los archivos sin etiqueta ID3 alguna no son más que una "sincronía de trama de audio MPEG desnuda" — una señal débil que algunos reproductores no reconocen siquiera como un MP3.

Por eso los síntomas son tan variados. ffmpeg informa de Failed to find two consecutive MPEG audio frames o Header missing; mpg123 imprime Illegal Audio-MPEG-Header 0x00000000 y avisa de un Frankenstein stream cuando los parámetros de trama cambian a mitad del archivo; un elemento <audio> del navegador lanza DEMUXER_ERROR_COULD_NOT_OPEN. Todos describen lo mismo: la cadena de tramas está rota, no que la música haya desaparecido.

Cómo la resincronización de tramas en el navegador reconstruye un archivo reproducible

La reparación es una resincronización estructural, y se ejecuta como TypeScript puro en tu pestaña. Primero mide cualquier etiqueta ID3v2 inicial a partir de ese tamaño syncsafe (más un pie de 10 bytes cuando está activado el bit de pie) y la deja atrás. Luego recorre el archivo hacia delante buscando un patrón de bytes que se analice como una cabecera real — 0xFF, los bits de sincronía 0xE0, una versión y una capa no reservadas, y un índice de bitrate y de frecuencia de muestreo que estén ambos dentro de rango. Es crucial que un 0xFF 0xEx aislado puede aparecer por azar dentro de los datos de audio, así que un candidato solo se acepta cuando la longitud de trama que calcula sitúa al lector exactamente sobre otra sincronía válida (o sobre el final del archivo). Esta confirmación de dos tramas es lo que rechaza los falsos positivos en lugar de escribir ruido en la salida.

A partir de ahí avanza trama a trama, copiando cada trama confirmada tal cual a la salida. Los bytes anteriores a la primera trama buena se cuentan como basura inicial y se descartan; un tramo que no se analiza en medio se trata como una región de tramas corruptas y se salta para que el lector pueda retomar la cadena en la siguiente sincronía limpia. Como cada trama conservada se copia byte a byte, no hay recodificación ni pérdida de calidad — el audio superviviente es exactamente el que grabaste. La herramienta informa de lo que hizo: tramas encontradas frente a tramas conservadas, cuántos bytes de basura inicial eliminó, y una clase de daño de clean (un éxito limpio) o resynced (un resultado parcial, en el que se descartó basura o tramas corruptas).

Conviene conocer dos detalles. Muchos MP3 llevan una cabecera Xing/Info (o VBRI) dentro de la primera trama; almacena el recuento total de tramas y una tabla de saltos para archivos de bitrate variable. Esa cabecera es en sí misma una trama MPEG válida, así que la resincronización la conserva cuando sobrevive — y cuando no, los reproductores recurren a estimar la duración a partir del bitrate (ffmpeg avisa literalmente Estimating duration from bitrate, this may be inaccurate). Una etiqueta ID3v1 al final — los 128 bytes fijos que empiezan por TAG al final del archivo — no es una trama, así que simplemente se descarta de la cola en lugar de confundir al descodificador. Nada de esto toca la red: puedes abrir la pestaña Red y confirmar que no sale ni un byte del archivo.

Cuándo no tiene arreglo de verdad

La resincronización solo ayuda cuando sobreviven tramas MPEG reales en algún punto del archivo. Si el barrido no encuentra ninguna trama descodificable, la herramienta se detiene y lo dice con honestidad (un resultado no-frames) en lugar de entregarte un archivo vacío que finge funcionar. Ese desenlace suele significar que los bytes no son audio MPEG en absoluto: un AAC/.m4a, un WMA o un Opus renombrado a .mp3, o una página web guardada o un fragmento de descarga con extensión de audio. No hay cabeceras de trama 0xFFE a las que engancharse, y ninguna resincronización puede inventarlas.

Tampoco puede recuperar audio que fue sobrescrito o devuelto como ceros por un disco defectuoso o una tarjeta dañada — esas tramas no están en el disco, así que recupera primero los bytes en bruto a nivel de almacenamiento y luego repara el archivo. Las pistas protegidas con DRM (el antiguo .m4p de Apple o AAC protegido) no son MP3 y necesitan sus claves para descodificarse; esta herramienta no las toca. Y allí donde hubo que descartar una región corrupta, puede quedar un breve hueco o chasquido en ese punto — la reparación copia las tramas buenas sin pérdida, pero no sintetiza los milisegundos que faltan. Lo que recuperas de forma fiable es cada trama que estaba intacta, en orden, en un contenedor que un reproductor abrirá de verdad.

Qué puede y qué no puede reparar

Puede reparar

  • MP3 con una etiqueta ID3v2 rota o sobredimensionada (tamaño syncsafe incorrecto, carátula incrustada corrupta) que hace que el reproductor salte más allá del audio o dentro de él
  • Basura inicial antes de la primera trama — una descarga parcial, una página de error HTTP guardada como .mp3, o un fallo de prefijo — descartada para que la reproducción empiece en la primera trama real
  • Pérdida de sincronía de trama a mitad del archivo: la herramienta resincroniza sobre la siguiente cabecera 0xFF 0xEx válida y continúa
  • Tramas corruptas sueltas por sectores defectuosos, saltadas para que las tramas supervivientes aún suenen
  • Flujos MPEG desnudos sin etiqueta ID3 que un reproductor no reconoce como MP3
  • Basura al final o una etiqueta ID3v1 de 128 bytes suelta después de la última trama de audio

No puede reparar

  • Archivos sin ninguna trama MPEG descodificable — no hay nada que resincronizar (se informa como un resultado 'no-frames')
  • Archivos que no son MP3 con nombre .mp3 (AAC/.m4a, WMA, Opus o una página web guardada) — no hay cabeceras de trama 0xFFE que encontrar
  • Audio sobrescrito o devuelto como ceros por un disco defectuoso — recupera primero los bytes en bruto y luego repara
  • Pistas protegidas con DRM (.m4p / AAC protegido) sin sus claves — no son MP3 y no se pueden descodificar
  • El audio exacto dentro de una trama que hubo que descartar — puede quedar un breve hueco o chasquido donde se eliminó una región (ninguna recodificación lo devuelve)

Si una reparación falla, te decimos por qué (datos que faltan frente a estructura dañada), y nunca se te cobra por una reparación fallida.

Preguntas frecuentes

Mi MP3 suena a ruido o dice "formato no compatible" — ¿se ha perdido la música?

Normalmente no. Esos síntomas casi siempre significan que la cadena de tramas está rota — una etiqueta ID3 defectuosa, basura antes de la primera trama, o unas pocas tramas corruptas — no que el audio se borrara. Una vez que la herramienta resincroniza sobre las tramas MPEG reales y descarta la basura, el audio superviviente vuelve a sonar.

¿Qué significa "Failed to find two consecutive MPEG audio frames"?

Es ffmpeg diciendo que localizó algo que parecía una sincronía de trama pero no pudo confirmar una segunda trama válida justo después, así que no se fía del archivo. Es la firma clásica de basura inicial o una etiqueta corrupta. La reparación usa esa misma confirmación de dos tramas para encontrar dónde empieza de verdad la cadena genuina.

¿La reparación recodifica el audio y pierde calidad?

No. La reparación es una copia estructural sin pérdida: cada trama confirmada se escribe byte a byte, sin ningún paso de descodificar y recodificar. Lo único que pierdes es el audio dentro de las tramas demasiado corruptas para conservarlas, lo que puede dejar un breve hueco en ese punto.

Tras la reparación la duración o la barra de avance está mal — ¿por qué?

La cabecera Xing/Info (o VBRI) de la primera trama almacena el recuento total de tramas y la tabla de saltos para archivos de bitrate variable. Si esa cabecera se perdió, los reproductores estiman la duración a partir del bitrate — ffmpeg incluso avisa Estimating duration from bitrate, this may be inaccurate. El audio suena de principio a fin; solo la duración indicada puede fallar.

¿Se sube el archivo para repararlo?

No. El MP3 se lee desde tu disco y se reconstruye en la pestaña de tu navegador; no se transmite nada. Puedes abrir la pestaña Red y confirmar que no sale ni un byte del archivo de tu equipo.

Relacionado: "Invalid data found when processing input" · "Formato no compatible" (0xc00d5212) · Reparar un vídeo (cualquier formato) · Verifica la promesa de cero subidas