Caesar escribió:
Pues me he perdido, había entendido que el adquirir una tarjeta de mas calidad era para intentar evitar los "chasquidos"
La verdad es que me da pereza explicar, pero ya estoy acá así que no queda otra.
El audio es información sincrónica. Esto quiere decir que está supeditada a un reloj que va marcando en que momento debe ser reproducida cada muestra de señal. En una grabación a 44 khz, existen 44 mil muestras por segundo, y al ser reproducidas existirá ese reloj marcando los tiempos constantes 44 veces cada segundo.
Si tu procesas una muestra la tienes cierta cantidad de tiempo ocupada, y tiene que liberarse, tiene que dejar de ser procesada antes de que el reloj marque su tiempo.
Al momento de marcar el tiempo la muestra debe haber terminado de ser procesada pero si no alcanzo a ser procesada en el momento que el reloj marca el tiempo, en lugar del valor de amplitud que representa la muestra, apareceré el valor de voltaje máximo posible, eso son los chasquidos, son muestras que se pierden.
¿Por qué se pierde una muestra? por estar siendo procesada en un tiempo mayor al que debe ser reproducida ¿de qué manera se soluciona? pues conteniendo las muestras temporalmente para dar tiempo a que los procesos terminen.
Entonces, en todo escenario en el cual las muestras no alcancen a ser procesadas aparecerán chasquidos.
Cuando ocurre esto, pues cuando intentas que el procesamiento sea en tiempo real. El audio realmente no es en tiempo real, hay una demora inducida, precisamente para evitar que se pierdan muestras, esa demora es lo que llamamos latencia y bajarla es acercarse al tiempo real, por tanto es presionar hasta que finalmente se terminará perdiendo alguna.
Por eso, latencia cero no debe existir, debes dejar un margen para trabajar con seguridad, eso será en toda plataforma, hasta con la interfaz con los mejores drivers, si exiges mucho, eventualmente tendrás muestras perdidas. Esto tiene relación con la carga de trabajo del CPU también, si tienes mas pistas y mas plugins, pues mas precionas contra el tiempo, mas tardaran las pistas en ser procesadas, mas probabilidad de chasquidos a mayor carga.
Ahora, a parte de este comportamiento normal, se encuentra la gestión del propio driver. Si el driver no es bueno, pues se potenciará este mismo problema. Lo mismo si el driver no es nativamente Asio, lo que ya es natural que ocurra, pues ocurrirá aun con mas frecuencia con drives malos o no nativos.
El escenario ideal es un equilibrio entre baja latencia y baja carga de trabajo, si necesitas aumenta la carga, necesariamente deberás aumentar la latencia para no perder muestras. De esto se desprende que nunca debes configurar la latencia mas baja, debes utilizar la latencia mas baja que sea estable dependiendo de tu carga de trabajo y la carga de trabajo debe tener en cuenta que ninguna plataforma es infalible.