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
Tidal en debian y ubuntu
Super Collider 3.8 para ubuntu y debian