RMS: AES17 vs. ITU-R BS1770

¿Qué sistema usas para medir el nivel RMS?
AES17.
ITU1770.
El de mi medidor favorito.
Ni idea de qué es todo esto.
Votos totales: 23
#31 por the_can_opener el 03/12/2013
Daniel Lazarus escribió:

Esto me interesa. Podrías explicar más detalladamente cómo se calcula ese error?


¿Estás pidiendo una clase de matemáticas?. Me apunto.

"Toda licencia en el arte"

Subir
mod
#32 por euridia el 03/12/2013
Que gallitos..... :-)

Ala, allá va.


La versión corta es que se trata de una relación de frecuencias en base logarítmica..... algo así....

Os dejo el desarrollo matemático. Espero haberme expresado bien..... nunca fuí muy bueno en matemáticas..... aunque estas son de instituto.

EDITADO Corrección gracias al usuario Nethox

Saludos
Archivos adjuntos:
sub medicion.jpg
BBCode:

"MASTERING ON-LINE"- ibon@euridia.net

http://www.euridia.net/servicios/mastering/ibon-larruzea
http://www.sinadurak.tv/?portfolio=ibon-larruzea-euridia-soinuaren-magia

Subir
#33 por Nethox el 03/12/2013
Daniel Lazarus escribió:
He estado comparando mediciones y a veces aparece una ligera diferencia[...]

Sí, cada medidor de true-peak dará distinto valor según 1) ratio de upsampling, 2) características del filtro y 3) precisión elegida para el cálculo.
Cambia ligeramente el flujo de trabajo, forzando a dejar márgenes. Y a respetar los de otros, porque no podrás aumentar la ganancia sin volver a medir el true-peak.
De hecho, convendría añadir true-peak y distintos niveles de loudness a los metadatos, porque los nuevos son mucho más costosos de calcular. Y ReplayGain tendría que replantearse totalmente.
Los limitadores también tienen que trabajar con el true-peak y loudness, ya hay varios en el mercado.

Dije que me parecía bien -1 dBTP sólo porque entiendo que las implementaciones hardware tienen recursos limitados, y 176400 o 192000 Hz es muy conveniente para reutilizar los filtros de los DAC (aunque sea matar moscas a cañonazos para un simple medidor).
Pero para mastering a 44100 Hz recomiendo al menos 8x, pues se ajusta más a la resolución de calibración de 0.1 o 0.2 dB de los convertidores. Y para comparativas de precisión entre temas, 16x o 32x.
Cada duplicación de ratio multiplica por 2 los recursos necesarios, pero divide entre 4 el error de sublectura.

Si el oversampling importa para medir, igual o más para procesamiento complejo. Inquieta pensar en el error que algunos plugins sin oversampling estarán introduciendo en la señal, sobretodo a altas frecuencias.
Puede que haya algoritmos DSP donde sea correcto tratar al peak-sample como si fuera true-peak; y me consta que hay plugins que, aunque no dan la opción al usuario, aplican oversampling internamente donde hace falta.
Lo mejor es elegir plugins bien diseñados pero, si no te fias, configurar el proyecto a mayores frecuencias sería equivalente. Aunque hayas muestreado a 44100 Hz, el DAW aplicará SRC al leer los ficheros.
Subir
2
#34 por Nethox el 03/12/2013
Daniel Lazarus escribió:
Esto me interesa. Podrías explicar más detalladamente cómo se calcula ese error?


#31

Lo explica parcialmente la Recommendation ITU-R BS.1770-3 / Annex 2 / Appendix 1: "Considerations for accurate peak metering of digital audio signals" (página 20).
El documento es gratis; recomiendo la versión inglesa porque la española no está perfectamente traducida. Y cuidado con las fórmulas, a los denominadores compuestos les falta un paréntesis que agrupe sus factores.
http://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-3-201208-I!!PDF-E.pdf
http://www.itu.int/rec/R-REC-BS.1770-3-201208-I

El caso con mayor error de sublectura lo plantea teóricamente: una onda sinusoidal a la máxima frecuencia que, tras sobremuestrear, deja su pico imaginario perfectamente centrado entre 2 de las nuevas muestras[1].
Ese pico imaginario o inter-sample peak es el punto de máxima amplitud de la onda reconstruída. Lo importante es que las 2 nuevas muestras entre las que se encuentra siguen siendo menores, por eso la diferencia se llama error de sublectura y requiere un margen que evite clipping en la reconstrucción.
Recuerdo que los ficheros PCM almacenan muestras o samples, valores de impulsos discretos cuyo máximo o mínimo es el peak-sample.
Esta recomendación BS.1770 dice que, si mides con oversampling 4x y filtro igual o superior al FIR propuesto, puedes llamar true-peak al peak-sample de siempre. Sigue teniendo un determinado error de sublectura respecto al inter-sample peak, pero menor y sólo afecta a la medición/procesado, no a la reconstrucción de la onda.
[1]: "nuevas muestras" se refiere a "nuevo conjunto expandido de muestras", incluyendo a las preexistentes al sobremuestreo.

Lo que no explica el documento es por qué elige una onda sinusoidal, sabiendo que otro tipo como cuadrada no impone un límite calculable entre esos 2 puntos. Supongo que por alguna/s de estas conjeturas:
— La amplitud de la sinusoidal es sencilla de calcular a partir de un período conocido, como el dividido n veces por oversampling.
— Es compatible con la postcondición de muestreo correcto de banda limitada desde el que se parte: si antes no había frecuencias > Fs/2 por haber sido filtradas, tras el sobremuestreo no deben surgir de la nada. Por lo que no tiene sentido calcular el máximo error esperando encontrar cambios radicales entre esos nuevos samples (que generarían overtones, o sería simple distorsión), sino valores interpolados.
— La fórmula de interpolación de Whittaker-Shannon usa sinc(), una función definida a partir de la sinusoidal. Aunque, en la práctica, el upsampling a múltiplos enteros se hace añadiendo muestras intermedias de valor 0, aplicando un nuevo filtro paso-bajo y compensando ganancia si hiciera falta. La necesidad de este filtro final puede desconcertar, puesto que la suposición anterior ya había descartado la generación excesiva de nuevos armónicos > Fs/2. Pero hay que tener en cuenta que este método es un tanto tramposo por eficiencia: esas muestras intermedias a 0 sí suponen inicialmente un cambio radical en amplitud, y justamente el filtro es el que elimina la imagen especular a la vez que interpola.
http://www.lavryengineering.com/lavry-white-papers/
https://en.wikipedia.org/wiki/Oversampling
https://en.wikipedia.org/wiki/Reconstruction_filter

Adjunto una hoja de cálculo en la que ir modificando la frecuencia de corte en términos absolutos. Permite experimentar con el cálculo del error de sublectura máximo o cercano al máximo. También limitar el espectro a medir/procesar manteniendo la Fs, de forma que veas a partir de qué ratio de oversampling el error entra en tus límites aceptables para cierta tarea.

EDITADO
Archivos adjuntos:
true-peak under-read error.png
BBCode:
Subir
2
#35 por Daniel Lazarus el 04/12/2013
Ottia!!! :shock:

Esto tengo que mirarlo con calma, a ver si soy capaz de entenderlo todo bien... Muchas gracias por la explicación!!! =D> =D> =D>

Saludos, Daniel Lazarus.

AVISO: Ayer ERA NOVATO!!! Ahora soy "ENTERADILLO CASERO"... ;)
Adiós Sound Blaster 16 bits... Tantos años juntos... Y Windows 7 nos separó. Te enmarcaré en el comedor :)

http://www.hispasonic.com/dlazarus

Subir
--26171--
#36 por --26171-- el 04/12/2013
#34
Gracias
Subir
mod
#37 por euridia el 04/12/2013
Si. Es verdad. Es coseno y no seno. O añadirle los pi/2.

Tiré de memoria.... jajaja... y como suele ser más habitual el seno que el coseno..... pues ahí está la cagada. Solo tendría que haber usado una calculadora para ver que el resultado no daba. Me confié.


mmmm.. igual lo edito y lo borro... porque si no google igual lo indexa y alguien se lo encuentra mirándo imágenes o no lee estos posts, puede llevarle a equívoco.


¿Os parece bien?

"MASTERING ON-LINE"- ibon@euridia.net

http://www.euridia.net/servicios/mastering/ibon-larruzea
http://www.sinadurak.tv/?portfolio=ibon-larruzea-euridia-soinuaren-magia

Subir
#38 por the_can_opener el 05/12/2013
Muy bien Nethox. Das clases en algún lado no?

"Toda licencia en el arte"

Subir
--26171--
#39 por --26171-- el 05/12/2013
O estudia todavía o retiene (y valora la universidad).
Subir
#40 por the_can_opener el 05/12/2013
Si, pero explicó de una manera muy fácil de entender algo que puede ser pesado de explicar.

"Toda licencia en el arte"

Subir
--26171--
#41 por --26171-- el 05/12/2013
Pues que tendrá facilidad para la divulgación...
Si encima es rico y guapo...
Subir
mod
#42 por euridia el 05/12/2013
Ya está editado todo.

Puntito para Nethox, que se lo ha ganado! :-)

"MASTERING ON-LINE"- ibon@euridia.net

http://www.euridia.net/servicios/mastering/ibon-larruzea
http://www.sinadurak.tv/?portfolio=ibon-larruzea-euridia-soinuaren-magia

Subir
#43 por Nethox el 05/12/2013
Adjunto el desarrollo por pasos del cálculo del error de sublectura máximo para true-peak.
Referido de nuevo al Annex 2 / Appendix 1 del documento ITU-R BS.1770-3:
http://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-3-201208-I!!PDF-E.pdf
http://www.itu.int/rec/R-REC-BS.1770-3-201208-I

Aclaraciones más matemáticas para complementar al post #34 :
— No usar oversampling equivale a oversampling 1x.
— Fnorm es la frecuencia de corte normalizada entre 0 y 0.5, sirve para abstraer la frecuencia de muestreo concreta de las fórmulas generales. En otras palabras, es la máxima frecuencia que queremos medir.
— En la tabla de la página 21 del PDF, usa Fnorm = 0.45 y 0.50.
La primera representa una frecuencia de corte realista en implementaciones de filtros paso-bajo, aunque hay muchos más abruptos; para Fs = 44100 Hz, da F = 19845 Hz.
La segunda es la frecuencia de Nyquist (sólo 2 muestras para cada ciclo); para Fs = 44100 Hz, da F = 22050 Hz.
Una Fnorm > 0.5 genera error en la fórmula, pero es correcto porque esas frecuencias generarían aliasing y se han filtrado en el muestreo.
— El error de sublectura es directamente proporcional a la frecuencia.
Siendo conservadores, calcularíamos sólo el peor caso Fnorm = 0.5 con 20*log(cos(0.5*π/4)), pero podría interesarnos limitar el espectro a medir hasta p. ej. 20000 Hz trabajando con Fs = 88200 Hz, que daría una Fnorm = 20000 / 88200 = 0.2268.
Así bastaría menos ratio de oversampling (n) o peor filtro (banda de transición mayor, nula compensación de ganancia, etc) para tener el mismo grado de error, ahorrando CPU y memoria. Por esto mismo se escogió 44100 Hz y no 40000 Hz para el CD-Audio.

PS: creía que el tech-paper milimetrado de euridia se había perdido entre ediciones, así que esto ahora queda algo redundante pero ya lo tenía hecho.
Archivos adjuntos:
true-peak under-read error formula.png
BBCode:
Subir
1
Respuesta rápida

Regístrate o para poder postear en este hilo