tidal

Actualización 2017: Escribí un post con una nueva versión de Tidal, puedes verla aquí

No, no me refiero a la plataforma de música en streaming de pago, propiedad de Jay Z y que presentó con toda la parafernalia americana un montón de músicos de renombre, con Beyoncé, Rihanna, Kanye West o Madonna a la cabeza.

Tidal es un lenguaje de programación creado por Alex McLean para la improvisación musical en directo, que utiliza el lenguaje Haskell. La forma de programar en Tidal es más flexible que Sonic Pi y SuperCollider, ya que utiliza patrones para generar secuencias que al combinarse producen patrones complejos. Con muy pocas líneas consigues un sonido más complejo que los mencionados.

Aún no lo he probado mucho, algunos tutoriales, pero se nota que esta creado pensando en la programación en vivo. Programar en Sonic Pi o SuperCollider, sobretodo en el caso del último, es bastante más tedioso. Para hacer una canción más o menos compleja tienes que picar bastante código. Que no quiere decir que no sean bueno programas. Cada uno tiene cosas buenas. Sonic Pi es perfecto para aprender a programar música e incluso aprender algo de Teoria musical. Supercollider, en cambio, puede sintetizar sonidos.

Instalación

Vamos a por la instalación. Tidal no produce sonido por si mismo, usa un conjunto de samples, dirt, que sintetizan el sonido, junto con el servidor de audio jack, a través de los protocolos Open Sound Control o MIDI. Así que primero vamos a instalarlo.

Instalar Dirt

Toda el proceso de instalación que sigue es para usuarios de Debian, Ubuntu y derivados, para otras distros mirad la explicación en la página de github de la aplicación. Vamos primero a instalar las librerias y paquetes necesarios (como git, para descargar paquetes de github):

sudo apt-get install build-essential libsndfile1-dev libsamplerate0-dev liblo-dev libjack-jackd2-dev qjackctl jackd git

Luego, descargamos dirt mediante git:

git clone --recursive https://github.com/tidalcycles/Dirt.git

Entramos en la carpeta donde se ha “instalado” el conjunto de samples:

cd Dirt

preparamos la instalación:

make clean

e instalamos:

make

Instalar Tidal

Tidal usa el lenguaje de programación Haskell, así que primero tenemos que instalar algunas librerias y el interprete de haskell:

sudo apt-get install ghc zlib1g-dev cabal-install

Una vez tenemos instalados los paquetes necesarios, podemos instalar Tidal. Primero, actualizamos la base de datos propia de las librerías de Haskell:

cabal update

y luego, instalamos, por fin, Tidal

cabal install tidal

Ala!

Puede que durante el proceso de instalación haya salido este error:

cabal: Error: some packages failed to install:
PortMidi-0.1.5.2 failed during the confiduration step The exception was:
ExitFailure 1
tidal-0.7 depends on PortMidi-0.1.5.2 wich failed to install.

Lo que viene a decir es que el paquete PortMidi no puede instalarse por que falta el paquete libasound2-dev, del que depende. Este paquete gestiona el protocolo de sonido MIDI a través de ALSA. El error se soluciona instalando, primero libasound2-dev:

sudo apt-get install libasound2-dev

y luego PortMidi:

cabal install PortMidi

Instalar un editor

Tidal viene sin editor. Yo voy a instalar Atom, por que es sencillo y bonito; y emacs, por que quiero aprender a manejarme con él. Pero si no son vuestros favoritos, en el github explican como integrar Sublime Text y Vim con Tidal.

Atom

Atom es un editor de texto gratuito, multiplataforma, con una interface que se asemeja al Mac, realizado por la gente de github. Por cierto, sólo tiene versión para arquitecturas de 64 bits.

Para instalar Atom, descargamos en la web el archivo .deb y lo instalamos mediante gdebi o Centro de Software de Ubuntu. Ahora, tenemos que instalar el paquete de Tidal para Atom. Clicamos Settings (ctrl+,) en el Menú, luego Install, buscamos el paquete Tidal y lo instalamos.

Para usar Tidal hay que crear primero un nuevo archivo y guardarlo con la extensión .tidal, por ejemplo prueba.tidal. Luego, iniciamos Tidal mediante el menú Packages, Tidal y **boot Tidal*.

Emacs

Emacs es el editor clásico del programador (junto con vim), creado en 1976 por Richard Stallman y Guy L. Steele Jr. Algo complicado de manejar, o eso se dice, es muy configurable y tiene muchas extensiones.

sudo apt-get install emacs24 haskell-mode

Para instalar la interface de Tidal, editamos el archivo de configuración .emacs** (sí, con el punto delante), que se encuentra en nuestra carpeta de *home. Si no existe, lo creamos. Luego, vamos a la web, copiamos el archivo de texto y lo guardamos en un archivo llamado tidal.el. Ahora sí, abrimos el fichero .emacs y añadimos lo siguiente, reemplazando ~/projects/tidal por la localización donde hemos guardado tidal.el:

(add-to-list 'load-path "~/projects/tidal")
(require 'haskell-mode)
(require 'tidal)

Al igual que en el caso de Atom, para usar Tidal en emacs, hay que crear primero un nuevo archivo y guardarlo con la extensión .tidal. Para iniciar Tidal lo hacemos pulsando Ctrl+C y luego Ctrl+S.

Final

Vamos a comprobar que hemos realizado la instalación correctamente y repasamos, de paso, como iniciar Tidal (es un poco líoso).

JACK

Primero, iniciamos el servidor de audio jack. La forma más fácil es a través de la aplicación qjackctrl. Se encuentra en los repositorios de Debian y Ubuntu, así que se puede descargar desde Synaptic o en la terminal con

sudo apt-get install qjackctl

Si tenéis algún problema con qjackctl o os gusta más hacerlo por terminal podéis ejecutar jack así:

jackd -d alsa

Si tenéis en vuestro sistema pulseaudio, puede que entre en conflicto, por lo que es mejor desactivarlo haciendo:

/usr/bin/pasuspender -- jackd -d alsa

Luego, iniciamos dirt (si iniciamos Tidal antes de dirt no tendremos sonido). Desde el terminal, entramos en la carpeta donde se encuentra dirt

cd ~/Dirt

y lo ejecutamos

./dirt

Ya sólo falta abrir un editor. Como hemos visto, tanto en el caso de Atom como Emacs, hay que crear primero un fichero con extensión .tidal y luego iniciar tidal. En el caso de Atom, a través del menú y en Emacs con la combinación de teclas Ctrl+C y Ctrl+S.

Anuncios