sábado, 17 de enero de 2009

Sonido en Ubuntu Studio

Hace poco me instalé, en una partición libre de mi ordenador de sobremesa, la versión para músicos de Ubuntu: Ubuntu Studio. Su liberación pública fue anunciada oficialmente, a finales de octubre de 2008, pero no lo he instalado antes porque me he llevado chascos en versiones anteriores. Pero con Ubuntu Studio, basada en Intrepid Ibex, he conseguido, por fin, que el sonido funcione para lo que yo quiero: producir música por ordenador sin Windows.

Configuraremos el sonido para tal propósito, como dije al final de la instalación de Intrepid Ibex, y en una próxima entrega, conseguiremos hacer sonar Muse Score, el magnífico editor de partituras del que os hablé en su momento.

Voy a obviar el proceso de instalación de Ubuntu Studio. Aunque la instalación es en un entorno de texto, es muy similar a la de Intrepid Ibex, así que podéis consultar aquí dicho proceso.

Quienes estén interesados, aquí dejo un enlace para la página de descargas de Ubuntu Studio Intrepid Ibex. Además de las imágenes ISO de DVD, hay archivos de BitTorrent, para quienes preferís descargar con ese protocolo.

Tened muy en cuenta la arquitectura del ordenador donde lo instalaréis. Para una gran parte de las máquinas de escritorio valdrá la imagen que acaba en i386. Para los ordenadores basados en AMD64 y similares, hay una imagen de DVD propia. En mi caso concreto, lo instalé en mi AMD64.

Bueno, lo primero que hay que hacer para usar el sonido con fines semiprofesionales o profesionales, es entrar en la configuración del audio en Ubuntu:

Como siempre, puedes ver las imágenes en tamaño real pinchando en ellas. En Sistema/Preferencias/Sonido, te saldrá ésto:

Mi tarjeta de sonido es una Creative Sound Blaster Live! USB. Pero selecciono la opción ALSA - Advanced Linux Sound Architecture. Enseguida enteremos por qué he hecho ésto, en lugar de seleccionar mi tarjeta directamente. Ahora, vía menú, abrimos Jack:

¿Qué es Jack? Para los que entendéis de audio en Windows, es como si unierais lo mejor de ASIO con un ReWire mejorado. Me explico: por un lado, es un driver de baja latencia, pero también centraliza los flujos de audio y MIDI dentro de Linux.


Además, puedes reproducir, de manera sincronizada, varias aplicaciones de audio a la vez, como harías con ReWire, pero completamente centralizado en Jack. Enseguida veremos como funciona y lo entenderéis mejor.

Pero antes, vamos a hacer unos retoques a su configuración por defecto:

En esta imagen estamos asignando las entradas y salidas de audio a la tarjeta de sonido. Hay que comprobar este dato antes de arrancar Jack. Cada vez que inicia Ubuntu, asigna puertos a los diferentes dispositivos de audio conectados al PC. A veces me asigna como salida de audio mi teclado MIDI, en tal caso, no va a funcionar.

Si os fijáis más arriba, donde pone driver, está seleccionado ALSA. Por eso elegí esa opción en la configuración de sonido del sistema: Jack se servirá de mi tarjeta de sonido vía ALSA.

Guardamos con OK, y nos disponemos a arrancar Jack. Con arrancar, me refiero a poner en marcha el motor interno del programa. Hasta ahora sólo tenemos su interfaz gráfica abierta. Para arrancar, le damos al Play grande:


En este punto, recomiendo que cerréis el navegador de internet, o que cerréis pestañas o ventanas dentro de él, y cualquier programa pesado para la CPU y la RAM. De lo contrario, Jack no arrancará. Una vez tomadas dichas precauciones, arrancamos, y como en un coche viejo, tras unos segundos de suspense...

Starting... Pueden ser uno o dos segundos, pero se hacen eternos :P .


¡Jack ha arrancado! Si no lo hiciera, sabed que es, bien porque hay mucha carga en el ordenador en ese momento, bien porque no está correctamente configurado.

Ahora que hemos logrado hacer funcionar Jack, vamos a jugar un poco. Elijo el sinte ZynAddSubFX:


A continuación abrimos el panel de conexiones de Jack. Está en el botón Connect:

ZynAddSubFX se conecta por defecto a la salida principal de audio, pero al tocar con el teclado, no suena nada. Habrá que comprobar la conexión MIDI. La encontraremos en la pestaña ALSA:


Efectivamente, el teclado estaba sin conectar. Ésto se consigue arrastrando desde el nombre del teclado a la entrada MIDI del sinte. También se puede hacer seleccionando entrada y salida, y luego darle al botón connect.

Llegó la hora de la verdad, pruebo a tocar unas notas y...


¡Está sonando! Vale, vosotros no lo podéis oír ahora, pero podéis ver la barra azul que indica que el instrumento está generando sonido. Es un sonido de lo más soso, porque es el sonido por defecto, pero hay unos excelentes presets para empezar.

Aún no estoy en disposición de producir música. Aún tengo que aprender a utilizar los secuenciadores que se incluyen en el paquete como Ardour, Muse... Rosegarden no venía en el DVD preinstalado, lo digo por si esperáis encontrarlo. Lo tuve que descargar de aquí por separado.

Por cierto, os dejo un enlace donde encontraréis otros enlaces a páginas de software para GNU/Linux.

En la próxima entrega, cómo hice sonar MuseScore en Ubuntu Studio.

12 comentarios:

  1. Excelente Jose. Este es un proyecto que tengo para en mi blog desde el principio, pero no he podido realizarlo, que bueno que lo haces vos. adelante.

    ResponderEliminar
  2. Excelente reseña! muy bien explicada y el incluir imagenes resulta genial.

    Entonces... Jack utiliza muchos recursos de procesado?

    Cada vez que arrancas el ubuntu hay que configurar salidas y entradas del hardware de audio?

    Saludos José!

    ResponderEliminar
  3. Kaux, todo es cuestión de ponerse, aunque si algún día te decides a probar Ubuntu o cualquier distro de GNU/Linux, a no ser que tengas la suerte de que te reconozca a la primera todo el hardware, tienes un trabajo enorme por delante. Por eso he tardado tanto en publicar algo así, tengo que asegurarme que funciona antes de hacerlo, para ser coherente con mis objetivos.

    Ánimo y a continuar adelante (tú sabes por qué lo digo).

    Mijel: Jack no utiliza especialmente muchos recursos de procesado en principio, pero por la experiencia que tengo, si hay programas abiertos que demandan CPU, Jack no arranca, supongo que para asegurarse margen una vez iniciado. Tocando el sinte del ejemplo rondaba un 3% de uso de CPU, aproximadamente, sin oírse clics en ningún momento y sin nada de latencia, al menos para mi gusto (y soy muy exigente en el tema de la latencia).

    En cuanto a lo de configurar salidas cada vez que inicia Ubuntu, sólo me refiero a la configuración de Jack. Hay algo de aleatorio en el proceso. Hay veces que intento arrancar Jack, no me deja, y es porque automáticamente se ha asignado como dispositivo de audio al teclado. Pero sólo es cambiar ésto manualmente y ya está, y tampoco pasa todas las veces.

    Muchas gracias a los dos por vuestros comentarios. Valoro muy especialmente vuestras opiniones y planteamientos de dudas en este tipo de entradas.

    ResponderEliminar
  4. mare mia :S
    Esto es más complicado que el código html jajajjaa

    Pero si lo que hice ayer era casi todo copiar y pegar!!! bueno... dedicarle mucho rato con las etiquetas eso si >< pero ya sabes: Situación actual personal + descansos + días sola= Bajón importante. Asi que es preferible no pensarlo mucho que llorando no se va a arreglar... y pues me entretengo con lo que pillo... y así así me fui metiendo en toda la plantila ja ja ja (pobre európides mira que si se la rompo :$) Un besote!

    ResponderEliminar
  5. Pues mira, Uve: a mi los códigos se me atragantan, pero los programas para producir música me encantan, aunque a veces me saquen de quicio...

    Tú guarda siempre copia de seguridad antes de hacer nada. ¡Ah! Y si algún día quiero hacer un cambio radical al diseño de este bog, ya sé a quién recurrir ;)

    Otro besote!

    ResponderEliminar
  6. Hola, no uso ubuntu studio, uso el Ubuntu Intrepid Ibex AMD64 y con Mixxx los efectos de compiz lo alteran en el Waveform. Ocurre lo mismo en Ubuntu Studio

    ResponderEliminar
  7. Hola, Irwin:

    No te puedo contestar con propiedad a esta pregunta. El motivo es que no he conseguido activar los efectos visuales de Compiz en Ubuntu Studio en mi amd64, y creo que es un tema de drivers de la gráfica.

    Como tampoco es una cosa que la necesite, no me lo he mirado, pero dentro de poco instalaré la última versión de Ubuntu en el portátil, y seguramente también en una partición libre del amd. Si quieres, instalo compiz, pruebo Mixxx y te cuento.

    De momento, te queda la solución temporal de desactivar los efectos visuales mientras pinchas con Mixxx, para poder visualizar correctamente las formas de onda para sincronizarlas... O sincronizar las canciones de oído con unos cascos, si tu tarjeta de sonido lo soporta.

    Yo lo intenté con la mía una vez y me salió bien.

    Por cierto, gran programa para pinchar.

    Saludos, Irwin :H

    ResponderEliminar
  8. Hola José,

    En el setup de jack, campo interfaz, puedes escribir el código alfanumérico de identificación de tu tarjeta, en lugar del número que, como has observado, puede cambiar en diferentes arranques del ordenador. Esta identificación es la que aparece entre corchetes en la salida del comando "cat /proc/asound/cards". Supón que pone [Tarjeta ]. Entonces pones en el campo de interfaz hw:Tarjeta
    Ejemplos:
    hw:M2496
    hw:Intel

    También hay formas de conseguir que los números de tarjeta no cambien nunca editando un archivo de configuración de alsa pero lo explicado arriba es lo más limpio, sencillo e infalible.

    Esto es importante porque es un problema muy común y es motivo de desesperación y frustración. ¿Y ahora por qué no funciona jack? Hasta que te das cuenta de que el hw:0 ya no es lo que era antes, a cambiarlo... Y luego el rollo de tener que comprobar cada vez por que sabes que cuando menos lo piensas se van a cambiar otra vez los números de tarjeta... No más rollo con el truco de arriba.

    Otra cosa que te voy a corregir si no te importa, con todo mi agradecimiento y admiración por el gran trabajo que haces: Jack pasa olímpicamente de cualquier cosa que selecciones en el applet de sonido de gnome. No es necesario abrirlo.

    Saludos, Pablo

    ResponderEliminar
  9. Muy buena aportación, Pablo. No conocía ese truco.

    En mi caso, la salida de la línea de comandos me da esto:

    cat /proc/asound/cards
    0 [Xboard49 ]: USB-Audio - E-MU Xboard49
    E-MU Systems, Inc. E-MU Xboard49 at usb-0000:00:13.1-2, full speed
    1 [External ]: USB-Audio - SB Live! 24-bit External
    Creative Technology SB Live! 24-bit External at usb-0000:00:13.1-1, full speed
    2 [Track ]: USB-Audio - Fast Track
    M-Audio Fast Track at usb-0000:00:13.2-1, full speed


    Está claro que si quiero que solo funcione la Fast Track, tengo que poner hw:Track. Eso estoy haciendo, y sin problemas. Ahora ya sé que va a funcionar siempre Jack con la Fast Track, aunque conecte o desconecte dispositivos.

    En cuanto al gestor de sonido de Gnome, estoy completamente de acuerdo contigo. Si tienes bien configurado Jack, ese paso sobra. Lo que pasa es que alguien puede tener mi mismo caso: portátil, con tarjeta interna, al que le enchufa una externa. Para tener el control del sonido todo por la externa, prefiero hacerlo así.

    Más que nada para no volverme loco, como me ha pasado, bajando el volumen (o subiendolo) desde el icono del altavoz, y que no pase nada. Por ejemplo, si quiero ver un video en YouTube.

    En una sola frase: asegurarme que todo el sonido del sistema pase por la misma tarjeta. No sé si me he explicado bien.

    Un saludo y gracias por ese magnífico truco que no conocía de Jack. :)

    ResponderEliminar
  10. Hola, muy buen aporte, voy entrando al mundo de Ubuntu, mi pregunta es: ¿podrías hacer algo similar a esto pero para usar Guitar Rig 5? Por más que busco no encuentro como, logré hacerlo sonar pero aún teniendo un preset de guitarra limpio, suena como si tuviera Overdrive o distor, te agradecería muchísimo, si te es posible avisarme te dejo mi correo: lopezsaucedoguillermo@gmail.com
    De antemano muchas gracias.

    ResponderEliminar
  11. No sé si mi anterior comentario se quedó, me gustaría saber si puedes hacer esto mismo pero con guitar Rig 5, ya logré que suene la guitarra pero aún usando un preset limpio suena como si tuviera Overdrive o distor te agradecería muchísimo.si te es posible avisarme te dejo mi correo es
    lopezsaucedoguillermo@gmail.com
    De antemano muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola, Guillermo. Se quedaron ambos comentarios grabados. Lo que pasa es que tengo tiempo parado el blog y los tengo bajo moderación previa para evitar sorpresas desagradables y spam.

      Te voy a ser sincero y directo: si no puedes vivir sin Guitar Rig 5, lo mejor es que sigas usando Windows si puedes y te evitarás líos y pérdida de tiempo, que podrás emplear en lo que importa, que es en componer y grabar la música.

      Me pasé demasiados años tratando de hacer funcionar cosas de Windows en Ubuntu (Linux Mint 18 en la actualidad), y en el mejor de los casos, lograba hacer funcionar el programa o plugin de turno, pero con alguna "pega" (inestabilidad, algún defecto en el sonido, como tu saturación involuntaria, por ejemplo, defectos gráficos o con las fuentes, entre otras muchas...)

      Así que a día de hoy me las arreglo con software nativo: Ardour como DAW, Hydrogen para mis baterías, Guitarix si preciso de amplificador y efectos de guitarra (aunque me hice con un Pod de segunda mano, y creo que es lo que usaré en mi próximo álbum o EP guitarrero), unos pocos plugins LV2 que sé que funcionan bien, y a producir sin dolores de cabeza.

      Si aún insistes en tu odisea, como no especificas cómo has hecho sonar Guitar Rig, te digo varias soluciones, aunque te advierto que ninguna va a ser perfecta al 100%... O tal vez sí, si tienes suerte:

      -PlayonLinux: es una especie de "máquina virtual" en la que dispones de varias versiones de Wine disponibles para instalar software de Windows.
      -Festige: es un adaptador de VST de Windows a programa autónomo para GNU/Linux. Metes ahí tu plugin, y con Jack lo conectas donde te interese.
      -Carla: es un completo entorno para manejar plugins nativos de Linux, aunque la versión git de KXStudio (repositorios muy recomendables, búscalos en Google) es capaz de cargar plugins VST para Windows de 32 y 64 bits.
      -Como algo desesperado, podrías intentar cargar Guitar Rig en Reaper (lo puedes instalar con Wine, tiene cierto soporte para ello) o tal vez en LMMS.

      Si después de probar con todo esto, aún te suena mal Guitar Rig, comprueba que tu entrada de guitarra no esté saturando, y si aún así persiste... No digas que no te avisé :-D

      Saludos y gracias por el comentario doble.

      PD: no me parece buena idea poner en público tu correo electrónico. Lamentablemente no puedo editar los comentarios.

      Eliminar

IMPORTANTE: los comentarios en este blog están cerrados por tiempo indefinido.

No hay normas especiales para publicar comentarios en este blog. Sólo las básicas: respeta, no insultes, y no hagas SPAM descaradamente. Tampoco se admitirán comentarios que vulneren la Ley. Cualquier aportación, consulta y crítica es bienvenida, a condición de cumplir estas normas básicas.

Si lo que quieres es ponerte en contacto directamente conmigo, dispones para ello de un formulario de contacto.

Nota: solo los miembros de este blog pueden publicar comentarios.