Ejemplo de grabación de audio bajo GNU/Linux

Ante la vicisitud de tener que preparar un solo de guitarra que me ronda por la cabeza pero no doy finiquitado, me he puesto al tema y he conseguido el material necesario para ofreceros una extensa entrada sobre el proceso general de realizar una grabación muy simple bajo GNU/Linux.

Ardour3

Cabe decir que no voy a entrar en las complejidades de cada uno de los pasos, pero creo que tendréis material de sobra para invertir media tarde de un fin de semana en poneros a trabajar tranquilamente con esas herramientas de las que os he hablado en los últimos meses. Ya habrá tiempo de profundizar en cada una de ellas, pero aquí tendréis una “breve” introducción a:

  • Instalación y configuración del servidor de conexiones de Audio JACK para una interfaz de audio Firewire.
  • Gestor de conexiones de JACK mediante QjackCTL.
  • Grabación de audio bajo Ardour DAW 3.

Por último, el proceso siguiente no es el más sencillo ni el más complejo, dando preferencia a lo didáctico antes que a lo funcional. Igualmente trabajaré bajo Ardour 3, que se encuentra en estado Beta y con el que podéis experimentar algún “cuelge” momentáneo, así que si esto supone algún problema podéis instalar Ardour 2.8 desde los repositorios, que sigue siendo una mala bestia de la edición multipista. Una vez tengáis estas cosas interiorizadas, el poneros a trabajar con el multipistas os costará unos pocos clicks.

Tristemente, la grabación que he realizado es “secreto de sumario”, así que ya os pondré algún ejemplo grabado con Guitarix en una entrada posterior. Aquí tenéis uno con Guitarix, Qjackctl y Qtractor.

A medida que me adentre en el tema, citaré algunas entradas anteriores que pueden complementar a lo aquí escrito, así que no está de más que le echéis el ojo a los “enlaces azules”.

Previo: JACK, QjackCTL y FFADO

JACK es el software que se encarga de gestionar las conexiones de audio de baja latencia bajo GNU/Linux (ayuda también el utilizar un kernel optimizado conocido como “kernel-realtime” o “kernel-RT”, pero desde la llegada de la versión 3 del kernel ya no es tan importante).

En los repositorios contamos con dos versiones estables, la 1 y la 2, contando cada una con sus pros y sus contras para los más eruditos en este campo. Nada os impide trabajar con una u otra.

QjackCTL es un software que nos proporciona una interfaz gráfica para el funcionamiento y las conexiones de JACK.

Finalmente, FFado es el proyecto que proporciona drivers para hacer funcionar interfaces de audio firewire bajo JACK.

Al instalar Qjackctl se instalará una versión de JACK. En caso de que queramos trabajar con alguna en específico, podemos hacerlo desde la terminal (esta es la forma “difícil”, la fácil -synaptic, centro de software de Ubuntu…- no os la pienso explicar):

  • Para instalar JACK-1 y QjackCTL:
$ sudo apt-get install jackd1 qjackctl
  • Para instalar JACK-2 y QjackCTL:
$ sudo apt-get install jackd2 qjackctl
  • En caso de que vuestra tarjeta de sonido sea Firewire en lugar de interna o USB, podéis instalar jack y ffado de una de estas dos formas:
$ sudo apt-get install jackd1-firewire ffado-tools qjackctl
$ sudo apt-get install jackd2-firewire ffado-tools qjackctl

1. Configurar el servidor de audio JACK

A riesgo de repetirme, y por si no habéis visitado los enlaces superiores, os explico como he configurado “on the fly” mi tarjeta de sonido firewire Behringher FCA202.

Para ello lanzaremos el programa QjackCTL, que nos permite guardar las diferentes configuraciones de nuestros dispositivos de audio.

1-QjackCTL

Pulsaremos el botón “Setup” para configurar el servidor JACK.

2-JACK-Setup

Lo primero será asignarle un nombre al “preset” que vamos a configurar para hacer funcionar esta tarjeta en modo Duplex. Esto es: grabar y reproducir audio a través de ella. Escribimos el nombre que queramos en la casilla y le damos a guardar. Cualquier cambio que hagamos lo actualizaremos al preset pulsando en salvar nuevamente.

Una vez salvado, modifico los siguientes puntos:

  • Driver: Firewire
  • Cuadros por período: 128
  • Frecuencia de muestreo: 44100
  • Períodos por buffer: 3 (es lo normal para interfaces USB)
  • Límite de tiempo: 5000 mseg.
  • Audio: Duplex (voy a grabar y monitorizar con el FCA como único interfaz).

Con esto QjackCTL estima la latencia en unos 8 mseg. (el valor que nos da es aproximado, hay métodos rigurosos para saber cuál es exactamente nuestra latencia). Si JACK experimenta xruns (que pueden provocar cortes de audio), podría cambiar los cuadros por período a 256, duplicándose la latencia pero dándonos aún margen para no notarla al grabar. A partir de 20 mseg deberíamos empezar a preocuparnos. En mi caso, me guardo dos configuraciones: una a 128 a la que llamo “Low Latency” y otra a 256 a la que llamo “Conservadora”. Si tengo problemas en la primera (según lo que le pida a la máquina), me paso a la otra y fiesta.

Un consejo más que habitual es que, para conseguir bajas latencias con pocos xruns, debéis de jugar con los valores de “Cuadros/Período” y “Período/Buffer”.

3-FCA-Conservador

Para dejar QjackCTL a gusto para la próxima vez que lo iniciemos, iremos a la pestaña “Otras” del menú “Setup” y marcaremos las opciones que se acomoden a nuestra forma de trabajar.

4-QjackCTL-Otras

Yo recomiendo principalmente la opción “Habilitar icono en la bandeja del sistema”, mediante la cual accederemos a los menús de QjackCTL haciendo click derecho sobre el icono que presentará en esta misma (ojo, hay un bug con Unity por el cual este menú no se despliega en las últimas versiones), ahorrándonos el tener que buscar la ventana de QjackCTL cuando queramos cambiar cualquier opción o conexión.

Muy bien. Cerramos la ventana de “Setup” y arrancamos JACK en el botón “Iniciar”.

5-JackON

A partir de ahora, tendréis que estar pendientes de los números verdes 0 (0). Aunque no siempre los oigáis, QjackCTL os indicará si tenéis xruns mientras funciona JACK. Preocuparos si crecen como la espuma, pero no si tenéis un par de ellos, porque pueden darse cuando cambiamos entre programas o lanzamos uno bastante pesado (cosas técnicas de darle prioridad a las aplicaciones de audio frente al resto).

2. Realizar las conexiones

En la ventana “Conexiones” de QjackCTL se muestran las entradas y salidas de nuestra tarjeta de sonido, buses de audio de todo el software que funciona bajo JACK y los dispositivos MIDI que podamos tener conectados. En este momento no tengo nada más que la tarjeta, por lo que la ventana me muestra lo siguiente:

6-QjackCTL-Conexiones

Que se corresponden con las entradas L y R de mi tarjeta (dispositivos en la lista de la izquierda) y las salidas L y R de la misma (dispositivos de la lista derecha). Los nombres que figuran vienen del server JACK2. En caso de que uséis JACK1 serán algo más intuitivos. Desde QjackCTL no podemos cambiar estos nombres, pero software como el excelente LADISH (del que ya os hablaré) sí nos lo permiten.

Ahora comprobaré que entra sonido en la tarjeta. Para ello lanzo la utilidad ‘Meterbridge’Automáticamente, aparecerá en la lista de dispositivos de QjackCTL (y si no lo hiciera le daríamos a “Refrescar”).

7-Meterbridge-JACK

Para conectar la entrada de audio a este software, he hecho click sobre ‘firewire_pcm’ y lo he arrastrado hasta ‘bridge-3412’. Ahora toco la guitarra y Meterbridge me mostrará que está entrando audio por mi canal izquierdo, que es donde la tengo conectada.

8-Meterbridge

Muy bien, ahora ya puedo abrir todo el software necesario para grabar mi solo.

3. Software de grabación / edición

Como consejo previo ante la avalancha de aplicaciones que vamos a manejar, recordad que la combinación de teclas ‘Super+W ‘ nos permite, en Ubuntu, ver todas las ventanas abiertas rápidamente y acceder a ellas con un click (‘Alt + tab’ puede ser muy engorroso con muchas ventanas abiertas).

9-WindowsW

Principalmente, uso tres programas (todos disponibles en la mayoría de los repositorios):

  • Guitarix: amplificador software para guitarra/bajo.
  • Ardour: DAW multipistas.
  • Rezound (o Audacity): editores de audio sencillos que, más en concreto, uso aquí para convertir mp3 a wav (o viceversa si se diera la necesidad). No me pararé en estos dos programas ya que el proceso para convertir audio es trivial.

Una vez lanzado Guitarix, el preset “HighGainSolo” de JP es excelente para una guitarra solista.

10-Guitarix

Para grabar voy a usar Ardour 3 beta, que es un software completo pero, a la vez, bastante complejo. Si estáis demasiado “bisoños” en el tema es preferible que uséis Audacity, por ejemplo. Igualmente, si queréis estabilidad os vuelvo a recomendar Ardour 2.8.

11-ArdourBeta

Si lanzáis Ardour sin haber iniciado JACK antes, él lo levantará, pero tened cuidado en configurar la “frecuencia de muestreo” en las opciones de la sesión para que no pueda llegar a pelearse con la de JACK.

Este es el aspecto de Ardour recién abierto. Como véis, en la parte superior derecha nos muestra el estado del servidor JACK. Principalmente deberíais estar atentos al valor del DSP, que es la carga sobre el procesador.

12-Ardour

Voy a configurar el tempo del tema a 160bpm (haciendo click derecho sobre la marca de color rojo que lo indica). Posteriormente, importaré el archivo WAV sobre el que voy a grabar en el menú ‘Sessión/Import’, creando Ardour automáticamente una pista para el archivo importado.

13-Import

Seguramente ahora haya un auténtico “cristo” de conexiones en QjackCTL. Estas se crean por defecto en caso de programas como Ardour y son las suficientes para empezar a trabajar. Si queremos hacer algo más especial habrá que cambiarlas. Para los fines didácticos de esta entrada, desconectaré todo y lo conectaré a mi gusto.

4. Conexiones a Go-Gó

14-Conexiones

Yo no necesito todo eso, y lo primero que voy a hacer es cerrar ‘Meterbridge’ (el cual no necesito al usar Guitarix).

Lo primero, ya que voy a “recablear todo”, es crear las pistas que voy a utilizar en Ardour.

Grabaré el solo en dos tomas separadas, como mínimo, para poder repetir las partes complejas en el caso seguro de que las falle. Asimismo, si el solo quedara bien grabado sería enviado posteriormente al estudio de “mi productor” para que lo monte en el proyecto original, lo haga sonar mediante un plugin de guitarra y lo mezcle. Por esto mismo, grabaré las dos pistas procesadas por Guitarix (para sentirme cómodo mientras toco y que la guitarra suene como yo quiero), pero también grabaré esas mismas tomas en otras dos pistas con la guitarra totalmente limpia, tal como llega a la tarjeta de sonido. De esta forma, el esquema será el siguiente:

  • Base: wav original del tema sobre el que voy a tocar.
  • Solo 1: pista ESTÉREO (o mono) para la primera toma del solo, procesada por guitarix.
  • Gtr1: pista MONO para la primera toma del solo, con la guitarra sin procesar.
  • Solo 2: pista ESTÉREO (o mono) para la segunda toma del solo, procesada por guitarix.
  • Gtr2: pista MONO para la segunda toma del solo, con la guitarra sin procesar.

Para crear una pista en Ardour basta con hacer click derecho en la región izquierda del programa, mostrándonos un menú de creación de pista. Si añado las pistas Solo1/Gtr1 y Solo2/Gtr2 a un grupo, marcando la casilla “Sharing Record”, se activará el conmutador de grabación de las pistas incluidas en el grupo cuando pinche en uno de ellos. De todas formas, las propiedades de cada grupo se pueden modificar posteriormente desde la ventana de “Windows/Show Editor List”.

14-Grupos

Ahora ya podemos pararnos en las conexiones de JACK. Puntualizar que, cuando hacemos click sobre cualquier entrada/salida, QjackCTL indica en color azul los dispositivos a los que está conectada la entrada/salida/software/hardware seleccionados. Si arrastramos entre dos dispositivos que queramos conectar, también realiza varias conexiones simultáneas. La mejor forma de aprenderlo es experimentando. Os resumo mis conexiones más importantes.

15-Left channel

1. Conecto la entrada MONO izquierda de mi tarjeta a:

  • Entrada de la pista “Gtr1”.
  • Entrada de la pista “Gtr2”.
  • Entrada de Guitarix.
16-Guitarix Out

2. Conecto la salida ESTÉREO de Guitarix a:

  • Entradas de la pista “Solo1”.
  • Entradas de la pista “Solo2”.
  • Salidas de la tarjeta.
17-Ardour

3. Conecto el grupo de Dispositivos/pistas ARDOUR a la salida de la tarjeta. Con esto comprobaréis la mediana inteligencia de JACK y el software empleado para realizar las conexiones pertinentes.

Si os liáis con las conexiones de JACK, siempre podéis usar software como Patchage, que nos permite visualizarlas mejor.

Patchage

Gestor de Conexiones/patchbay de JACK 'Patchage'

5. Grabando audio en Ardour 3

Como consejo frente a Ardour, las opciones de edición varian según nos movamos entre los modos “Edición/Selección de objetos” o “Edición/Selección de rangos”. Conmutamos entre estos dos modos con los siguientes botones:

Excepto la creación del “loop”, todo lo aquí referido se ejecuta en el primer modo de ellos (icono del dedo): “Selección/Edición de objetos”.

Lo primero será aprender a insertar marcas de localización. Si pulsamos el 0 numérico iremos al tiempo 0, y con “Inicio” y “Fin” iremos a las marcas Start y End. Para añadir marcas, hacemos click derecho en la barra de localización. A la primera marca iré pulsando 1 y a la segunda pulsando 2, y así respectivamente.

Marcas de localización

Para reproducir en bucle, pulsamos el botón de selección de rango, seleccionamos el rango que queramos reproducir en buble y hacemos click derecho, seleccionando “rango de bucle”. Se crearán de esta forma las marcas en la barra de transporte y este será reproducido una y otra vez.

Reproducción en bucle

Como en cualquier DAW, para grabar “armaremos” la pista donde vamos a hacerlo pulsando su correspondiente botón de “Rec”. Acto seguido pulsaremos el botón de grabación de la barra de transporte (o pulsamos ‘Shift + r’) y, mediante “Play” (o barra espaciadora) empezaremos a grabar.

Una vez grabado un fragmento de audio, lo primero que deberíamos hacer es “normalizar” el nivel de este. Ardour no se aleja de los DAWs más conocidos, así que hacemos click derecho en el clip de audio y vamos al menú ‘clip de audio>ganancia>normalizar’.

Ardour-Normalizar

También al estilo generalizado de todos los DAWs, podemos hacer fundidos de entrada y salida arrastrando las esquinas de los clips de audio, siempre que estemos en el modo “Edición/Selección de objetos”.

Ardour Fade

Del mismo modo, si en vez de las esquinas arrastramos uno de los lados del clip de audio, ocultaremos el audio que recortemos (pudiendo recuperarlo si volvemos a estirar el clip).

Ya para acabar, podemos combinar diferentes clips de audio en la misma pista para que se conviertan en uno solo (siempre podemos descombinarlos con el mismo proceso). Esto puede ser útil, entre otras cosas, para normalizar en un mismo proceso fragmentos de audio que se encuentren en la misma pista.

Ardour-Combine

Por hoy ya hemos tenido suficiente. He descartado el “pinchazo” porque esta entrada no trata estrictamente sobre Ardour, así que ya lo veremos cuando hablemos en profundidad sobre este software. Con lo aquí explicado ya podéis poneros a trastear con el multipistas, grabar vuestras ideas y daros cuenta, cuando lo escuchéis detenidamente, de que os queda mucho que mejorar para que ese “boceto” pase a pieza musical.

En el menú “Sessión>Export” podremos exportar nuestro trabajo a un único archivo o a un archivo por cada pista de audio (entre otras opciones).

Anuncios

Acerca de Gaius Baltar
Aficionado a la tecnología informática desde que un MSX pasó por casa y apasionado defensor del Software Libre como religión para unir a los pueblos. Es Gaius Baltar al fin y al cabo, y tiene derecho a equivocarse. Cuando se aburre, redacta y gestiona los contenidos en diversos blogs subculturales.

7 Responses to Ejemplo de grabación de audio bajo GNU/Linux

  1. Pablo says:

    ¡Muy bueno!

    Sólo una puntualización: Yo creo que es mucho más cómodo y rápido realizar las conexiones desde el propio ardour, en la ventana del mezclador.

    Es con qjackctl es un poco rollo y no es tan intuitivo. A mí también me parece que patchage es más bonito y más fácil para ver y realizar las conexiones de audio y MIDI.

    Saludos cordiales, Pablo

    • Gaius Baltar says:

      ¡Gracias por aportar, Pablo! (Siempre estás ahí 😉 )

      Estoy de acuerdo en lo de realizar las conexiones bajo Ardour (y sobre todo con él, todo lo que he tocado ha sido ya en el 3, no sé si en el 2.8 es tan intuitivo, pero es una pasada lo bien que va), pero como la gente no siempre utiliza Ardour, preferí hablar de qjackctl para seguir un orden lógico 😉

  2. Pingback: Poder Gráfico vs Baja Latencia « El chalé de Gaius Baltar

  3. Pingback: Conexiones de JACK Audio Connection Kit mediante Ladish « El chalé de Gaius Baltar

  4. Pingback: Grabando “a fuego” bajo Ardour 2.8 « El chalé de Gaius Baltar

  5. Gracias a tu página he podido grabar en linux, muchas gracias por toda la información

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: