Dudas sobre Asio, Buffer, Latencia y Velocidad de muestreo

--434896--
#1 por --434896-- el 25/08/2012
Buenas, lo primero decir que llevo una semana leyendome diferentes posts de este foro y de otras páginas para intentar aclarar todas las dudas que tengo, pero llegué a un punto en el que cada vez que leo algo nuevo me lia aún más, así que voy a consultaros unas dudas directamente.

Instalé recientemente el Cubase 5 y ahora estoy configurando la tarjeta de sonido (Edirol Fa66 Firewire) para que la calidad al grabar sea la mejor posible, decir que solamente grabo voz. En configuración de dispositivos - sistema de audio VST, puedo elegir entre 3 controladores:

1. Asio Direct X Full Duplex Driver
2. Asio 4All V2
3. Edirol FA66

La primera duda viene con el buffer, lo tengo al mínimo, que es donde menos latencia me da, pero no se si es correcto tenerlo así, leyendo más posts recomiendan tenerlo al mínimo, y asi lo tengo.

Siempre leí que con los controladores Asio baja la latencia a 0, pero en mi caso con el controlador 1 me marca latencia de entrada 0 y latencia de salida 46.4 y a 44.1 Khz. Con el controlador 2 me marca latencia de entrada 13 y de salida 13 también y a 44.1 Khz. Con el controlador 3, que es el propio de la tarjeta, me marca latencia de entrada 3.8 y de salida 3.8 y la velocidad de muestreo es de 192 Khz.

Por lo que veo, la mejor configuración creo que sería con el controlador de la tarjeta, que es el que menos latencia da, y además me permite trabajar a 192 Khz, que supongo que será mejor que trabajar a 44.1 Khz.

No lo tengo tampoco muy claro, por eso os pido opinión a vosotros, que se que hay mucha gente entendida en el tema.

Muchas gracias de antemano.
Un saludo.
Subir
1
#2 por Tio Harpo Molon el 25/08/2012
kolapso_sonoro_studio escribió:
para que la calidad al grabar sea la mejor posible


La interfaz tiene una sola calidad, no va a varias por ponerle diferentes seteos.

kolapso_sonoro_studio escribió:
La primera duda viene con el buffer, lo tengo al mínimo, que es donde menos latencia me da, pero no se si es correcto tenerlo así, leyendo más posts recomiendan tenerlo al mínimo


Yo llevo unos cuantos años en hispa, y es escrito bastantes veces al respecto, y me ha leído mucha gente, y esa gente transmite lo mismo que les he enseñado, pero se sigue encontrando la misma estupidez de colocar el buffer al mínimo, no lo entiendo, por que la gente se pone a dar respuestas de algo que no comprende? luego aconsejan mal y los principiantes llegan todos liados acá.

No debes colocar el buffer al mínimo te voy a explicar por que quiero que vallas donde los que te han aconsejado y les enseñes realmente como son las cosas.

La latencia no es un problema, hay que cambiar la manera de verla, la latencia es la solución al problema, no debes luchar contra ella, debes tenerla como aliada, pero como todo en la vida, solo te es útil en la medida justa, si es demasiada, pues obvio se convertirá en un problema.

Todo parte de la necesidad de tener audio en tiempo real, pero los ordenadores de hoy en día no son capaces de entregar una respuesta de audio en tiempo real.

Tu utilizas algún programa para producir, puede ser un secuenciador o un editor de audio, secuenciadores tenemos a cubase, reaper, logic, etc. como editores de audio están wavelab, audition, audacity, etc. estos programas "NO" se comunican directamente con el procesador de tu ordenador ni con la interfaz, si no a través del sistema operativo. El flujo de información entre la interfaz de audio, el secuenciador, y el sistema operativo es controlado por un programita llamado driver, este driver al no tener una interfaz directa con el hardware, responde con mucho retardo, imposibilitando el ideal de tener audio en tiempo real.

Asio, es una solución al problema que comento mas arriba, es un protocolo (conjunto de normas que establecen la manera en que se debe comunicar los sistemas) el cual define una manera de acceder al hardware (procesador central e interfaz) de manera de minimizar el retardo inducido por el sistema operativo, de cierto modo, haces un bypass al sistema operativo.

Esa es la característica de los driver Asio, poder manejar cantidades de latencia realmente bajas en comparación con el modelo de drivers genérico de windows.

Una vez solventado el problema de latencia ofrecido por la capa del sistema operativo que se encarga del audio, el siguiente gran problema que se presenta es que el procesador no puede hacerse cargo de una carga de trabajo que implique entregar audio en tiempo real, en otras palabras, cada plugin tiene implica hacer cálculos, y luego entregar el resultado en tiempo real, entenderás que esto no es posible, el procesador debe tomarse su tiempo para pensar cada calculo, y piensa que cada muestra debe pasar por el mismo calculo (la información de audio se registra en muestras, si por ejemplo grabaste a 24 bits - 44 Khz, eso quiere decir que en un segundo se recogieron 44 mil muestras, y cada una de ellas posee 24 bits de información).

El procesador debe lidiar con eso, con calcular 44 mil muestras cada segundo, aplicándoles algoritmos matemáticos a cada muestra, para obtener el efecto que se desea que de el plugin.

Entonces, si vas a tener al procesador ocupado calculando, no le puedes pedir que te entregue el audio en tiempo real, eso le tomará tiempo, y a medida que creas mas pistas y las cargas con mas plugins, pues mas carga de trabajo le das al procesador, y por tanto mas se demorará.

Si tu le pides que te entregue el audio en un tiempo 0, el procesador te escupirá ese audio por pedazos, es decir lo que alcance a hacer en ese tiempo que le diste, eso se escucha como cortes y chasquidos, y es el problema que aparece cuando colocas bajas latencias.

Entonces, en realidad cual es la utilidad de la latencia? el driver Asio es capaz de bypasearse al sistema operativo y eliminarla por completo, pero el procesador no aguanta trabajando a ese ritmo, por lo que debes volver nuevamente a la latencia, en este caso para darle tiempo al procesador de tener todos los cálculos terminados a tiempo. Pero esta vez tu induces la latencia controladamente, utilizando un contenedor donde guardar los datos por cierta cantidad de tiempo. Si te fijas ya el papel de la latencia cambó, en este caso te esta prestando ayuda, y eres tu el que la controla dándole diferentes valores al buffer.

Si a bajas latencias el ordenador se "marea" y comienza a perder información, como podríamos aconsejarte dejar la latencia al mínimo? es realmente una boludés (gilipolles para los españoles) lo que te han dicho.

Mas aun, el ser humano es capaz de lidiar con latencias, no voy a dar un valor, por que algunos son mas quisquillosos que otros (dementes diría yo) y se obsesionan con latencias mínimas, pero la mayoría

En la mayoría de los entornos, un tamaño de buffer de 512 es buen punto de partida, puedes bajarte a 256, y dependiendo del ordenador que tengas, pues iras bien, bajar mas allá pues no lo veo necesario.

Lo que hay que tener presente, es que la baja latencia no es compatible con altas cargar de trabajo, no puedes tener proyectos de grabación con varias pistas y muchos plugins, para grabar necesitas bajas latencias, el procesador no es capaz de lidiar con bajas latencias y una gran carga de trabajo, por lo que hay el problema pasa siempre por el usuario, es el quien no organiza bien sus proyectos y pretende trabajar en dos condiciones que no hay manera de hacerlas convivir.

En resumen, para grabar deja el buffer en valores coherentes, no es necesario que elimines la latencia completamente, necesitas cierta cantidad de latencia, lo que debes reducir es la carga de trabajo que le das al procesador, es decir menos pistas y menos plugins. Para mezclar, no necesitas bajas latencias, se supone que ya grabaste, se comienza a mezclar ya con todas las pistas en la mano, no antes. Si no tienes audio de entrada, pues la latencia no la vas a percibir ya que no tendrás una referencia, por lo tanto en la mezcla podrás subir el buffer a lo que desees y de esa manera poder trabajar con muchas pistas simultaneas y gran cantidad de plugins.
Subir
19
--434896--
#3 por --434896-- el 26/08/2012
Madre mia, como se agradece tu respuesta, me acabas de dejar claro el tema de la latencia, y mira que llevaba leyendo cosas mucho tiempo y casi siempre quedaba peor de lo que estaba. Tema de latencia solucionado, muchas gracias.

Ahora la única duda que tengo es de la frecuencia de muestreo y el controlador Asio, a ver si alguien me puede ayudar. Pongo la velocidad de muestreo a 192 o 96 khz y con el controlador de la tarjeta perfecto, pero con el controlador Asio no me permite ponerlo a esa frecuencia, me lo cambia automáticamente a 44.1 khz, no se cual será el problema que tengo, Asio tendría que aceptar 96 o 192 khz, ¿no?
Subir
#4 por Tio Harpo Molon el 26/08/2012
kolapso_sonoro_studio escribió:
Pongo la velocidad de muestreo a 192 o 96 khz y con el controlador de la tarjeta perfecto, pero con el controlador Asio no me permite ponerlo a esa frecuencia, me lo cambia automáticamente a 44.1 khz


Has dicho algo incongruente, el controlador de la tarjeta es el controlador Asio, no hay otro, bueno, hay otros, pero el que debes usar siempre es el de la tarjeta, puede ser que te refieres a que en el panel de control de la tarjeta lo colocas a 192 Khz, y dentro del secuenciador te lo cambia a 44.1 khz, eso es lo que me imagino que quisiste decir, por que lo otro no tiene ni pies ni cabeza.

Si es así, pues ocurre por que la configuración del proyecto en cubase está a 44,1 khz y sobre escriba la que colocas en el panel de control de la tarjeta.

Por ultimo, no existe absolutamente ninguna necesidad, ni beneficio real de trabajar a 192 Khz, con 44,1 khz basta y sobra, eso es discusión para otro día, pero note voy a largar semejante parrafada nuevamente dos días seguidos.
Subir
2
--434896--
#5 por --434896-- el 26/08/2012
Buenas, te voy a poner una captura, para que veas a lo que me refiero, en controladores me aparecen 3 distintos, quieres decir que donde trae controlador FA66, también es el ASIO?

2n24oi9.jpg

Selecciono por ejemplo 96 khz en la tarjeta, y si selecciono ASIO4ALL v2 o ASIO DIretX Full Duplex Driver, se me cambia automaticamentea 44.1, mientras que si selecciono EDIROL FA66, me lo mantiene a 96 khz

Ya estuve repasando varios hilos donde hablaban de la frecuencia de muestreo, donde también aportaste tu opinión (por ejemplo: http://www.hispasonic.com/foros/diferencias-entre-24bit-96khz-24bits-192khz/210808) y aunque a 44,1 sea suficiente, despues de leerme todo lo que me leí, prefiero grabar a 96 khz, si el ordenador me fuese mal, sería otra historia, pero mientras vaya bien, sin problema.

Gracias nuevamente.
Subir
#6 por Tio Harpo Molon el 26/08/2012
kolapso_sonoro_studio escribió:
quieres decir que donde trae controlador FA66, también es el ASIO?


Si no fueran Asio no te serviría para producir musica, recuerda lo que te explique mas arriba. Cada fabricante le pone sus propios driver Asio a sus interfaces, el Asio4all es un dirver genérico para poder utilizarlo con interfaces o tarjetas que no tienen sus propios driver Asio y el primero que aparece es el que se instala con cubase que no sirve absolutamente para nada, no se por que lo colocan.

kolapso_sonoro_studio escribió:
mientras que si selecciono EDIROL FA66, me lo mantiene a 96 khz


Y cual es el problema? usa el driver de la interfaz, es el que deberías estar usando.

kolapso_sonoro_studio escribió:
y aunque a 44,1 sea suficiente, despues de leerme todo lo que me leí, prefiero grabar a 96 khz


A ver, no sabes configurar tu interfaz para trabajar, tu eres el eslabón mas débil de la cadena, eres un usuario principiante, que carece de la base técnica y la practica para lograr mejores resultados en sus producciones, el grabar a 96 Khz no te va a quitar lo principiante, tu no vas a observar absolutamente ninguna diferencia entre un audio a 96 Khz y uno a 44,1 khz, por lo tanto tu tienes la libertad para grabar a la resolución que desees, pero no te duermas en los laureles pensando que mejorará tus producciones, el gran error de la gente es que centra el foco en el equipo y sus capacidades y no en las propias, has la prueba, graba dos audios con esos dos diferentes sample rate, a ver si logras identificar la diferencia.

Luego, tambien leíste mucho sobre la latencia, y también te aconsejaron mucho sin saber, no valla a ser que en este caso te pase lo mismo.

La verdad en esto de sobre muestreo es que hay un monton de gente con mucha experiencia y mucho conocimiento, quienes realizan sus producciones a 44,1 khz, y muchos principiantes que las hacen a 96 khz, o 192 khz, y no suenan mejor, y simplemente lo hacen por que alguien mas se lo dijo, no por que entiendan que el sobre muestreo es una manera de solventar la imperfección de los filtros que acotan la señal a ser digitalizada, pero en definitiva esa imperfección no hace que tu audio sea inútil, a mi juicio ese tipo de argumento para un principiante es dejar pasar a los elefantes por estar pendiente de las hormiguitas.

Te hablan de argumentos como que a 192 khz la señal representará mas fielmente a la original, pues que quieres que te diga, si vas a grabar con una interfaz para homestudio, estas realmente seguro que esa interfaz tiene una fuente de clock lo suficientemente precisa a 192 khz? recuerda que a 44,1 khz estas registrando 44 mil muestras en un segundo, a 192 khz estas registrando mas de 4 veces las muestras en un segundo, entre cada muestra hay instantes de tiempo mas pequeños y se realiza todo a una mayor velocidad, has pensado en si el clock que sincroniza la toma de muestras en tu interfaz tiene el rendimiento necesario? ¿será quizás cuando los productores hablan de trabajar esas altas tasas lo hacen con convertidores y fuentes de reloj que cuestan cada uno 5 veces lo que cuesta tu interfaz completa? has pensado en que una mayor frecuencia implica una tasa de bits mayor, y una tasa de bits mayor implica automáticamente una tase de error mayor? le estas metiendo mas muestras por segundo a tu procesador y le estabas metiendo la latencia mínima, te fijas lo que estabas haciendo? te das cuenta de la dimensión del error que estabas cometiendo? y no es por quererte hacer cambiar de idea, pero lo que sabes al respecto no es lo suficiente como para llegar tan campante a decir "he decidido trabajar a 96 Khz", reitero, tienes total libertad de hacer lo que te plazca, pero a pesar de ser un poco ácido para responder, igual me preocupa la gente a la que le respondo, y lo que me acabas de decir yo lo he sentido como cuando uno le dices a tu padre "papa, ya se cuidarme solo" y terminas así en las fiestas:

Party_Hard860.jpg
Subir
6
#7 por robinette el 31/08/2012
#2 y #6
Tal vez sean dos de las mejores intervenciones para aclarar dos de los conceptos más básicos en la grabación.
Bien empaquetadito podría irse a un tutorial para principiantes perfectamente.

=D> =D> =D>
Subir
1
--104025--
#8 por --104025-- el 31/08/2012
#2

#6

Concuerdo contigo Robinette.
Esto que ha escrito Harpocrates deberia estar en la página de inicio, como un tratado para principiantes. Con lo único que discrepo es en esto...
harpocrates escribió:
Si no fueran Asio no te serviría para producir musica.


La palabra "producir", que esta tan manoseada que ya no significa nada.
Subir
#9 por Tio Harpo Molon el 31/08/2012
Kamikase ♚♫ escribió:
La palabra "producir", que esta tan manoseada que ya no significa nada.


Si, la verdad ese termino lo descubrí acá en hispa, para mi siempre ha sido hacer música y ya.

No falta el que te dice "yo soy productor" simplemente por que el diccionario lo dice, se lo decía a otro hispasonico en otro hilo, si yo agarro un bisturí y me pongo a filetear gente y a sacarles órganos me podre hacer llamar cirujano? lo mas probable es que me llamen "el psicópata de macul" :desdentado:
Subir
--104025--
#10 por --104025-- el 31/08/2012
Exacto, mejor dicen "yo compongo música", "Yo corto y pego haciendo loops y creo una canción" y simplemente "to compongo"...

Pero Producir? Es algo muy distinto.

Quincy Jones es "Productor".

Un saludo Harpo.
Subir
1
#11 por antoniocraft el 05/09/2012
Hola a todos muy bueno el aporte y queda muy claro lo de latencia y como es que trabaja los driver, los software y el hardware, para dar el mejor desempeño posible, yo les cuento mi caso y tal vez me ayuden yo usaba una tarjeta de audio un poco antigua la cual sus driver no son compatible con Windows 7 64bits , me tuve que actualizar con este nuevo Windows ya que con el xp ya no me soportaba algunos programas como por ejemplo el sibelius 7 y otras cuestiones de compatibilidad.

Ahora estoy en miras de comprarme una buena tarjeta o interface de audio profesional con la intención de tener una mejor plataforma de trabajo, y me simpatizo por el m-audio delta 1010 ya que las tarjetas pci suelen trabajar mejor que con USB o firmware, no sé si estaré en lo cierto. Y bueno las entradas y salidas trabajan con la tecnología DSP y e allí un poco mi duda.

Entiendo por DSP que son procesadores encargados de analizar y calcular las señales de audio digitalmente y obviando el procesador de tu pc mejor dicho no usa ningún recurso de tu pc y lo mejor que te lo entrega el resultado de la señal a tiempo real (no sé si eso será cierto y alcanza el 0 absoluto en latencia o la latencia en tan mínima que ya no es necesario preocuparnos de ella). Un ejemplo practico; si conectas un micrófono, y lo ruteas por los canal de la interfaz delta 1010 y cargas unos vst como Eq, rever, compresores etc. etc. El encargado de hacer todo ese proceso el en Procesador Dsp de tu tarjeta.

Mi primera duda es: ¿cuantos VST es capaz de soportar la tecnología DSP?, Y si tienes sus límites supongo que es mucho mejor que usar una pc con el más potente procesador .

Mi otra duda: yo trabajo mucho con instrumentos virtuales VSTi y estos últimos son muy elaborados y muy pesados ya que te usan mucha ram y tiene muchísimas capas, ¿estos instrumentos también pueden trabajar con DSP?, o es otra la historia ya que observo que los VSTi usan más recursos de la pc. Y esto implica mucha latencia cuando quiero usarlos a tiempo real, en este caso ¿en que medida la tarjeta o interfaz de audio me puede ayudar? ¿O es mejor invertir en una mejor Pc?.

Yo actualmente estoy usando una placa Intel dp 35, un core quad de 4 núcleos 2.40Ghz, 4Gb de ram ddr2, Windows 7 64bit, Como editor y secuenciador uso Sonar x1 producer, en mi caso pues yo uso tanto instrumentos virtuales como también lo uso para grabar instrumentos reales y voz, me gustaría saber si el m audio delta 1010 me va ayudar en mejorar la latencia en instrumentos virtuales en tiempo real. O es mejor comprarme una mejor Pc. Ya que actualmente uso el asio4all 2.11, y es pa jalarse lo pelos, tengo muchos conflictos y el programa o el audio se me cuelga muchas veces. A ver que me aconsejan gracias.

productor

Subir
--115167--
#12 por --115167-- el 05/09/2012
La Delta 1010 tiene sus propios controladores ASIO, al menos la versión LT, no es necesario que uses ASIO4All...
Subir
#13 por antoniocraft el 05/09/2012
Por el momento uso la tarjeta integrada de mi placa, es por eso que uso asio4all, mi prioridad orita es los instrumentos virtuales los vsti en tiempo real, no se que tan buena sea el delta 1010 para esto. o tal ves exista algo mas especialisado, o tal vez nesecito cambiar de Cpu a una mas potente. o es cuestion solo de cambiar por otro secuenciador, esas son mis dudas. y tambien cuales son los limites del DSP.

productor

Subir
--104025--
#14 por --104025-- el 05/09/2012
Vaya, vaya vaya.
Deshabilita la tarjeta integrada.
Si tienes poca RAM no funcionaran correctamente los VSTi's.
Si tienes poca capacidad de proceso el proyecto no andará, una solución para eso es congelar.
Así podrás trabajar correctamente.
Una pregunta: ¿eres productor?

Creo que este consejo es útil para todos quienes están sufriendo con algún DAW, tratando de que suene o tratando de hacer algo que les resulta imposible de solucionar o de comprender:
"Si no tienes mucha idea, nula o poca siempre es mejor dejar que el proceso lo haga alguien que sepa, a malgastar tu tiempo tratando de hacer algo que jamás lograras hacer correctamente."
Subir
--115167--
#15 por --115167-- el 05/09/2012
#13

Es una tontería usar una integrada mientras tienes instalada otra mucho mejor.
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo