moynet escribió:
Cuando un archivo de audio está a 16 o 24 y lo conviertes a otro mayor lo que hace es rellenar de bits a 0 los restantes hasta completar. La idea de esto es que luego al procesar el audio, si lo haces con plugins de 32 bit entonces rellena ese bit de varlo 0 por el procesado, si sigues trabajando con 32 bits se pierde menos definición al volver a pasar a 16 que estar manipulando uno de 16bits.
Esto es el caso de un archivo grabado en punto fijo ajustado a la resolución de un motor a punto fijo.
Cuando se pasa de un 24 fijo a un 32 float hay que hacer una conversión diferente, la parte "int" es de 24 bits, esta no se puede copiar y dejar el mismo exponente (8 bits) en todos los valores, se tiene que ir ajustando el exponente a base 2.
Lo de exportar a float 32 solo sirve si quieres pasar los datos tal y como salen del motor de audio (de 32 float), así cuando otro los vuelve a importar no se tienen que volver a reconvertir, ya que el caso normal sería pasar de 32 float a 24 fijo, pasar el archivo a otra persona, y si esta lo mete en DAW lo vuelve a pasar de 24 fijo a 32 float, no es que los errores que se puedan producir en este paso sean importantes, ni mucho menos, pero es una que en este caso y desde un punto de vista muy purista se puede ahorrar.
Luego faltaría ver si es más rápido leer de disco/buffer muestras de 32 bits que leerlas de 24 y un typecasting de int a float (baratísmo de CPU, el lento es el de float a int), a mí a ojo sin medir e me antoja más rápido leer muestras de 24 + typecasting, aunque para una sola pista tampoco debe importar.
Aunque ya digo, esto a efectos prácticos relevancia tiene poca, es más puntualizar que otra cosa.