Aliasing

Harpocrates666
#31 por Harpocrates666 el 08/03/2013
avallesp escribió:
En este caso la pérdida es absolutamente despreciable


En eso estamos totalmente de acuerdo.
Subir
OFERTASVer todas
  • -33%
    Roland GAIA 2
    498 €
    Ver oferta
  • -11%
    Focusrite Scarlett 8i6 3rd Gen
    177 €
    Ver oferta
  • -40%
    Roland SPD-20 Pro BK Octapad
    398 €
    Ver oferta
Harpocrates666
#32 por Harpocrates666 el 08/03/2013
harpocrates escribió:
avallesp escribió:
Cuando sale la señal del motor de audio simplemente estamos convirtiendo de nuevo a entero (con 16 ó 24 bits) un número que hemos convertido previamente a formato de coma flotante (con 32 ó 64 bits). Simplificando, para que se entienda, "coma flotante" quiere decir número con decimales.


Es lo mismo, números con decimales, pues numero que van a tener que ser redondeados a enteros, y para que se redondean? para calzar en un intervalo de cuantización, en definitiva ruido de cuantización, es lo mismo.
Subir
avallesp
#33 por avallesp el 08/03/2013
Perdonad la excesiva simplificación y el ramalazo didáctico de maestrillo escuela (mea culpa, deformación profesional), pero es sólo para intentar llegar a un acuerdo de mínimos...

Al grano, yo lo que he podido entender de estas cosas del audio digital es que:

1) Respecto al nº de bits (lo que en el imperio llaman Bit Depth)
Para evitar confusiones que quede claro que estoy hablando de nº de bits que ocupa en disco cada muestra a la hora de almacenar una grabación de audio digital. Esto no tiene nada que ver con sistemas operativos, DAWs y plug-ins con arquitectura de 32 ó 64 bits. Eso es otra guerra distinta...

Para grabar, almacenar y reproducir sonido digital...
- Con 8 bits: pichí, pichá... saborcillo retro Lo-Fi
- Con 16 bits; vamos bien...
- Con 24 bits: vamos sobraos...
- Con 32, 48 ó 64 bits...
1e5f7eab96077cb837769437037be-3521588.jpg

2) Respecto al tipo de datos utilizados a la hora de procesar el sonido
(AKA Data Types and DSP: Digital Signal Processing)
Al programar una aplicación de audio se puede elegir qué tipo de datos se va a utilizar, es decir cómo se van a representar en memoria esos valores a la hora de procesarlos. Hay dos tipos de procesado: aritmética de punto fijo y aritmética de punto flotante.

Si se elige "punto fijo" estas son las opciones disponibles:
- byte (8 bits): no vale pa ná
- short (16 bits): ande vas, picha corta...
- int (32 bits): justito, aunque podría valer para algunas cosas.
- long (64 bits): bien, bien...

Si se elige "flotante" hay dos opciones:
- float (32 bits): ya nos valdría para según qué cosas
- double (64 bits): con este vamos sobraos

En resumen, las opciones posibles son entero (de 32 ó 64 bits) y flotante (de 32 ó 64 bits).
Insisto, esto es el número de bits que ocupa cada muestra de audio digital en memoria, no tiene nada que ver con DAWs o plugins con arquitecturas de 32 ó 64 bits. Los datos float de 32 y 64 bits ya se usaban habitualmente cuando los procesadores eran de 8 bits.

3) Respecto a las conversiones del tipo de datos
El audio está grabado en disco como enteros de 16 ó 24 bits.
En memoria puede representarse como enteros o floats de 32 ó 64 bits.
La elección de un tipo de datos u otro dependerá del proceso concreto que se vaya a realizar.
Unos son mejores para un tipo de algoritmos y otros para otros.

Esto implica que el software debe efectuar frecuentes conversiones de datos.
- Si se aumenta el número de bits no hay ningún problema, se añaden ceros y ya está solucionado.
- Si se reduce el número de bits la cosa se complica y pueden empezar los problemas.

4) Respecto al Dithering
Si reducimos el número de bits de una señal de audio se produce una pérdida de resolución.
Esta pérdida de resolución puede implicar el deterioro y degradación de la señal y la aparición de artefactos audibles por efecto de los errores de cuantización. Para minimizar esta degradación se usa una técnica llamada Dithering, que paradójicamente, consiste en añadir ruido a la señal para evitar su degradación.

5) Respecto al truncamiento de datos Float.
harpocrates escribió:
Es lo mismo, números con decimales, pues numero que van a tener que ser redondeados a enteros, y para que se redondean? para calzar en un intervalo de cuantización, en definitiva ruido de cuantización, es lo mismo.

Yo me había hecho la idea de que la reducción del número de bits en el caso de datos float no suponía ningún problema, ya que basta con truncar o eliminar los bits menos significativos, que son despreciables una vez finalizado el procesamiento.

De hecho he leído artículos de un ingeniero especializado en DSP y programación de audio digital, un tal Nika Aldrich, que me ha parecido entender que van en esa misma dirección cuando afirma:

Alguien escribió:
For these reasons it is simply impossible to adequately dither a floating-point system such that quantization error becomes exclusively quantization noise, such as can be accomplished in a fixed-point system.

Aquí entiendo que al reducir la tasa de bits en datos float no es posible aplicar dithering, ya que en este caso los errores de cuantización se traducen exclusivamente en ruido de fondo. (Y no tiene sentido añadir ruido para prevenir la aparición de ruido)

En el caso de la reducción de la tasa de bits en datos enteros los errores de cuantización provocan la aparición de distorsión que puede llegar a ser audible. Por eso en este caso es necesario añadir ruido de fondo para evitar esa distorsión.

Si estoy equivocado corregidme, por favor, que soy un simple aprendiz y de esto sé lo básico, y de inglés lo justito...

Para quien quiera profundizar más en aspectos técnicos:

Nika Aldrich. Dither Explained.
http://www.users.qwest.net/~volt42/cadenzarecording/DitherExplained.pdf

Nika Aldrich. Exploring Dither in Floating-Point Systems
http://thewelltemperedcomputer.com/Lib/floatingdither.pdf
Subir
2
Gracias a todos
#34 por Gracias a todos el 08/03/2013
avallesp escribió:
3) Respecto a las conversiones del tipo de datos


Aunque el procesado interno de algunos Daw´s llegue a 64 bit; no se manejan más que archivos de 24 bit, muy pocos programas o interaces manejan más de 24 bit en la convesión o el manejo de ese material convertido.
Del resto, bien, muchos no abían, al parecer que el dithering es un ruido de solapamiento o complemenario; de igual modo que el DSD, eso que escuchan las minorías de los países ricos (sí, amigos sigue exsitiendo el SACD) ha de usar algo igual por los errores de cuantización percibibles en las frecuencias graves al usar 1 bit de resolución.
Subir
evinuesa
#35 por evinuesa el 09/03/2013
#33

=D>
Subir
Gracias a todos
#36 por Gracias a todos el 09/03/2013
Carmelopec escribió:
abían


sabían
Subir
Harpocrates666
#37 por Harpocrates666 el 09/03/2013
harpocrates escribió:
Yo me había hecho la idea de que la reducción del número de bits en el caso de datos float no suponía ningún problema, ya que basta con truncar o eliminar los bits menos significativos, que son despreciables una vez finalizado el procesamiento.


Si efectivamente, lo que pasa es que con un audio engine (para que carmeloc no se asuste) de 64 bits float por ejemplo, los resultados de la suma de señales o los algoritmos de cada plugin van a dar como resultado números con decimales.

Entonces cuando elimines ese resultado decimal, vas a tener que redondear, es ahí donde se produce el error y eso afecta la cuantización.
Subir
Harpocrates666
#38 por Harpocrates666 el 09/03/2013
avallesp escribió:
Alguien escribió:
For these reasons it is simply impossible to adequately dither a floating-point system such that quantization error becomes exclusively quantization noise, such as can be accomplished in a fixed-point system.

Aquí entiendo que al reducir la tasa de bits en datos float no es posible aplicar dithering, ya que en este caso los errores de cuantización se traducen exclusivamente en ruido de fondo. (Y no tiene sentido añadir ruido para prevenir la aparición de ruido)


Si te fijas ya te dije mas arriba que estoy de acuerdo contigo en que no hay en absoluto necesidad de hacerlo. Yo simplemente explico de donde viene el razonamiento del señor Bob Katz o como se llame.

Por cierto, pon el texto completo, eso que pones ahí para mi no dice nada, ademas no habla de ruido de fondo, habla de ruido de cuantización (raro que carmeloc no haya corregido esta palabra, que también podría considerarse un anglicismo), que es el generado por los errores de cuantización.
Subir
Gracias a todos
#39 por Gracias a todos el 09/03/2013
harpocrates escribió:
Bob Katz o como se llame


¡Eso, bien dicho...!

fdo:

Caspello Piciaña, secretario general de los Annal Commander hispasónicos.
Subir
1
Harpocrates666
#40 por Harpocrates666 el 09/03/2013
Carmelopec escribió:
¡Eso, bien dicho...!


Iba a poner ademas "que para viejos chocheros ya tenemos a ca...." pero me arrepentí :juas:
Subir
avallesp
#41 por avallesp el 12/03/2013
harpocrates escribió:
pon el texto completo

Nika Aldrich. Exploring Dither in Floating-Point Systems
http://thewelltemperedcomputer.com/Lib/floatingdither.pdf
Subir
Harpocrates666
#42 por Harpocrates666 el 12/03/2013
#41

Muchas gracias, a ver si podemos ordenar un poco las ideas.
Subir
Emiliano Caballero
#43 por Emiliano Caballero el 25/03/2013
Si saturas la señal de entrada de tu AD (convertidor) tendras efectos secundarios como distorsion (aliasing)

'An alias occurs when a signal above half the sample rate is allowed into, or created within, a digital system.Aliasing can occur either because the anti-alias filter in the A-D converter (or in a sample-rate converter) isn't very good, or because the system has been overloaded. The latter case is the most common source of aliasing, because overloads result in the generation of high-frequency harmonics within the digital system itself (and after the anti-aliasing filter)'

http://www.soundonsound.com/sos/jan06/articles/qa0106_2.htm
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo