¿Puedo aumentar sin pérdidas el volumen de un archivo MP3?

57

Quiero aumentar el volumen de algunos archivos MP3 que tengo. ¿Hay alguna manera de hacer esto sin pérdidas (sin volver a comprimir el archivo MP3 y, por lo tanto, disminuir su calidad)?

usuario602675
fuente

Respuestas:

57

Si. Puedes hacerlo. Varios programas utilizan la técnica y los niveles se calculan mediante un algoritmo llamado ReplayGain. Los datos del nivel de volumen de Mp3 se pueden ajustar sin pérdidas, al igual que una imagen JPEG se puede girar sin pérdidas.

Hay dos métodos

  1. Calcule el nivel de volumen del archivo y agregue una nueva etiqueta, permitiendo que los programas compatibles ajusten el volumen sobre la marcha
  2. Calcule el nivel de volumen y ajuste un nivel multiplicador en los datos mp3.

De HydrogenAudio: Implementaciones :

En el método de metadatos, se puede almacenar información sobre ambos tipos de ReplayGain (ganancia de pista y ganancia de álbum). La información de cambio de volumen puede ser muy precisa. Si también se modificaron los datos de audio, los metadatos pueden contener información "deshacer". No todos los reproductores / decodificadores de audio saben leer y usar la información de ReplayGain almacenada en los metadatos. Y no hay un estándar sobre dónde y cómo se almacena la información de ReplayGain; cada implementación usa diferentes formatos y coloca la información en diferentes ubicaciones.

En el método de datos de audio, los datos de audio reales del archivo se modifican para que su volumen de reproducción natural / predeterminado esté en el nivel objetivo. En este escenario, solo se puede aplicar un tipo de ReplayGain (ganancia de pista o ganancia de álbum). Si no se guarda información de "deshacer" en algún lugar, puede que no sea posible restaurar los datos de audio originales. Las limitaciones del formato de archivo de audio pueden evitar ajustes de ganancia precisos (finamente ajustados) con este método. Por ejemplo, los archivos MP3 y AAC solo pueden modificarse sin pérdidas en pasos de 1.5 dB. Dependiendo del formato de archivo de audio, el proceso también puede ser con pérdida en el sentido de que podría empujar irreversiblemente una señal por encima de la amplitud máxima del formato (lo que da como resultado un recorte) o por debajo del mínimo (lo que resulta en silencio).

El segundo método hace modificar su archivo, pero debido a que los datos subyacentes no se modifica pierde ninguna calidad, por lo tanto, el ajuste puede realizarse sin pérdidas. En general, no se recomienda para su colección principal, ya que está modificando los archivos desde su estado original, pero puede ser muy útil para reproductores multimedia portátiles.

Un programa llamado mp3gain puede hacer la segunda opción y ajustar reversiblemente el volumen de mp3. No codifica en absoluto y simplemente ajusta los valores de magnitud en el archivo mp3 para cambiar el volumen. De HydrogenAudio: ReplayGain

Si modifica la ganancia, siempre modifica los campos de ganancia global en los datos de audio MP3. Puede agregar metadatos algo precisos, incluida la información de deshacer

Debido a la forma en que se codifican los archivos mp3, el ajuste se limita a pasos de 1.5dB, que generalmente es suficiente para acercarse.

Foobar2k también incluye esta funcionalidad y puede aplicar los cambios a los archivos.

Mokubai
fuente
Interesante. ¿Podría explicar la primera opción? ¿Son estas etiquetas ID3 especiales?
LPChip
2
En el pasado, probé uno de los programas que afirmaban hacer una rotación sin pérdidas de un archivo JPEG. La descompresión de una versión que se había girado 90 grados 4 veces produjo la misma salida que descomprimir el original. Sin embargo, descomprimir una versión que había rotado 90 grados solo una vez no produjo el mismo resultado que descomprimir el original y rotar 90 grados. Entonces, la rotación de 90 grados de un archivo JPEG no fue completamente sin pérdidas, y la causa raíz resulta ser ciertas asimetrías en la propia especificación JPEG.
kasperd
77
@kasperd que es bastante interesante, ya que muestra que en rotación los datos de imagen codificados reales se conservan al 100%, de lo contrario, continuar rotando nunca daría como resultado el mismo archivo, pero que hay un proceso posterior en la reconstrucción de imagen que es sensible a La rotación de datos. No es del todo sorprendente dados los cálculos involucrados, pero sus datos comprimidos originales no están dañados por el proceso y pueden recuperarse. Por lo tanto, la rotación en sí no pierde ningún dato y, por lo tanto, no tiene pérdidas. Es el decodificador que reacciona de manera diferente a los datos rotados en este caso.
Mokubai
2
(Creo que las rotaciones de JPEG no tienen pérdidas solo si el tamaño de la imagen en cualquier dirección es un múltiplo de 8 píxeles)
Fresa
1
@Strawberry: los datos para un JPG siempre tienen un número entero de mosaicos en ambas direcciones, pero el archivo incluye dimensiones que no necesitan ser un múltiplo de eso. Si uno girara los datos en los mosaicos cuando las dimensiones no fueran múltiplos del tamaño del tiempo, las partes de los mosaicos que no habían estado a la vista serían visibles, y algunas partes que habían sido visibles se conservarían pero se ocultarían. Repetir la operación tres veces más volvería a ver los datos ocultos.
supercat
3

En mi opinión, Replaygain no es una respuesta a esta pregunta. No está aumentando el volumen del contenido, solo agrega una etiqueta para indicar a los jugadores (solo los jugadores que admiten la etiqueta) que hagan su propio ajuste de volumen en el momento de la reproducción. En particular, no es compatible con todos los reproductores y no es adecuado para todos los usos de mp3 (como concatenarlos en una sola transmisión, etc.).

Por otro lado, en teoría es posible escalar todos los coeficientes DCT sin decodificar y volver a codificar (es decir, sin revertir la cuantización y DCT luego rehacerlos), solo rehaciendo la codificación Huffman (que no tiene pérdidas). Cuando trabajaba en MPlayer, creo que alguien tenía una utilidad que hizo esto, pero he perdido la noción del nombre.

R ..
fuente
2

Sí, se llama ganancia de repetición, el principio es muy simple y funciona bastante bien. Básicamente, el software "escucha" su pista y determina cuánto necesitaría amplificarse para que suene "normal". La información está escrita en mp3tag, separada de los datos.

Luego, el reproductor compatible utiliza esos datos para amplificar automáticamente el volumen y reproducir todas las pistas con el mismo volumen. Sugeriría probar http://www.foobar2000.org/ para este ejercicio. Al hacer clic con el botón derecho en la pista, puede escanearla, y en la configuración del programa debe configurar para usar la información de ganancia de reproducción.

JollyMort
fuente
1

Después de descargar Audacity (aplicación gratuita) https://sourceforge.net/projects/audacity/ , elija Archivo / Importar / Audio, navegue hasta su archivo mp3, haga clic en él y elija abrir. Verá una forma de onda de dos canales.
Desde el menú desplegable en la parte superior, haga clic en Editar / Seleccionar / Todo. Mientras el archivo está seleccionado, elija Efectos en la lista desplegable en la parte superior y elija Normalizar. Simplemente haga clic en "ok" en la ventana que se abre. Los valores predeterminados suelen ser suficientes. Haga clic en el triángulo verde de reproducción de los botones de opción visibles para probar su archivo editado. Puede trabajar con muchos otros efectos, como ecualización, amplificación, graves y agudos, etc. Cuando esté satisfecho con los resultados, elija Archivo / Exportar audio y elija el "guardar como tipo" que prefiera, generalmente .WAV o .MP3.

He tenido que hacer esto con muchos archivos débiles que he recibido.

5 cuerdas
fuente