normalización de volumen de audio [cerrado]

Estoy escribiendo un reproductor de música y quiero normalizar el volumen de audio en diferentes canciones.

Podría pensar en diferentes maneras de hacer esto, por ejemplo:

Recorra todas las muestras de PCM (suponga un punto flotante de -1 a 1) y seleccione m = max (abs (muestra)). Luego aplique el factor 1 / m a todas las muestras de PCM. Esto haría que el pico fuera a 1.

Ir a través de la secuencia PCM y para cada posición, tomar la ventana de Hanning de algún ancho a su alrededor, calcular el promedio de muestras absolutas y, a partir de esos datos, seleccionar el máximo y normalizar todo.

Lo mismo que 2 pero alguna otra manera de obtener algún tipo de valor promedio.

2 y 3 tienen la desventaja de que podría necesitar algunos recortes y, por lo tanto, perder algo de calidad. Sin embargo, al no normalizar a 1 sino a 0.95 o algo así, tal vez podría evitar esto en algún grado. Pero creo que 2 y 3 tienen la ventaja de que esta podría ser la normalización más natural para el usuario.Wikipedia También tiene alguna información sobre esto y menciones.RMS, ReplayGain oEBU R128 Para medir la sonoridad de una canción.

¿Cómo hacen esto otros reproductores de música populares (como iTunes o algo así)?

Respuestas a la pregunta(1)

Su respuesta a la pregunta