sábado, 6 de noviembre de 2010

Qué NO hacer para que funcione jack (y otros pensamientos)

Qué no hacer para que funcione Jack


1. Pensar que el modo realtime de jack y el kernel realtime están relacionados.

2. Elegir un valor de cuadros de periodo excesivamente bajo.

3. Volverse loco con el valor de periodos por buffer.

4. Echarle las culpas de todo, especialmente cuando tratamos de tener audio a través de jack en programas no jack-friendly.

5. Elegir una configuración muy exigente para después lanzar programas a los que no haces ningún favor con estas exigencias, poniendo velas al diablo en lugar de actuar con prudencia.

A mayor latencia mejor respuesta gráfica, entre otras cosas.

Muchas cosas de la vida son similares a la termodinámica: Todo cuesta energía y todo tiene su sitio y su momento y hay que intentar ver las cosas en la escala espacio-temporal adecuada. Por eso muchas veces intentas buscar algo y no lo encuentras. La causa puede ser una de dos, o bien no aportas la suficiente "energía que cuesta" (en forma de trabajo) o bien estás violando la segunda ley, deseando imposibles.

Lo malo es que la frontera entre las dos situaciones es difícil de observar desde dentro de uno mismo y en general es más estrecha y estricta de lo que pensamos al principio, aunque esto sólo lo ves cuando empiezas a envejecer. Entonces es posible que te hagas más consciente de tus limitaciones y no le des tanta importancia si algo te sale mal.

Las cosas van a mejor pero con sus altibajos y sobretodo, con sus enemigos. Y creo que ahora es una época de un bajón en la ilusión de mejorar, lo veo en mí y lo veo a mi alrededor, por culpa de... bueno la culpa está en todas partes, sólo que a algunos nos dan rabia algunas cosas y a otros les parece mal otras y sobretodo, no miramos demasiado hacia dentro. Una vez tenía un jefe que me caía mal hasta que un día me dijo "Pablo, a todos nos gustan más o menos las mismas cosas". Entonces me hizo pensar y consiguió lo que quería, que tuviera un poco de más confianza con él, porque la confianza es la base más importante del trabajo en equipo. Yo no sabía ceder en mi forma de ver las cosas y no quería comprender algunos comportamientos que simplemente no me gustaban. No es que desde ese día me guste la prepotencia y la estupidez pero me doy cuenta de que todos somos humanos.

También, hablar con personas mayores y con niños es muy educativo y nos ayuda a conocernos a nosotros mismos. De todas maneras, si alguien te dice alguna vez que eres un viejo, respóndele: "Yo no soy viejo, lo que ocurre es que he nacido antes que tú".

La próxima entrada irá sobre la configuración de jack pero me está llevando mucho tiempo. Siento ser tan repetitivo y escribir tan poco últimamente de las cosas que importan al que empieza con la música en Linux. No es un camino de rosas pero hay información disponible para empezar al menos.

Eso sí, cada uno/a debe hacer lo que crea mejor y usar las herramientas que mejor le parezcan. Yo aquí intento ayudar en el lado linuxero.

Si encuentro alguien con un Windows me dará corte pedirle que me deje trastear con jack2 pero esta es una prueba que tengo pendiente hacer:

Lanzar un secuenciador midi en un ordenador con linux (A), transmitir el midi a través de una red cableada local a un ordenador con Windows XP (B) en el que tenemos un sampler o un instrumento virtual, de forma que el secuenciador del ordenador A lo haga sonar y, finalmente, transmitir el audio de salida del sampler de vuelta por el cable de red al ordenador A, en el cual está conectada la tarjeta de audio buena por la que suena el sampler sin latencia aparente.

Sé que se puede hacer y estoy deseando probarlo. A ver si alguien se adelanta y nos cuenta algo, porque por aquí estoy sin ventanas.

Saludos y que lo paséis bien estos días.

Ah, gracias a Luis Garrido por su post en hispasonic sobre los kernels, los cajeros y los clientes que están en la cola del supermercado. Por fin lo he entendido, creo.

11 comentarios:

  1. Saludos amigo Pablo, me has dejado gratamente sorprendido.Adiós a la culpa.En cuanto a la prueba si puedo ayudarte en algo no tienes más que pedirlo.
    Te serviría ordenadores conectados via wifi?
    Un abrazo.
    Xavi

    ResponderEliminar
  2. Por cierto, amigo Pablo, te he dedicado uno de los talleres que he realizado hace poco. Conectar solfege via jack es cosa tuya.
    Ese taller te lo debo a ti.
    Un saludo.

    ResponderEliminar
  3. Es interesante ese experimento que planteas. Con mi equipo es posible intentarlo. Ambos ordenadores tienen particiones con Ventanas XP y Ubuntu. Lo que no soy capaz de ver es cómo hacer las conexiones físicas. ¿Wifi como dice Igny? ¿Cables MIDI de toda la vida? ¿Conexiones Ethernet? La verdad es que ni idea.

    De todas formas, aunque como experimento es viable, a pesar de que yo no sepa cómo, no me parece demasiado práctico, a no ser porque sea imposible hacer funcionar la aplicación ventanera a través de un sistema WINE-ASIO. En ese caso tendría una razón de ser.

    En cuanto a los cinco puntos iniciales, los tres centrales los tenía claros, el primero me convenciste en mi propio blog hace poco, y el último viene a ser un poco el mismo problema que muchos tienen en Ventanas: tratar de hacer funcionar siempre a la menor latencia posible... Cuando tal vez sea innecesario y hasta contraproducente.

    Yo lo que hago -independientemente del sistema operativo- es rebajar la latencia cuando quiero grabar en tiempo real algún efecto de guitarra o bajo -Rakarrack, Vandall, Amplitube, etc-, pero a la hora de mezclar y de masterizar, la latencia la subo al máximo, en favor de una mayor estabilidad del sistema.

    Te noto un tanto desanimado en algunas lineas, así que desde aquí te mando un fuerte abrazo y un capazo de ánimos para ti.

    ResponderEliminar
  4. Saludos José, yo tampoco lo he probado nunca pero en un artículo del future music del mes pasado creo comentaban como conectar un par de macs via wifi para aprovechar el midi, y no parecía muy difícil de llevar a cabo.
    Un saludo y ánimos para Pablo.

    ResponderEliminar
  5. Hola a los dos, gracias por vuestros comentarios y por la dedicatoria!
    Se podría intentar vía wifi, pero va a ser más seguro con una red cableada. Para transmitir midi solamente no hace falta netjack, se puede usar qmidinet (http://qmidinet.sourceforge.net/qmidinet-index.html). Mi idea es usar jack en ambos ordenadores, uno como maestro (el que tiene la tarjeta de audio buena) donde se lanza jack normalmente, y otro como esclavo con el driver net. Lo he probado con varios Linux y más o menos funcionó, pero intentamos conectar demasiados ordenadores a la vez y la red no respondía bien. Salió bien a medias. Voy a subir la presentación a ubuntuone, pondré el link.
    El caso es que en teoría se puede hacer también con Windows y parece que en la práctica también según he leido un par de casos, ya que jack2 (versión estable 1.9.6 a día de hoy) se puede instalar en Windows.

    Es una opción, puede ser práctico en algunos casos.

    No estoy desanimado... sólo que a veces me da por escribir lo primero que se me ocurre. La próxima entrada va a ser bastante larga y llevo meses preparándola, aunque no aportaré nada demasiado nuevo, pero en fin, mejor redundancia que ausencia. Esto es un saco sin fondo y nunca dejas de descubrir cosas nuevas... ¡Saludos!

    ResponderEliminar
  6. Lo mas curioso en ti, Pablo, es como puedes llegar a vincular lo más público de la red con los más interiores pensamientos. ;)
    Te he hecho un pequeño homenaje en mi blog
    http://jotasinerre.blogspot.com/2010/11/semicorchux-la-salvacion.html

    Bueno, creo que es lo mínimo que puedo hacer por un tipo tan especial como tú.

    ResponderEliminar
  7. Me suscribo a anònimo:

    "un tipo tan especial como tú".

    Nunca mejor dicho.

    ResponderEliminar
  8. Gracias! Os he agregado a los dos al bogroll. Qué menos, no?

    He subido a ubuntuone la presentación que hice sobre netjack2. No es una maravilla pero es de lo poco que se puede encontrar sobre netjack en castellano. Y tiene buenos links en la parte de créditos. Desde terminal se descarga a la carpeta personal con:

    wget http://www.ubuntuone.com/p/Qo6/ -O presentacion-netjack2

    Desde el navegador: http://www.ubuntuone.com/p/Qo6/

    Saludos, Pablo

    ResponderEliminar
  9. Gracias a ti estimado compañero.

    Salut

    ResponderEliminar
  10. Por cierto, estupenda presentación. Todo un nivelazo Pablo.

    ResponderEliminar
  11. Hola Paulix
    me uno a tu pléyade de seguidores insobornables. Sobre lo de la red, lo más fácil sería por ethernet, claro. La típica latencia de ethernet está por debajo de 1ms.
    Salu2, jfbus

    ResponderEliminar