#5 ,
#9 y
#10
harpocrates, has malinterpretado mi mensaje
#2 por partida doble (A y B).
Con el nuevo mensaje
#6 de Jafer, mantengo todo lo dicho salvo una ambigüedad de la cuestión A que luego aclararé. La solución es la contemplada por mi 2º caso condicional: no hay pérdida de calidad gracias a exportar en coma flotante, ya que permite almacenar niveles por encima de 0 dBFS por aplicar un desplazamiento al fondo de escala (probablemente el mismo bias del exponente IEEE 754).
Cuestión A — Ganancia relativa vs nivel absoluto
Sé que Jafer se refería a ganancia -6 dB con el fader, no a nivel de pico -6 dBFS, sobre todo porque hablaba de nivel RMS.
Pero yo partí desde 0 dBFS como
ejemplo habitual y fácil aritméticamente para mis 2 casos, ya que me servía para luego mencionar la equivalencia de 6.02 dB = 1 bit de precisión, y también los algoritmos de dither que sólo alteran ese último bit.
Daba por sobreentendido que él tenía que adaptarlo a su caso real y evaluar los 2 condicionales para obtener la solución. Ciertamente habría sido menos ambigüo escribir:
"[...] y el nivel máximo de pico fuera p. ej. -6 dBFS"
Cuestión B — Relación señal-ruido, SNR
Mis 2 casos estaban claramente separados, incluso con idéntica sintaxis para resaltar las diferencias.
Sólo hablé de ruido en el 1º, exportando a formato entero de 24 bits. Luego explicaré razones.
En el 2º caso, exportando a formato en coma flotante de 32 o 64 bits, ya dije que no hay pérdida.
Sin embargo, toda tu respuesta y el test de anulación (null test) pretenden refutar una mezcla de los dos: que no hay una pérdida de 6 dB de SNR al calcular en coma flotante y exportar como el autor del hilo (o en tiempo real)... Vale, estoy de acuerdo, pero relee bien mi respuesta
#2 —que hasta has citado textualmente— y verás que no es lo que yo he planteado.
Es más, te recomiendo este post que escribí hace 3 años donde salen los mismos temas que en este hilo, pero más detallados. En una de las secciones pretendía convencer a los muchos que todavía no se atrevían a tocar el fader Master de un DAW en coma flotante para evitar clipping en el convertidor:
https://www.hispasonic.com/foros/como-le-entrego-mi-trabajo-ingeniero-mastering/314570/pagina9#post2580218
Y en otra sección salen los formatos recomendados, que puede ampliar la respuesta a
#4 para alexeskorzo.
Respecto a la hipotética pérdida de 6 dB de SNR al exportar en
formato entero de 24 bits bajando el fader Master. Sí, sucedería porque no hay un exponente que permita escalar la mantisa como en los números en coma flotante. Así que, conforme bajas el nivel, se va perdiendo significación directamente. Bajar 6.02 dB equivale a hacer un desplazamiento hacia la derecha de 1 bit. Al exportar con menos significación, ya no se puede recuperar en la siguiente fase de edición, en este caso subiendo 6 dB con Wavelab para masterizar.
Además, el DAW probablemente haya aplicado dither de al menos 1 bit, así que el error de redondeo (el famoso ruido de cuantización) que idealmente podría ser de 0.5 ULP porque por defecto se usa redondeo al más cercano (no truncamiento), ahora seguro que es 1 ULP. Ya que el dither consiste en perder ese poco de significación extra para romper la correlación del error de redondeo con la entrada, que sería más audible.
Por tanto, tras subir los 6 dB en Wavelab, el dither de la primera exportación sube de la última cifra significativa a la penúltima. Y se vuelve a aplicar dither, pero ya es irrelevante porque la nueva relación señal-ruido te la está limitando el dither viejo aumentado 6 dB, no el nuevo. Justamente esta técnica —pero con más ganancia negativa— sirve para poder oír el dither en un fichero a 24 bits con claridad, como hizo Daniel Lazarus:
https://www.hispasonic.com/foros/comparativa-dither/427543
A 24 bits ni siquiera sería muy grave este caso, ya que desde la grabación ya tienes "dither natural": el ruido de fondo térmico del convertidor AD a unos 21 bits efectivos. Importaría para música puramente sintetizada, que potencialmente tiene toda la precisión deseada sin ruido.
Por cierto, lo anterior también refuta lo de que el DAW no tiene ruido. El cálculo en coma flotante puede o no tener error de redondeo según la estabilidad de los algoritmos, el valor de los operandos concretos, la precisión de los formatos iniciales e intermedios, el modo de la FPU x87 o uso de instrucciones SSE2, FMA y FMAC, números desnormalizados, etc.
Pero en general el mínimo error garantizado de una operación es 0.5 ULP, a lo cual se llama "correctly rounded". Algunas garantizan 1 o 2 ULP. Y otros algoritmos pueden perder la significación completa (la suma "ingenua" entre ellas), tener desbordamiento y dar resultados extraños. Es un tema complejo, el campo de las matemáticas llamado análisis numérico se dedica a su estudio.