Se está llendo mucho el tema del hilo. A los que no puedan evitarlo, que escriban parte ontopic y parte offtopic técnico, pero no sólo lo segundo (para lo cual se usaría otro hilo). Es lo que uso yo para no tener quejas
.
Lo primero decir que me gustaría leer razones para entregar a -3 a -6 dBFS, aparte de la vaga "para dejar margen de trabajo". Porque de un estudio de mastering serio espero al menos estos equipos de gama alta: atenuadores por pasos analógicos y digitales, ordenador con editor, y convertidores. Además de posibilidad, conocimiento y aparatos de medición para la calibración de todo el equipo analógico y digital. Y por último, técnicos que hagan su trabajo sin acomodarse.
Euridia ha propuesto mejorar la entrega apurando más el formato de 24 b int (integer, entero). Cuestiones o requisitos que veo a tener en cuenta:
- Ventaja por ser formato conocido, directamente reproducible por DAC.
- Editar tu mezcla porque, si usas como referencia los oídos y medidores VU/RMS, en cada mezcla saldrá un nivel de pico distinto. Esto se debe a no importar demasiado hasta el final, donde bajas fader Master o limitas para eliminar clipping. No se normaliza por sistema ya que altera el nivel RMS monitorizado durante el trabajo, que es lo realmente importante para grabar y mezclar.
- Ajustar el nivel de pico desde el mismo DAW, no con una normalización posterior para evitar recuantización sobre 24 b.
- Mantener la compatibilidad con conversores evitando 0 dBFS y usando -0.5 dBFS para evitar inter-sample-peaks al reconstruír la señal en un DAC. Medibles por software con el plugin SSL X-ISM insertado en fader Master.
- Indicar en un fichero de texto niveles RMS AES17 (
) y de pico que resultaron de tu mezcla antes de la transformación para el envío. Así el técnico de mastering conoce más de tus intenciones antes de la transformación. Por supuesto poner aquí cualquier otra nota que tenga que saber de tu mezcla.
Ahora replanteo conceptualmente la cuestión porque pienso que es mejorable.
Problema: transferir un fichero de audio digital de un estudio a otro.
Solución: elegir formato intermedio, no uno final limitado por el hardware. La parte de soporte de almacenamiento y medio de transmisión se soluciona fácil con una memoria portátil o Internet + hashing para comprobar integridad en destino.
Implementación:
- Exportar al mismo formato interno del DAW, 32 ó 64 b fp (floating point, coma flotante). No hay formato intermedio con mayor calidad que el interno, sin compromiso.
- No editar valores de pico ni RMS, no hace falta apurar el rango dinámico con coma flotante porque es enorme y escalable.
- Evita tener que documentar esos valores pues son calculables con editor.
- Evita recuantizaciones de normalizar, malos algoritmos de dithering, errores del técnico de mezcla sin vuelta atrás.
- Permite filtrado de ruido, fades in-out y demás ediciones digitales con máxima precisión.
- Requiere transformarse a 24 b int para pasarlo al DAC en la reproducción y procesado, pero todos los editores lo hacen al vuelo o por lotes con todo el álbum.
- Ocupa más, pero el caso extremo de 64 b fp y 192 kHz durará bastante, mientras tanto el almacenamiento y conexiones a Internet no dejarán de subir.
- El estudio origen y destino puede ser el mismo, donde se mezcle y también masterice. Típica situación de pasar del DAW a disco y luego abrir en editor aparte para mastering.
----------
paco trinidad: donde dices precisión es mejor usar fidelidad. Precisión y resolución tienen sus propios significados en representación numérica (y electrónica) digital.
Aparte, te veo entregado a la causa del fader Master, así que te doy mi forma de verlo:
Supongamos un DAW con aritmética en coma flotante de doble precisión. Su representación interna[1] de 64 bits es 1 b de signo + 11 b de exponente + 52 b de mantisa.
Renderizar se hace al escuchar en tiempo real o al exportar a fichero. Consiste en procesar y obtener una representación externa habitualmente de menor precisión: 24 b. Pero hay otras representaciones externas posibles como 16 b, o la máxima[2] que es la misma que usa internamente el DAW: 64 b fp.
Pues el fader Master del mixer usa la representación externa de 24 b para la interfaz gráfica del deslizador y su indicador de clipping[3]. Lo cual tiene sentido porque lo más habitual es que la salida del Master vaya a un DAC de 24 b, que tendría clipping si se le pudiera entregar más de 0 dB FS[4].
Conclusión:
La representación interna (64 b fp) supera por mucho a la externa (24 b), pero el 0 dB FS de ambas está sincronizado[5], así que ajustando la interna (fader Master) se evita el clipping en la externa (DAC/fichero).
1: Según el estándar IEEE 754.
2: Recomiendo usar la máxima si se va a masterizar por software o software + hardware, y para archivado intermedio como la famosa y destructiva (aunque poco) normalización.
3: Cuidado con el marcador de clip, que indicará que una o varias muestras llegan a 0 dB FS, pero los inter-sample peaks pueden superarlo. Para comprobarlo usar plugin como SSL X-ISM.
4: Lo cual es imposible, porque el clipping se hace antes del DAC con truncado por software; sea DAW, S.O. o driver; sea con o sin dither previo (a 16 y 20 b yo lo considero obligatorio).
5: Aunque no ambos por el tope alto, sino de forma más inteligente, dejando un amplio headroom por encima en la representación interna, lo que permite valores como +250 dB FS sin problema.
---
hvmastering escribió:
Recordemos que el dither que se aplica en la grabación es análogo, al contrario del que se aplica a la onda que ya es digital. Lo digo a propósito de la marcada alergia, casi fobia, que muestras hacia lo digital en casi todos tus posts.
Hay dither analógico en algún convertidor digital, como el mismo Crane Song HEDD192 de euridia. No sé cómo funciona pero, si lo hacen por tener un generador de ruido aleatorio real en vez de pseudoaleatorio al que luego aplicar filtrado (noise-shaping), diría que es posible aplicarlo sin conversiones intermedias a cada muestra de la señal PCM, a base de digitalizar el ruido y combinar con la señal digital de origen. Me refiero a DD, no sólo en el AD y DA que seguro que sí; y ya digo, suposiciones aventuradas..
hvmastering escribió:
Vaya, pensé que el post estaba muy claro: Si uno baja un fader y lo vuelve a subir en la misma sesión, en una DAW bien diseñada, no pierde NADA, como está explicado al final del post, cuando el Wordlenght se EXPANDE. Si lo baja y lo deja abajo, hace un render a la misma resolución, luego lo importa y vuelve a subirlo, sí pierde algo, pero en una cantidad despreciable.
Si bajas y subes el mismo fader la misma cantidad en una misma sesión, obviamente no cambia nada. Pero no por la aritmética binaria sino porque es una edición no-destructiva que, en este caso, sólo guarda el último estado en memoria.
La segunda parte es correcta pero yo no tengo tan claro que sea despreciable al acumular muchas pistas. Cambiar ganancia implica recuantizar, es como la típica cuestión de normalizar sí o no. La respuesta es "tú verás según tu flujo de trabajo" pero, si lo haces, no guardes de nuevo a 24 b int sino a 32 o 64 b fp que es a lo que trabaja el DAW. Así equivale a hacerlo con el fader, aunque con la diferencia de que ahora sí es destructivo, se puede corregir (y lo harás en la mezcla) pero la edición previa ya está grabada a disco.
Otra cosa más interesante para mí sería conocer el flujo de procesamiento de un DAW al detalle. ¿Es lo suficientemente inteligente para detectar compensación de ganancias entre todos los buses del mixer? Me explico: si en vez de sobre el mismo fader, aplicas -6 dB en el de Canal y luego +6 dB en el Master con sólo 1 canal en el proyecto, se podría evitar la ganancia al flujo de bits. Yo creo que no, porque el problema viene cuando hay más pistas, que no se puede compensar sin alterar al resto.
Lo cual lleva a algo que antes no había pensado: si todo funciona en forma de flujo puro y duro sin heurísticas inteligentes, eliminar el clipping desde el Master no sólo se puede, es la mejor opción. Las alternativas siempre implicarían más retoques en faders de canal o subgrupos que centralizarlo en una sóla recuantización del Master. Por otro lado y aunque no me gustan los argumentos negados, ¿por qué no hay una función para bajar compensadamente todos los canales y no tocar el Master (el sueño de alguno que todavía no ha despertado)? Porque es absurdo teniendo el Master.
Esto del flujo se puede probar en cualquier DAW, mirar en su doc, y directamente extraer de una lectura de código de secuenciadores libres como Ardour2.
No obstante, esto de preocuparse de recuantizaciones en coma flotante ya es hilar muy fino, lo preocupante para mí es a 24 b int.
---
enormecipote escribió:
Pero mi gran duda es...
¿los bits se ordenan de abajo a arriba?
La pregunta es más compleja de lo que parece. El cómo se ordena es más bien cómo se representa numéricamente un fichero de audio. Hay muchas opciones, así que puedes buscar por Internet cada una con detalle. La primera de las siguientes ya te la han dicho:
- Byte order o endianness: little-endian, big-endian o mixed-endian.
- Tamaño de palabra o wordlength: 8, 16, 32, 64 bits divididos en Bytes de 8.
- Aritmética: entera o coma flotante.
- Representación: sin signo, con signo (complemento a dos o signo-magnitud).
- Frecuencia de muestreo: 44.1, 48, 88.2, 96, 192 kHz.
- Número de canales: mono, stereo, etc.
- Entrelazado de canales: interleaved o non-interleaved. Lo más habitual es interleaved, sobretodo porque es más fácil de ir escribiendo sobre la marcha cuando no se sabe el tamaño con antelación, como al darle a Rec.
- Codificación: el más común es Linear PCM, pero hay otras cuantificaciones de las muestras de pulsos como µ-law o ADPCM, más usadas para telecomunicaciones.
El fichero WAV más típico para grabación es (en orden de las características anteriores): little-endian, 24 b, entero, con signo y complemento a dos, 44100 Hz, mono, interleaved (en mono no afecta), LPCM.
Y cuidado porque no es binario natural como está poniendo hvmastering. Eso son ejemplos que valen hasta cierto punto. Hablando de DAW con coma flotante la verdad es que de muy poco porque la computación numérica y DSP es bastante distinta y compleja.
El uso de 24 b, que no es potencia de 2, hace que muchas veces se alinee a enteros de 32 b en complemento a dos.
http://wiki.multimedia.cx/index.php?title=PCM
Es gracioso que euridia antes haya dicho que 1 + (-1) es una resta porque ahora sale complemento a dos para demostrar que no.
Algebraicamente es una suma de una magnitud positiva con otra negativa. Tú como humano automatizas quitando paréntesis y dejando 1 - 1, pero ya no es la misma fórmula, es una transformación equivalente. La precedencia de operadores estándar dice que el () tiene mayor que el +, es decir, la suma es lo último que se opera y el nombre de la operación. La misma precedencia que hace que sepas que 3 + 5 * 2 es 13 y no 16 sin necesidad de paréntesis.
Computacionalmente también y aun quitando los paréntesis, porque la ALU de una CPU no resta enteros sino que aplica el complemento a dos al sustraendo y siempre suma.
Por esa simplicidad de operaciones y porque no tiene más que un código para el 0 (no hay -0 y +0 como sí pasa en floating point al usar signo-magnitud) se usa complemento a dos como tipo entero en muchas arquitecturas.
Saludos.