¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?
-
especialista
Re: ¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?
Jotap_66, serías tan amable de ahondar más en los detalles de lo que comentas? Lo pregunto por curiosidad.
Un saludo
-
Siempre se aprende algo..
Re: ¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?

Iniciado por
Yota
Jotap_66, serías tan amable de ahondar más en los detalles de lo que comentas? Lo pregunto por curiosidad.
Un saludo

Si claro...Lo que quiero decir...es que si usas 32 bits tienes aproximadamente 4 mil millones de posibles valores a representar...pero si usas notacion en coma flotante aunque puedes representar aproximadamente (desde 10e-38 a 10e37 mas o menos) en realidad todos esos numeros no son usables, porque a la hora de operar en coma flotante se producen errores de redondeo (cosa que no pasa con los enteros, aunque parezca mentira)...
Ej. Para entenderlo, coge una calculadora y haz la siguiente operacion , 1 + 1e-16...Esta claro que no deberia haber problema...No son valores que den "problemas" ya que estan dentro del rango...¿Que pasa?... Uy!! pero si da 1.
Coge 1+1e-13....¿Que pasa? Exactamente lo mismo...
Esto es un problema intrinseco a la notacion en coma flotante...Por eso digo que aunque "en teoria" se puede pensar que es mejor la coma flotante, en la practica no esta nada claro...Depende de lo que se quiera hacer....No se que tipo de operaciones aritmeticas se hacen en el audio....Claro!! Puede darse el caso, de que esos errores que he comentado (que sobre todo se dan en las restas de valores muy parecidos) , no tengan demasiada importancia...Si esto es asi y no aparece ese tipo de operacion...entonces si tendria sentido usar la coma flotante...
Existe documentacion donde se explica esto, aunque es muy muy compleja...Es el documento IEEE-754/85, en el que esta explicada la notacion en coma flotante de los computadores actuales...
Claro, lo que no acabo de ver, es que para 16 o24 bits los valores sean enteros (o eso creo) y a partir de 32, se tenga que usar la coma flotante...Yo creo que tambien tendria sentido trabajar con enteros...
Entiendo que el tema es complicado...No me quiero "enrollar" mas...No se si se me ha entendido...Perdonad si no me he explicado bien...Es que esto da para varias clases...Uff Perdon...Me sale la rama docente....
Saludos
JP
Última edición por jotap_66; 24/07/2007 a las 02:51
-
especialista
Re: ¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?
¡Muy interesante, Jotap_66! El asunto es que se entiende que la finalidad de utilizar coma flotante es para que no se redondeen los valores lo cual darñia errores. Pero, si dices que esto en las entrañas de un ordenador no funciona exactamente así si no que funciona de una manera 'contraintuitiva', como dirían los anglosajones, entonces es otro cantar.
Con tu permiso, voy a citar tu post en un foro foráneo a ver qué me dicen los programadores de software de audio que puedan haber por allí y luego me traigo sus respuestas aquí.
He de añadir que la finalidad de la utilización de los 32 bits coma flotante, según loa programas de grabación de audio digital, es que los ficheros resultantes permiten almacenar ficheros con niveles que sobrepasan 0dB.
Un saludo
Última edición por Yota; 24/07/2007 a las 17:09
-
especialista
Re: ¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?
Jotap_66, ya tengo una interesante respuesta de un programador en un foro foráneo la cual citaré aquí y traduciré, pero la puedo postear dentro de un par de horas o así cuando termine una serie de cosas que estoy haciendo.
Un saludo
-
Siempre se aprende algo..
Re: ¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?

Iniciado por
Yota
Jotap_66, ya tengo una interesante respuesta de un programador en un foro foráneo la cual citaré aquí y traduciré, pero la puedo postear dentro de un par de horas o así cuando termine una serie de cosas que estoy haciendo.
Un saludo

De acuerdo...
Gracias
JP
-
especialista
Re: ¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?
Aquí está el post del programador del foro foráneo así como un comentario posterior a otro post de un forero (cito y traduzco... perdonad cualquier error que no soy traductor técnico de programación):
"El IEEE 754 no es un misterio. Lo he leído para un trabajo en lenguaje máquina que tenía que hacer para el PowerPC.
Los 32 bits coma flotante tienen, como mínimo, la misma precisión que 24 bits enteros. Cada valor a 24 bits enteros puede ser expresado exactamente a 32 bits coma flotante. Así que decir que 24 bits es de alguna forma superior para trabajo numérico es algo un poco tonto.
Cuando lo comparamos a 32 bits valores enteros, las cosas son mucho menos claras. La coma flotante puede expresar valores mucho más pequeños y mucho más grandes, pero a expensas de precisión en la mantisa. En algunas situaciones, la coma flotante funciona mejor, en otras los valores enteros serán más deseables.
En audio, los valores enteros tienen sentido en el contexto de definir 0dbFS como punto de referencia. Si todas tus señales están cerca de (o por debajo) de 0dbFS entonces los valores enteros tienen mucho sentido. Si todos están por debajo de -48dbFS (NOta: dbFS = decibelios sobre la escala total = decibles full scale) entonces sólo has perdido 8 bits de precisión y estás de vuelta a los 24 bits. Si algunos de ellos están por encima de 0dbFS estonces estás frito.
Claro está, puedes buscar soluciones alternas a muchos de estos problemas derivados de los números enteros definiendo 0dbFS para que signifique otra cosa diferente a 1, tales como otra potencia de 2 como 16 o 32, para que los pocos primeros bits del número realmente representen un número entero, y que el resto representen la mantisa. Pero eso no logra mucho salvo un montón de complicación.
Comparativamente, la coma flotante puede manejar 0dbFS, -48dbFS y +48dbFS sin ninguna dificultad. Estos es quizás más útil en un contexto científico que un uno de audio, porque puedes asociar naturalmente el valor coma flotante con una medida, que tiene unidades específicas asociadas a ellas. Así que si estás midiendo voltios, entonces sólo quieres un número que represente 1 V, 1uV y 100V sin dejar caer fuera ningunos bits de los que te importan. En el campo del audio, las acciones de ajuste de ganancia (y compresión) se aseguran de que las señales ya caigan en un rango bien conocido.
Sin lugar a dudas, esto es un asunto más importante cuando se trata de programación de DSPs, porque en ella aparecen rutinariamente números muy pequeños y muy grandes en varios algortimos. Los programadores resuelven esto en una serie de maneras diferentes. Todas ellas se conocen muy bien desde hace más de 30 años.
No utilizan 32 bits coma flotante. Utilizan 64 bits. Los algoritmos resultantes a menudo terminan siendo MUCHO más estables cuando se mueven a una precisión superior. Y, si 64 bits no son suficientes, se trasladan a precisión extendida, precisión arbitraria o cuádruple, pero eso usualmente no es necesario.
Reescriben el algoritmo para minimizar el impacto del error de cuantización. Por ejemplo, en vez de sumar 1 y 1e-13, sumas un millón de números diferentes, con rangos que van desde 1e-13 a 1. Si ordenas los números desde el más pequeño al más grande, luego los sumas juntos de más pequeño a más grande, muy posiblemente evitarás totalmente los problemas de precisión (al menos en este caso). Más usualmente, necesitas redefinir lo que la paridad entre dos números coma flotante significa, ten cuidado dónde y cuándo hagas operaciones científicas y, especialmente, estate seguro de saber exactamente lo que está haciendo tu compilador a tus espaldas, porque puede romper la precisión si no tienes cuidado".
Más adelante un forero cita a este en lo siguiente: "32-bits en coma flotante tienen, como mínimo, la misma precisión que 24 bits fijos. Cada valor a 24 bits valor entero puede ser expresado exactamente a 32 bits coma flotante. Así que decir que 24 bits es de alguna forma superior para trabajo numérico es algo un poco tonto".
y preguntó: "Así que, según esto, ¿operar en un entorno a 32 bits coma flotante es siempre superior que 24 bits a número enteros, sin excepciones"?
A lo que le respondió: "Si estás tratando con números que encajan en el dominio de 24 bits con números enteros, entonces sí. Obviamente, si estás tratando con un rango extendido de números que requiere coma flotante, entonces puede que te encuentres con problemas".
Un saludo
-
Siempre se aprende algo..
Re: ¿Por qué es importante grabar y manipular el audio a 32 bits coma flotante?
Gracias por el post...En general sabe de lo que habla y tiene razon en CASI todo lo que dice...salvo en una cosa, que es importantisima...

Iniciado por
Yota
Reescriben el algoritmo para minimizar el impacto del error de cuantización. Por ejemplo, en vez de sumar 1 y 1e-13, sumas un millón de números diferentes, con rangos que van desde 1e-13 a 1. Si ordenas los números desde el más pequeño al más grande, luego los sumas juntos de más pequeño a más grande, muy posiblemente evitarás totalmente los problemas de precisión (al menos en este caso). Más usualmente, necesitas redefinir lo que la paridad entre dos números coma flotante significa, ten cuidado dónde y cuándo hagas operaciones científicas y, especialmente, estate seguro de saber exactamente lo que está haciendo tu compilador a tus espaldas, porque puede romper la precisión si no tienes cuidado".[/I]
Efectivamente...Tiene razon en que si los sumas ordenadamente, el problema desaparece...pero claro, esto muchas veces no es posible (reescribir el algoritmo)....El ordenador esta resolviendo un problema, y una simple suma de dos numeros 1 y 1e-13 te lo fastidia todo.....Como dice esta persona, se puede aumentar la precision a 64 bits....Es una posibilidad, pero hasta hace poco no era nada facil...Hoy dia la misma notacion IEE 754 contempla los 64 bits e incluso, ciertos micros como el PowePc, hasta 96...Y hombre lo de que si tienes problemas sigues aumentando la precision, pues como que no tiene mucho sentido....
Lo que si me llama la atencion (volviendo al tema audio) es que dice que no esta nada claro lo de que usar los 32 bits en coma flotante sea mejor que con 32 bits enteros....
En cualquier caso, el post de respuesta es bastante bueno...
Saludos y gracias por tomarte la molestia de postearlo en otro foro 
JP
Temas similares
-
Por matias_buenas en el foro Acústica (audiofília, tertulias audiófilas...)
Respuestas: 123
Último mensaje: 26/06/2016, 02:45
-
Por Yota en el foro Música (dvd-audio, sa-cd, cd...)
Respuestas: 0
Último mensaje: 20/05/2005, 03:16
-
Por amg72 en el foro Audio: General y consejos de compra
Respuestas: 2
Último mensaje: 11/11/2004, 10:43
Permisos de publicación
- No puedes crear nuevos temas
- No puedes responder temas
- No puedes subir archivos adjuntos
- No puedes editar tus mensajes
-
Reglas del foro