Hace unos meses salió la esperada versión 3.0 de Sonic Pi y poco tiempo después una 3.0.1 que corregía algunos errores de la primera. La rama 3 de Sonic Pi es un gran salto en el programa de didáctica musical y Live Coding, ya que, entre otras mejoras, añade soporte a los sistemas MIDI y OSC que permite comunicarse con instrumentos MIDI, otros lenguajes audiovisuales (como Processing) e incluso sincronizar varios ordenadores mediante OSC1.
No me gusta repetir un post de instalación cada vez que sale una versión nueva, pero voy a hacer una excepción, ya que el proceso ha cambiado bastante desde la versión anterior y es algo más complicado. De hecho, coger aire y leer con calma el cada línea del proceso antes de ejecutarlo por que es fácil equivocarse (aviso :D).
###NOTA:
La instalación funciona en Debian 9 y Ubuntu 16.04 en adelante, comprobado por varios miembros del foro de Sonic Pi y yo mismo, y está basada en los scripts de Neuromancer85 y Robin Newman.
Primeros pasos
El primer paso es instalar las dependencias necesarias para Supercollider, las bibliotecas qt5 para la GUI y el proceso de compilación:
sudo apt-get install -y g++ ruby ruby-dev pkg-config git build-essential libjack-jackd2-dev libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libudev-dev cmake libboost1.62-dev libqwt-qt5-dev libqt5scintilla2-dev libqt5svg5-dev qt5-qmake qt5-default qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev qtmultimedia5-dev libffi-dev libaubio-dev libboost-dev erlang supercollider sc3-plugins
Tras las dependencias, el siguiente paso es descargamos los binarios. Aparte del binario de Sonic Pi, necesitamos dos herramientas más que aparecían en la versión anterior:
- aubio: una colección de herramientas y algoritmos para etiquetar y transformar música y sonidos. Entre otras muchas cosas, detecta a que frecuencia suena una nota o cuál es el ritmo de una melodía.
-
osmid: una herramienta, en realidad dos, ligera y portable que sirve para convertir MIDI a OSC (m2o) y OSC a MIDI (o2m).
Antes de descargar nada, he de indicar que voy a realizar todo el proceso dentro de la carpeta bin en mi home (no confundir con la carpeta de mismo nombre del directorio raíz) pero puede ser en una carpeta cualquiera.
Así que, entramos en la carpeta bin:
cd bin
y descargamos los binarios:
(ejecuta línea a línea)
git clone https://github.com/samaaron/sonic-pi.git git clone https://git.aubio.org/aubio/aubio git clone https://github.com/llloret/osmid.git
Compilando
Compilamos e instalamos aubio:
(ejecuta línea a línea)
cd aubio ./scripts/get_waf.sh ./waf configure ./waf build sudo ./waf install cd ..
Compilamos dos ficheros de erlang, lenguaje en el que está basado Sonic Pi:
(ejecuta línea a línea)
cd sonic-pi/app/server/erlang erlc osc.erl erlc pi_server.erl
Durante el proceso puede que aparezcan algunos errores, como:
pi_server.erl:57: Warning: variable 'T' is unused pi_server.erl:59: Warning: variable 'Rest' is unused pi_server.erl:170: Warning: variable 'Tag' is unused
Pero no os preocupéis ya que son avisos «normales» que se arreglan más adelante.
¡Seguimos!
Ahora, compilaremos unas extensiones nativas de Ruby necesarias para algunas gems de Sonic Pi:
(ejecuta línea a línea)
cd sonic-pi/app/server/ruby/bin ./compile-extensions.rb cd ~
Compilamos los binarios de osmid, m2o y o2m:
(ejecuta línea a línea)
cd bin/osmid mkdir build cd build cmake .. make all
creamos la carpeta donde instalar los binarios de osmid:
mkdir -p ~/bin/sonic-pi/app/server/native/linux/osmid
desde la carpeta /bin/osmid/build ejecutamos
install m2o o2m -t ~/bin/sonic-pi/app/server/native/linux/osmid
Ahora vamos – ya queda poco – a la carpeta qt de Sonic Pi para compilar la documentación (tutoriales y demás) y la interfaz de usuario –GUI-:
(ejecuta línea a línea)
cd ~/sonic-pi/app/gui/qt ../../server/ruby/bin/i18n-tool.rb -t cp -f ruby_help.tmpl ruby_help.h ../../server/ruby/bin/qt-doc.rb -o ruby_help.h
y finalmente compilamos el binario, propiamente dicho, de Sonic Pi!
(ejecuta línea a línea)
lrelease SonicPi.pro qmake -qt=qt5 SonicPi.pro make
Finalizando
Para abrir Sonic Pi, ejecutamos en la terminal:
bin/sonic-pi/bin/sonic-pi
Tras esta compilación nos merecemos una cerveza (yo al menos!!!)
- Puedes leer una reseña completa de esta nueva versión en el blog de Robin Newman. ↩
Deja un comentario