NOISK8
Que es Tidal Cycles?

Tidal fue creado por Alex Mclean, es un mini lenguaje de progaramación para explorar patrones, diseñado para ser usado durante interpretaciones de código en vivo (livecoding). Permite hacer patrones musicales con lineas de texto, describir secuencias y formas de transformar y combinarlas, explorando complejas interacciones entre partes simples.


Cómo funciona en linux ?

Tidal te permite expresar música con un tiempo muy flexible, proporcionando un pequeño lenguaje para describir patrones como secuencias de pasos (que pueden ser polifónicos y polimétricos), algunos generadores de patrones continuos (por ejemplo, ondas senoidales, diente de sierra) y una amplia gama de transformaciones de patrones.

Tidal no crea los sonidos por si solo, pero esta diseñado para utilizar los sintetizadores de SuperDirt (Super Collider).

Ver más detalles en la web de Tidal

Para que funcione en linux necesitamos entonces los siguientes paquetes

* Haskel Plataform →→ Haskel es la plataforma o lenguaje en la que está basada tidal
* SuperCollider (SC) →→ Super Collider es el motor sonoro
* Qjackctl →→ Es el controlador de la tarjeta de sonido del ordenador y nos permiitira poner en dialogo Tidal con el sonido general
* Emacs \ Atom →→ IDE que interpreta el codigo

Emacs

En emacs creamos un archivo vacio con punto de extensión .tidal es decir ejemplo.tidal

el texto aparece de colores segun el tema que tengamos

para poner a sonarlo nos paramos sobre una linea y la ejecutamos con ctrl + enter

Observaciones

Emacs es recomendado para para ordenadores más lentos, ya que disminuye el consumo de recursos gráficos

























Atom

En atom al igual que en emacs los colores del texto varian segu el tema que tengas, pero si está de color siginifica que ya está leyendo el lenguaje tidal por decirlo de alguna manera.

Para ejecutar la linea puedes intentar con ctrl + enter o shift + enter

Observaciones

Atom es tiene una seríe de ventajas, como por ejemplo que tiene autocomplementador de palabras, es más flexible y amigable, pero no es muy recomendable para ordenadores con pocos recuroso en el procesador y ram


















Si usted desea profundizar en el lenguaje tidal puede descargar este Ejercicio hecho por Alexandra Cardenas





Creditos

### Agradecimientos

Un agradecimiento muy especial a Alex Mcclean por compartir está magnifica herramienta, también a Alexandra Cardenas y Esteban Betancur por inocular el virus del livecoding en Medellín y Colombia, además agradecemos a los foros y comunidades linuxeras por el aguante !

Haskell

Para instaral Haskell en Debian/Ubuntu y derivadas

sudo apt-get install haskell-platform

Ver para otras distros




SuperCollider

Para usar SuperCollider necesitamos la versión 3.7 o superior, algunas dstribuciones permiten instalar está versión por defecto, en otras ocasiones toca compilarlo manualmente.


Dependencias

sudo apt-get install libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libudev-dev libcwiid-dev pkg-config git cmake qt5-default qt5-qmake qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev libqt5opengl5-dev

sudo apt-get install jackd build-essential libqt4-dev libqtwebkit-dev libjack-dev libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libcwiid-dev pkg-config cmake subversion git

sudo apt install libsndfile1-dev

Vía script

Este script está diseñado para instalar Supercollider, sus dependencias y atom además configura el plugin de tidal en atom, fue creado para ubuntu pero lo hemos probado en debian 9 stretch y también funciona

descargar script de Aquí ./TidalCycles.sh

Luego de descargar el script procedemos a darle los permisos para sea ejecutable

sudo chmod +x TidalCycles.sh

Ahora si lo ejecutamos

./TidalCycles

Esto puede tardar un tiempo, dependiendo de tu velocidad de internet, cuando termine te puedes fijar si instalo la versión 3.7 de SuperCollider, en caso de que no funciones prueba con el metodo de compilación manual

#### Compilación manual

sudo apt-get install build-essential libjack-jackd2-dev libudev-dev libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libcwiid-dev pkg-config cmake subversion git qt5-default qt5-qmake qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev

Descargamos el codigo fuente

wget https://github.com/supercollider/supercollider/releases/download/Version-3.8.0/SuperCollider-3.8.0-Source-linux.tar.bz2

tar -xvf SuperCollider-3.8.0-Source-linux.tar.bz2

cd SuperCollider-Source/

mkdir build

cd build

cmake -DSC_ED=OFF -DSC_EL=OFF -DSC_WII=OFF -DSC_VIM=OFF -DSC_IDE=ON ..

make

sudo make install

sudo ldconfig

scide

ver Todo sobre esto


Qjackctl


Con la siguiente linea de comando descargamos qjackctl

sudo apt-get install qjackctl


Emacs

Emacs es recomendado para ordenadores con menos recursos, osea es más ligero

sudo apt-get install emacs24 haskell-mode

Atom


wget --output-document=/tmp/atom.deb http://atom.io/download/deb

sudo dpkg -i /tmp/atom.deb

sudo apt --fix-broken install -y
Configurando Emacs con tidal

1. Descargar el archivo tidal.el

wget https://github.com/tidalcycles/Tidal/blob/master/tidal.el


2. Creamos un archivo en el home con el nombre .emacs →→Es indispensable el .


3. Configuramos el centeren-cursor-mode

wget https://www.emacswiki.org/emacs/centered-cursor-mode.el

sudo mv centered-cursor-mode.el /usr/share/emacs/site-lisp/autoconf/


Después de esto cuando abramos emacs nos abrira el buffer de tidal, nos preguntará si deseamos matar el proceso tidal, le decimos que no.


Configurando Atom con tidal

Abrimos Atom, vamos a la configuración → paquetes → en el buscador ponermos tidal y nos aparecera Tidal Cycles → le damos instalar














Así ya tendriamos Atom y Emacs dispuestos para corer tidal.

Configurando Qjackctl

Luego de haber hechos los pasos de la configuración vamos a testiar si todo salio bien. La ruta para abrir TidalCycles en lunx es la siguiente

Abrimos Qjackctl, este arrancara el servidor jack que necesita SC para cargar los samples.









Antes de iniciar (Recuerda configurarlo de acuerdo a tu tarjeta de sonido en mi caso es hw:MID:)















Ahora si puedes iniciar el qjackctl

Cargando SuperCollider

Para llamar los samples SuperDirt basta con ejecutar los siguentes comandos en el IDE

Primero incluimos Superdirt

























Luego Cargamos los Samples
























La señal de que todo está bien es que Muestre en la ultima linea de la consola que está escuchando el puerto de tidal, luego de tener esto nos fijamos en qjackct si las conexiones de SC y el sietema estan bien, debería de está así.

Tidal Cycles en Linux
Este archivo es el resultado de una necesidad por documentar diferentes momentos y maneras, intentando instalar Tidal Cycles en sistemas operativos Linux. Partiendo por consultar los errores que muestra la terminal y apoyados por foros en de linuxeros (en ingles la mayoría) hemos visto muchas formas de solucionar los problemas e instalar tidal, pero son pocas las que nos han funcionado. Esta documentación no es la mejor ni la única forma de instalar tidal, pretende acercar este conocimiento a personas interesadas en el live coding que no tienen mayor experiencia con linux

Pd Tuniado con Ubuntu 16.04 14.04 y Debian stretch
Instalación
Configuración
Sonando
el
el
tidal
emacs
sh
sh
Tidal en debian y ubuntu
Super Collider 3.8 para ubuntu y debian