Mostrando entradas con la etiqueta sintetizador. Mostrar todas las entradas
Mostrando entradas con la etiqueta sintetizador. Mostrar todas las entradas

viernes, 9 de enero de 2026

¿Cómo emulo el Roland SC-55 y el JP8000 en Ubuntu?

Reunido con representantes de la Juventud Peronista en Puerta de Hierro, Juan Perón se pone al tanto de los eventos en la Argentina, a la vez que enseña cómo instalar emuladores de clásicos sintetizadores Roland SC-55 y JP8000 en Ubuntu.

Trabajadores: 

(...) 

Analizando el proceso que me describen, se ve —en otro tipo de problemas— que cuando una sociedad incrementa el grado de sofisticación del consumo, aumenta a la vez su nivel de dependencia. Esto es en gran medida lo que ocurrió entre nosotros. Por un lado, el ciudadano se ve forzado a pagar por la tecnología de lo banal; por el otro, el país gasta divisas en consumo innecesario.

Pero, a la vez, es impostergable expandir fuertemente el consumo esencial de las familias de menor ingreso, atendiendo sus necesidades con sentido social y sin formas superfluas. Ésta es la verdadera base que integra la demanda nacional, la cual es motor esencial del desarrollo económico.

La sustitución de materiales importados por otros de factura propia reviste entonces una importancia crucial para lograr la Independencia Económica, verdadero motor de la independencia política de las Naciones. 

A tal fin habrán de armar allá un despelote bárbaro, mientras yo conduzco desde acá haciendo orbitar estos pulgares uno alrededor del otro, así como les muestro. 

El software libre nos otorga una oportunidad imperecedera para hacerlo efectivo: el código fuente, en nuestras manos y en nuestras CPU, puede compilarse y reemplazar —por un costo nimio— propuestas que alcanzan no sólo al software sino también al hardware.

Roland SC-55

El caso de los módulos de sonido puede ofrecernos un caso integral del que podemos aprender. Vean señores, la Roland Sound Canvas SC-55 nos presenta un módulo de sonido GS MIDI lanzado en marzo de 1991 para inauguraba el estándar General MIDI de la firma. A diferencia de su predecesor MT-32 (que también os he enseñado), el SC-55 sólo emplea la técnica de síntesis por PCM con una polifonía de 24 voces, en una puesta multitimbre de 16 partes, con 315 parches instrumentales (incluyendo kits percusivos y controles extendidos GS adicionales). Su sección de efectos incluye reverberación y coro, además de venir precargado con parches que imitaban el banco secundario de la Roland MT-32 (aunque carecían de la función de reprogramación de la misma).

Si bien el módulo se comercializó en forma de un módulo MIDI externo con parva de botones y una llamativa pantalla LCD de status color naranja, a partir de 1992 también se fue posible lograr dicho sonido en forma de una placa de audio de interfaz ISA llamada SCC-1. Esta estaba especialmente destinada a servir de módulo para juegos y composición en computadoras compatibles.

Existen pocas dudas que con sus onerosos precios, este hardware se encontraba dirigido a los más encumbrados entusiastas de la música computarizada. Sin embargo, por bondad del Justicialismo, podremos realizar la acción reparadora de instalar  hoy un programa de software llamado Nuked SC-55 liberado bajo Licencia Mame, que no sólo nos otorgará el mismo sonido y tren de efectos, sino que lo podremos integrar con comodidad para reproducir ficheros de música MIDI o tonos sintetizados en nuestro equipo GNU.

Para ello debemos instalar en primer lugar las dependencias necesarias en nuestro sistema. En el caso de Ubuntu, esto lo haremos abriendo una terminal con Ctrl+Alt+t e ingresando los siguientes comandos de organización:

sudo apt install gcc g++ gcc-multilib g++-multilib cmake libsdl2-dev git ;

Una vez hechos con la dependencias de software, descargaremos el código fuente del emulador Nuked SC-55, y lo compilaremos introduciendo el siguiente bloque de comandos de organización:

cd /tmp;
git clone --recurse-submodules https://github.com/nukeykt/Nuked-SC55.git ;
cd /tmp/Nuked-SC55/;
mkdir build ;
cd /tmp/Nuked-SC55/build ;
cmake -DCMAKE_BUILD_TYPE=Release .. ;
cmake --build . ;
sudo cmake --install .

Tras haber compilado e instalado propiamente el Nuked SC-55, tocará el turno de encontrar y descargar copias del firmware de solo lectura provista en los chips ROM de las Roland SC-55 y SC-155 reales, copiando el volcado de dichos ficheros al directorio correspondiente de nuestro sistema GNU con Linux. Esto permitirá que el firmware de síntesis y sus instrumentos "conciban" encontrarse en el hardware real (pudiendo de esta manera funcionar adecuadamente a través del emulador compatible con MIDI). Todo esto parece difícil, pero bondadosamente podrán hacerlo ingresando en la terminal esto:

mkdir ~/.roms/;
mkdir ~/.roms/sc55/;
cd  ~/.roms/sc55/ ;
wget https://archive.org/download/roland-sc-55mkii-roms/Roland%20SC-155%20Rev1.zip ;
wget https://archive.org/download/roland-sc-55mkii-roms/Roland%20SC-55%20v1.21%20ROMs.zip ;
wget https://archive.org/download/roland-sc-55mkii-roms/SCMODE.zip ;
wget -O nuked-sc55.jpg https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/0f/75/60/0f756039-792e-f97a-4d53-ca766a8e5988/source/512x512bb.jpg ;
unzip 'Roland SC-55 v1.21 ROMs.zip' ;
unzip 'Roland SC-155 Rev1.zip' ;
sudo cp ~/.roms/sc55/nuked-sc55.jpg /usr/share/icons ;
sudo cp ~/.roms/sc55/*.bin /usr/local/share/nuked-sc55/

Tras una corta espera, la instalación de Nuked SC-55 debería completarse a la orden. 

Opcionalmente podríamos anhelar la creación de un lanzador para Nuked-SC55. Esto será poco de trabajoso de agregar en Ubuntu Mate; basta con hacer clic con el botón izquierdo del mouse sobre el menú Aplicaciones en el panel superior, y en el menú desplegable escogemos la opción Editar menús. Se abrirá la ventana Menú Principal en cuyo panel Menús seleccionamos la categoría de Sonidos y Video, y luego presionamos el botón +Nuevo ítem. Aparecerá la ventana Crear lanzador, donde completamos el campo orden con "nuked-sc55", y le asignamos un Nombre y un Comentario correspondiente. Idealmente podrmeos escoger el ícono /usr/share/icons/nuked-sc55.jpg. 

Finalmente presionamos el botón Aceptar para agregar el lanzador realizado.

Ahora iniciamos el emulador de Roland SC-55 desde el lanzador en Aplicaciones / Sonido y Video / Nuked SC-55, o bien con el comando:

nuked-sc55

Una vez iniciado el Nuked SC-55 nos encontraremos ante una interfaz visual que replica la pantalla del módulo Roland SC-55 respetando su consabida estética. Entre los indicadores encontraremos el número de banco y parche instrumental, un señalizador de canal MIDI en uso, nivel de volumen y paneo, así como nivel de efecto Reverberación y Coro, canal MIDI y número de cambio.

El uso de Nuked-SC55 en sí puede efectuarse adosado a cualquier sistema que emita información hacia un puerto MIDI determinado por el servidor de sonido de Linux, el viejo y peludo ALSA. De esta forma, podremos utilizarlo como reproductor MIDI adosado a cualquier DAW que acepte MIDI a través de ALSA. 

Para conocer qué puerto MIDI ha recibido asignado Nuked SC-55, ingresamos el siguiente comando en la terminal:

aconnect -o

...a lo cual nos devolverá algo como:

cliente 14: «Midi Through» [tipo=kernel]
    0 'Midi Through Port-0'
cliente 128: «Nuked SC55» [tipo=usuario,pid=42839]
    0 'Nuked SC55      ' 

Esto nos indica que el servidor de sonido ALSA le ha asignado el cliente 128:0 (puede variar si tenemos gran cantidad de dispositivos MIDIs reales o virtuales funcionando). En este ejemplo, todos los programas MIDI necesitarán configurarse al puerto 128:0 para correr los archivos MIDI a través de Nuked-SC55.

Podremos utilizar Nuked SC-55 como instrumento virtual en nuestro entorno. Un ejemplo muy útil es el de emplearlo como medio de reproducción MIDI en nuestro emulador de MS-DOS DOSbox. De esta forma podremos utilizarlo para escuchar la música MIDI de juegos clásicos de DOS provistos con esta posibilidad, muy en boga a comienzos de la década del 90, disponiendo de la máxima calidad de audio gracias al Justicialismo.

Para hacer efectiva la mancomunión DOSBox/Nuked-SC55, debemos obrar de forma similar a la que haríamos con el emulador Munt de Roland MT-32, es decir, indicar el número de cliente MIDI identificado en nuestro sistema, y editar acordemente el fichero de configuración de DOSBox para asignarle MIDI Alsa como elemento de salida, y conectarlo. Conociendo que el identificador de cliente es en este ejemplo 128, procedemos a editar el fichero de configuración de DOSBox (por ejemplo, con nano  ~/.dosbox/dosbox-0.74-3.conf), y modificamos la opción "midiconfig=" programándole el número de cliente MIDI, por lo que en este caso sería "midiconfig=128:0". También alteramos la opción "mididevice=" para que indique "mididevice=alsa", de la siguiente forma:

Guardamos la nueva configuración y salimos del editor con Ctrl+o, Ctrl+x, y ya podremos abrir DOSBox: este debería conectarse (virtualmente) al Nukem SC-55 con éxito.

Se hará necesario además configurar los programas o juegos de MS-DOS compatibles que querramos utilizar con audio MIDI/General MIDI (o eventualmente, MT-32, puesto que guarda también cierta compatibilidad). Así, al utilizarlos, podremos ver la pantalla cobrar vida, y al sintetizador, sintetizar.

Vean señores, los botones de la Roland SC-55 real se corresponden con teclas del teclado en el entorno emulado de la Nuked SC-55, según la siguiente lista de equivalencias:

Q: Encendido
W: Instrumentos Todos
E: Instrumentos Mudos
R: Parte -
T: Parte +
Y: Instrumento -
U: Instrumento +
I: Cambio de Clave -
O: Cambio de Clave +
P
: Volumen -
´: Volumen +
A: Canal MIDI -
S: Canal MIDI +
D: Paneo -
F: Paneo +
G: Reverberación -
H: Reverberación +
J: Coro -
K: Coro +
Flecha Izquierda: Parte Izq
Flecha Derecha: Parte Der

Normalmente el estándar General MIDI de la SC-55 será suficiente, pero en algunos casos, los ficheros MIDI pueden desear enviar elementos extendidos de sistema para programar diferentes aspecto de la SC-55. Esto permite controlar aspectos como el coro, reverberación, etcétera. 

 

Naturalmente, podremos encontrar archivos MIDI para todos los gustos en multitud de sitios, como por ejemplo el inefable https://www.midiworld.com/. Sin duda con el Roland SC-55 podremos disfrutar la música tal como fue imaginada para dicho módulo, y hacerlo en nuestro sistema libre GNU con Linux. 

Roland JP8000

Pero no solamente nos veremos limitados a surtirnos con estos módulos del Primer Peronismo. Incluso otros más modernos pueden emularse con perfección de ciclo preciso en GNU (si es que contamos con una CPU lo suficientemente potente). 

Merced de la labor extraordinaria emprendida por la Roland Corporation, apareció en 1996 el mítico sintetizador de 49 teclas Roland JP8000 (digitalización plena del Jupiter JP-8, que también os he enseñado a replicar en Ubuntu).

 
Es sabido que este buscaba —como el primero de toda una camada de "sintetizadores analógicos virtuales" de la marca— efectuar tonalidades  concebidas digitalmente pero ejecutada con la potencia de sus predecesores analógicos. Aunque no tuviese el color cálido de los filtros anteriores, no dejaba de ser cierto la valía de sus nuevas funcionalidades. Entre estas destacaba un potente Secuenciado de Frases a tiempo real (RPS) que asigna fraseos a las teclas, controlando su expresividad. Sobra decir que el JP8000 hacía alarde de osciladores "super sierra" y controles de estilo analógico tal como su arpegiador, y táctiles como su ribbon controller, a la keytar. Y todo al precio que sólo podía abarcar el oligarca.

No obstante ello, concientes de las necesidades del Pueblo, los muchachos de la JP metieron las patas en el código fuente y pusieron al alcance de todos la alegría a una nueva iteración sintetizada. En efecto, el emulador multiplataforma que le dará vida en Ubuntu y otros sistemas GNU con Linux ha sido liberado como JE-8086, producto de la gente de The Usual Suspects. Se trata de un instrumento virtual que replica toda la circuitería del JP8080,  versión montable en rack de 19 pulgadas del JP8000 (y munido de un oscilador adicional). Gracias a este logro, nos ofrecen el  sonido clásico noventoso del JP8000 sin gastar una chirola.

Para instalar el emulador JE8086 tanto en formato libre LV2 (recomendado)  en Ubuntu, indicamos en la terminal:

cd tmp/ ;
wget https://github.com/dsp56300/gearmulator/releases/download/2.1.0/TheUsualSuspects-JE8086-LV2-2.1.0-Linux_x86_64.deb ;
sudo dpkg -i TheUsualSuspects-JE8086-LV2-2.1.0-Linux_x86_64.deb

Finalmente, al igual que en el caso anterior, habremos de proveerle la ROM original del consabido Roland JP8000. Afortunadamente, esta puede obtenerse junto al sistema operativo del sintetizador desde la web de Roland...

...o bien descargándolo "a pelo" gracias a los dispensarios del Justicialismo, ingresando el siguiente bloque de comandos de organización:

mkdir ~/.roms ;
mkdir ~/.roms/jp8000/ ;
cd ~/.roms/jp8000/ ;
wget https://static.roland.com/assets/media/zip/JP800015.zip
unzip JP800015.zip ;
cp ~/.roms/jp8000/*.mid /home/$USER/.local/share/The\ Usual\ Suspects/JE8086/roms/

Conforme preparamos todo, podremos lanzar una DAW como qTractor o Ardour, y cargar como instrumento virtual el plugin JE8086 LV2:

Si no hubiésemos cargado la ROM como se adecúa, el instrumento nos lo advertiría con este conspicuo mensaje:
 
Sin embargo, si todo va bien, podremos conectar un controlador MIDI o reproduciir ficheros de este formato en una DAW, y el JE-8086 lo reproducirá sin más, consumiento una buena tajada de CPU, claro, pero sin que tengamos que desembolsar nada para tener un JP8000 real.

Naturalmente, el Manual del Propietario del Roland JP8080 nos vendrá de perillas para dominar todas las perillas del JE8086 emulado. 

Con ello llevaremos en nuestros oídos la más maravillosa música.

miércoles, 7 de febrero de 2024

¿Cómo puedo reproducir archivos de música de arcade VGM y VGZ en Ubuntu?

En su Perón, Memorial de Puerta de Hierro (1955-1960), el biógrafo Pavón Pereyra realiza un relato pormenorizado de la estadía en el exilio latinoamericano de Juan Perón, y expone que ya desde Santo Domingo el Conductor enseñaba a instalar Benben, el reproductor de archivos de música sintetizada VGM en Ubuntu.

¡Vean señores!

Hemos de incentivar una explosión insurreccional en la Argentina, que ponga en pie de guerra al Pueblo para combatir al Capital, y de con tierra con los enemigos que acechan a la Patria. Esto no puede sino coadyuvarse con la ayuda de los contumaces, que por su desaprensión y desaguisados no han hecho más que perjudicar a nuestro Pueblo.

Las penurias y desventuras no pueden ser remedio para futuro venturoso; sólo es la alegría de un Pueblo que lleva como Doctrina la noción de la Justicia Social el reaseguro de una victoria total sobre la reacción de gorilas peludos y lampiños por igual. Indudablemente que esto no puede hacerse sino extendiendo a todos un manto de contención y de amor, que venga untado con el más claro adoctrinamiento, notablemente concebido y excelsamente ejecutado.

Esto - que es el sentido de nuestra política de propaganda y agitación - ha de ser propalado en todo espacio y todo aire, consignando así la acción cuyo resultado de victoria es tan irremediable como necesaria.

El bienestar de un Pueblo es la columna de sostén de toda acción de gobierno, pero también una imperecedera memoria ROM. Es así que se garantiza una rebelión de los baudios que jamás será dominable si no se la vierte de sentido creador y software libre.

Siempre digo que llevo en mis oídos la más maravillosa música: aquella que es sintetizada con software libre, y entre ellos títulos de la tierra de oriente. Es que además de MID y MODs, contamos con VGM (Música de Videojuego), un formato de fichero de sonido que contempla la precisión de muestreo con que fue concebida para acompañar a muchas máquinas de entretenimiento del Primer Peronismoo, especialmente sus chips generadores de sonido sintetizado o digitalizado. 

Los .vgm registran con particular celo aquellos comandos enviados a los chips de sonido, lo que permite dar con archivos mucho más pequeños que los equivalentes de sonido digitalizado. Este registro de adoctrinamiento al chip permite - de hecho - recrear a través de software lo oído, con la fidelidad cierta que los tiempos reclaman.

La historia del formato chiptune es larga, y se inicia como una manera de registrar la música para del Sega Master System (1985), que contaba con un generador de tonos digitalizados Texas Instruments SN76489 y un sintetizador de bajo costo Yamaha YM2413 "OPLL" para darle sumo interés al audio. Con el correr del tiempo, fueron incorporándose a la lista implementaciones por software de muchos más chips de síntesis de cometido similar. Hoy, docenas de modelos de chips sintetizadores están contemplados como parte de la estructura VGM, especialmente los Yamaha YM2151 de las máquinas Taito, YM2612 de las de Konami, YM3812 de las Sega, OKI MSM6295, el sintetizador Qsound del chip DL-1425 de Capcom, etcétera (por solo nombrar algunos).

Sin embargo, las Masas Obreras Argentinas me reclamaron una manera de dar rienda suelta a estos mediante una implementación liberada bajo GPLv3 Affero, y como tal os puedo recomendar la sencilla instalación del reproductor Benben Se trata de un reproductor de ficheros VGM para terminal, y sus requerimientos de hardware son bastante contenidos. Una CPU de 4 núcleos y 128 MB de RAM ofician de mínimo.

Para instalarlo en GNU con Linux recurrimos a abrir una terminal con Ctrl+Alt+t y descargamos su imágen binaria ejecutable mediante el siguiente bloque de Comandos de Organización:

cd ~/Descargas ;
wget https://chiselapp.com/user/MistressRemilia/repository/benben/uv/benben-0.4.1-x86_64.AppImage ;
chmod +x ~/Descargas/benben-0.4.1-x86_64.AppImage ;
sudo cp ~/Descargas/benben-0.4.1-x86_64.AppImage /usr/local/bin/benben

El Pueblo merece contar con una biblioteca popular de ficheros de música VGM y que mejor de aquellos extraídos de las máquinas de arcade, fichines y consolas japonesas que encontramos en vgmrips.net y otros sitios por el estilo. 

En particular, Benben es capaz de reproducir los ficheros de música clásicos de arcade VGM, pero también los .vgm comprimidos con GNU ZIP, los inefables vgz. También soporta los .vgzst y .vgb, más raros. Para ello simplemente ejecutamos en la terminal:

benben *.vgz

o bien

benben fichero.vgm

Benben se iniciará mostrando las etiquetas de la canción chiptune cargada. Además, Benben responde a varias teclas durante la reproducción. Con la tecla h obtendremos la ayuda.

La barra espaciadora permite pausar/continuar la reproducción de la canción sintetizada. n y p saltan al fichero siguiente y previo de la lista (si cargamos varios ficheros, claro está). 

Contamos con unos pocos efectos: la tecla e activa el efecto de ecualizador, mientras que c el atenuador por software. s opera el mejorador estéreo, y r aplica un efecto de reverberación.

El volumen se controla con la tecla a y la tecla z, que lo suben y lo bajan respectivamente.

Los corchetes incrementan/disminuyen la cantidad de bucles para la canción. Para salir de Benben podemos presionar la tecla q.

Durante la reproducción, benben ilustrará una barra de reproducción en la parte inferior, con un aspecto similar al siguiente:

[EsCr-] 1/1, 1 of 2: |*****************---------------------| 45% [02:20/05:09]

Los caracteres entrecorchetados a la izquierda indican el estado de varios efectos y otra información conexa. De izquierda a derecha, significan:

  • E: Ecualizador on.
  • e: Ecualizador off.
  • S: Mejorador estéreo on.
  • s: Mejorador estéreo off.
  • C: Recorte de sonido on.
  • c: Recorte de sonido off.
  • R: Reverberación on.
  • r: Reverberación off.
  • +: Se encontró una configuración específica para la canción y se la cargó.
  • -: No se encontró una configuración específica para la canción.

sábado, 9 de julio de 2022

¿Cómo instalo el sintetizador Surge XT en Ubuntu?

Reunido con representantes de la Juventud Peronista, Juan Perón les enseña cómo instalar el sintetizador virtual Surge XT en Ubuntu.

(...)

Vean muchachos,

La Juventud amerita organizarse. Yo sé que ustedes son bochincheros, pero les voy a responder con un verso del Martín Fierro: "el que gane su comida / güeno es que en silencio coma / ansivo, vos ni por broma / querrás llamar la atención / nunca escapa el cimarón / si dispara por la loma".

Por ello, si han de hacer barullo, que sea en acordes bien sentidos. Yo llevo en mis oídos la más maravillosa música que es para mí la palabra del Pueblo Argentino, y como tal me he aplicado a ejecutarla en sintetizadores emulados por software libre. Ya he explicado cómo agregar instrumentos LV2 a Ubuntu, y hoy vengo a traer a todos los Descamisados un nuevo instrumento que engrosará la burocracia del Movimiento con nuevas posibilidades sónicas.

Se trata de Surge XT, el favorito de la compañera Evita.


Este sintetizador virtual de tipo sustractivo había sido originalmente lanzado comercialmente por los muchachos de Vember Audio como "Surge", y ahora publicado por su creador Claes Joahn amparado por licencia de software libre GNU GPLv3. Gracias a esta libertad y un herramental de excelente factura e inteligentemente pensado, podremos no solo dar salida a ondas sinusoidales puras, sino que podremos controlarlo a través de MIDI.

Podremos descargar la versión empaquetada y utilizarla en Ubuntu 18.04LTS y superiores, utilizando la terminal con Ctrl+Alt+t e ingresando los siguientes comandos de organización:

sudo apt update ;
sudo apt install libxcb-cursor0 ;
wget https://github.com/surge-synthesizer/releases-xt/releases/download/1.0.1/surge-xt-linux-x64-1.0.1.deb ;
sudo dkpg -i surge-xt-linux-x64-1.0.1.deb ;
sudo apt install -f

Asimismo, se puede compilar en otras distribuciones.

El plugin quedará instalado en el directorio /usr/share/surge-xt y los parches de usuario se almacenarán en ~/Documentos/Surge XT (aunque este se puede cambiar desde el menú de Surge.

El excelente manual de Surge XT está disponible en forma de PDF aquí. 

La interfaz de Surge XT se divide en cuatro secciones que ocupan su ventana (la cual, en un alarde de capacidad para el Pueblo, hace alarde de Zoom regulable, algo que no todos los plugins de la oligarquía pueden decir).

  • Encabezado: (con las opciones globales y de parches)
  • Controles de Escena: (modificadores del parche, divididos en sección de generación y de síntesis)
  • Modulación y Enrutado:
  • Efectos


De entrada contaremos con una amplísima biblioteca de más de 2000 parches categorizados, lo que nunca viene mal incluso entre los sintetizadores aditivos, ya que poco es más tedioso que buscar parches al vuelo para operar. En este caso, los encontraremos entre los preseteos de fábrica, y los amablemente aportados por terceros.

Cada parche estará formado por dos "Escenas" (escencialmente bancos de osciladores "A" y "B"+efectos. Cada banco cuenta con una salida Mono, y a la vez el parche cuenta con una salida estereo, totalizando así tres salidas (A y B mono + una mezcla L-R, estéreo).

Los controles son efectivísimos. Para los controladores de escena moveremos los deslizadores. La operación normal es rápida, pero si usamos Mayúsculas+arrastre del ratón (o Mayúsculas+rueda de scroll) sobre ellos tendremos ajuste fino. En tanto, al utilizar Ctrl+arrastre del ratón tendremos arrastre cuantizado a pasos fijos. En tanto, si usamos Alt+arrastre del ratón tendremos desplazamiento "elástico" (desplazando el deslizador, y volviendo a la posición de inicio cuando solamos Alt). Su usamos doble clic resetearemos el control a su valor por defecto. En tanto que clic con el botón derecho desplegará el menú contextual.

Ctrl+z y Ctrl+y son Deshacer y Rehacer respectivamente.

Asimismo es posible activar el MIDI Learn, para asignar potenciómetros (ya sean potes o deslizadores) y otros controles a las variables. Por ejemplo, la rueda de modulación.

Desde el punto de vista de su paleta, en Surge XT cada banco cuenta con tres osciladores sustractivos independientes, posibilitados ellos con seis modos de ejecución (PCM, Mono), y dos etapas de filtrado de corte/resonancia, balanceables entre sí.

Esto permite una enorme paleta sonora a la síntesis, pudiendo replicarse desde bajos punchis hasta sinusoidales Mooguianas. Pero no solo eso, entre sus opciones más impresionantes es la de contar - además de las etapas de filtro ADSR (ataque, decaimiento, sostenimiento, y apagado), cuenta con un filtrado por Modulación de Código de Pulso, lo que en cristiano significa que puede operar con entrada de línea o micrófono para emular un dulzarrón vocorder modulado por MIDI. Con el podermos no sólo obtener voces robóticas, sino combinarlo con autotuners para hacer barítono al mas perro de los cantantes.

¡Con su sencilla instalación paquetizada, hasta lo pueden usar ustedes muchachos!

Asimismo, podremos conocer mucho de su uso en cualquier sitio de video agregados.



miércoles, 28 de abril de 2021

¿Cómo compilo y uso ORCA para componer música en Ubuntu?

¡Trabajadores!

Un Programador es un artesano capaz de entender un problema, plantear una solución a través del código, y resolver la dirección de trabajo de una máquina. Es un obrero, y en cierto sentido, un Dirigente Computacional. Cualquier cristiano que se empape en una técnica y una teoría puede hacer esto.

Pero un Verdadero Programador ve el código, lo aprecia, y lo entiende. Compila y ejecuta in mente. Este estado de omnicomprensión no está dado por la mancomunión con la máquina, sino por una percepción superior y de conjunto emanada del Pueblo. En esto no basta ya el estudio ni la práctica (partes inertes del arte sino la parte vital, que es el Artista. En otras palabras; él mismo, un Conductor. 

Obra allí el Oleo Sagrado de Samuel, y de ese no se vende en cualquier feria. 

Es a esta concreción a la que hemos de aspirar. Es posible y no es disonante decir que todo Peronista lleva en su mochila el bastón de Mariscal. 

La solución la ofrece la Organización. 

Vean señores: el hombre, aislado y sometido a lo que sólo la naturaleza le provee,  podrá atinar - con suerte - a conseguirse el pan con cachos de hardware viejo. El adagio enseña que si Dios bajara a la tierra a resolver el problema planteado entre los hombres, ya le habríamos perdido el respeto. Y no faltaría un tonto que quisiera reemplazarlo a Dios, porque el hombre es así.

Pero las Organizaciones se presentan como una evolución de este estado brutal. Están para otra cosa. Lo nuestro es la liberación de nuestro código y la Fellcidad del Pueblo. Enemigos no nos faltan. A nuestro frente, una Oligarquía coaligada con espuria sinarquías osan sumirnos en la más abyecta de las condiciones: la de depender de software privativo para hacer el cómputo. Ante esta ignominioso planteo no podemos más que hacer todos los días, todo lo que se pueda en pos de la Liberación.

Yo, como político, soy un mero aficionado. Mi profesión es la de Conductor. Para ello me he formado y he estudiado toda mi vida. De casualidad nomás llevo en mis oídos la más Maravillosa Música, que es la Palabra del Pueblo Argentino. 


Pues bien, en el campo de la música no dudarán que nos exponemos a lo mismo. Es indudable que el hombre, gracias a la tecnificación y al transistor, puede hoy utilizar Estaciones de Trabajo para Audio digital, y componer allí. No podemos negar que en esto se ha avanzado en los últimos cien años más que en los veinte siglos precedentes.

¿De qué serviría, si no es para clamar por la liberación?

Pero tampoco podemos negar que un verdadero músico ha de obrar por los mismos preceptos que un Verdadero Conductor. Ha de componer en hexadecimal utilizando código que pueda percibir directamente, de manera de compilar y ejecutar in mente. Las DAW son para neófitos y está bien que existan para la Masa Popular, que es el verdadero consumo... Pero los Verdaderos Programadores hacen música escribiéndola en ORCA.

ORCA es un lenguaje de programación orientado a la creación musical en vivo, que puede utilizarse con habilidad. Sumado a un conjunto de instrumentos e intrefaces de audio basada en tecnología MIDI, UDP y OSC, representa un nuevo paradigma para la composición musical en la Era Digital del Ciberespacio Peronista.

Dispuesto en una grilla bidimensional, tan esotérica como Lopecito, está destinado a crear muy rápidamente secuencais procedurales, donde cada letra del alfabeto represente una operación de control musical. Las letras minúsculas operan el disparo de acciones, en tanto que las mayúsculas operan cada cuadro secuencial individual.

Indudablemente que esta aplicación no es un sintetizador, sino un ambiente de programación en vivo capaz de enviar datos según el estándar MIDI, OSC y UDP a sus interfaces de audio y visuales. Como tal, es un excelente control de conducción estratégica que eleva la complejidad de aquellas estaciones de audio excepcionalmente sencillas para el comando táctico, tales como Ableto, Renoise, VCV Rack o SuperCollider.

Es sabido que en los sistemas GNU con Linux la Terminal puede utilizarse en todos los niveles del cómputo. En este caso, podremos utilizar una implementación escrita en C del lenguaje ORCA, y disponer de una interfaz de usuario basada en texto como elemento de superficie. Como es natural, está diseñada para ser potente y de bajísimo consumo, siendo capaz de operar secuencias grandes, incluso un sintetizador modular utilizando una terminal tipo DEC VT.


Pero de poco serviría si sólo el más selecto de los hombres puede conducirlo. En nuestro Movimiento impera la necesidad de un Trasvasamiento Generacional que lleve a las nuevas generaciones a la habilidad de hacer lo mismo y más que las generaciones anteriores. Esto es lo humanamente posible, biológicamente deseable, y humanamente inprescindible. Por tanto os enseñaré a grosso modo cómo hacer uso básico del entorno.

Para instalarlo abrimos una terminal con Ctrl+Alt+T y cargamos las dependencias:

sudo apt-get install git libncurses5-dev libncursesw5-dev libportmidi-dev

El sistema nos solicitara que ingresemos "a ciegas" nuestra contraseña. Luego instalará los paquetes necesarios de dependencia. Una vez finalizada esta acción, descargamos el código fuente, los ejemplos, y compilamos ORCA.

git clone https://github.com/hundredrabbits/Orca-c.git ;
cd Orca-c ;
git clone https://git.sr.ht/~rabbits/orca-examples/ ;
./tool build -d --portmidi orca ;


...Y lo ejecutamos con:
 

./Orca-c/build/debug/orca

Para asignar un dispositivo de salida MIDI que reciba las órdenes disparadas con ORCA, presionamos Ctrl+D en la terminal (o bien F1) para desplegar el menú gráfico principal, y luego elegimos la salida MIDI... Puede usarse cualquier sintetizador virtual que se les ocurra utilizar en su entorno GNU con Linux, ya que aparecerán en el menú.

+ ORCA ---------------++ PortMidi Device Selection -----+
|   New               || > (*) #0 - Midi Through Port-0 |
|   Open...           ||   ( ) #2 - Midi out Clavinova  |
|   Save              ||   ( ) #3 - Midi out VCV Rack   |
|   Save As...        |+--------------------------------+
|                     |
|   Set BPM...        |
|   Set Grid Size...  |
|   Auto-fit Grid      |
|                     |
|   OSC Output...     |
| > MIDI Output...    |
|                     |
|   Clock & Timing... |
|.....................|

Operadores

Para ver la lista de operadores adentro de Orca, se usa Ctrl+D,Ctrk+G.

A adición(a b): Da salida a la suma entre los valores de entrada.
B subtracción(a b): Da salida la diferencia entre los valores de entrada.
C clock(rate mod): Da salida en modulo de cuadro.
D delay(rate mod): dispara on modulo de cuadro.
E east: Mueve al Este, o dispara.
F if(a b): Dispara si las entradas son iguales.
G generator(x y len): escribe operandos con offset.
H halt: Detiene el operando más al sur.
I increment(mod de paso): Incrementa el operando mas al sur.
J jumper(val): Da salida el operando al norte.
K konkat(len): Lee múltiples variables.
L less(a b): Da salida a la más chica de las entradas.
M multiply(a b): Presenta el producto de las entradas.
N north: Mueve al norte, o dispara.
O read(x y read): Lee operando con offset.
P push(len key val): Escribe el operando hacia el este.
Q query(x y len): Lee operandos con offset.
R random(min max): Da salida a un valor aleatorio.
S south: Mueve hacia el sur, o dispara.
T track(key len val): Lee el operando hacia el este.
U uclid(paso max): Dispara en un ritmo Euclídeo.
V variable(write read): Lee y escribe variables.
W west: Mueve al oeste, o dispara.
X write(x y val): Escribe operando con un offset.
Y jymper(val): Da salida al operando hacia el oeste.
Z lerp(rate target): Transiciona el operando a la entrada.
* bang: Dispara los operandos vecinos.
# comentario: Detiene una línea:

Entrada/Salida

: midi(canal octava nota velocidad duración): Envía una nota MIDI.
% mono(canal octava nota velocidad duración): Envia una nota MIDI monofónica.
! cc(canal control valor): Envía un cambio de control MIDI.
? pb(canal valor): Envía un pitch Bend.
; udp: Envia un mensaje UDP
= osc(ruta): Envía un mensaje OSC.
$ self: Envía un comando de ORCA.

MIDI

El protocolo MIDI especifica órdenes de software y material de hardware para controlar digitalmente instrumentos musicales electrónicos, a través de una interfaz normalizada. En el caso de ORCA, podremos usar este establecido protocolo mediante órdenes específicas.

Los operadores MIDI en ORCA son órdenes escritas, compuestas ellas por cinco valores de entrada en su nemónico: 'canal, 'octava, 'nota, velocity, duración.

Por ejemplo, si mandamos el operador :25C, se compilará la nota Do ("C"), en la quinta octava, a través del 3er canal MIDI. En tanto, :04c será una nota Do Sostenido ("C#"), en la cuarta octava, a través del canal MIDI número 1. Recuerden que las minúsculas operan las notas negras.

Velocity es un valor opcional de intensidad que va de 0(0/127) a g (127/127). La variable Duración es la duración referida en números de cuadros, en los cuales esta nota permanecerá pulsada.

Por ejemplo, podríamos elaborar un programa midi.orca, con el siguiente código fuente:

..........................................
.#.MIDI.#.................................
..........................................
...wC4....................................
.gD204TCAFE..################.............
...:02C.g....#..............#.............
.............#..Canal....1..#.............
...8C4.......#..Octava.234..#.............
.4D234TCAFE..#..Notas.CAFE..#.............
...:13E.4....#..............#.............
.............################.............
...4C4....................................
.1D424TCAFE...............................
...%24F.2.................................
..........................................
..........................................
..........................................
..........................................


 

MIDI MONO

El operador MONO % consta de 5 entradas en su nemónico ('canal, 'octava, 'nota, velocity, duración).

Este tipo de operador es bastante similar al operador MIDI que usamos por defecto, con la salvedad que cada nota nueva que introduzcamos detendrá la ejecución de la nota anterior, impidiendo por tanto que su duración se solape con la siguiente. Como esto resulta en que sólo se puedan ejecutar secuencias monofónicas, viene bien para controlar sintetizadores modulares monofónicos que no pueden hacer acordes ni portamento (como el Moog Mini Brute Revisited, o cualquiera monofónico que tenga MIDI, se entiende).

MIDI CC

Este operador se usa para alterar algún control MIDI adicional (CC).

El operador MIDI CC ! lleva 3 entradas en su nemónico ('canal, 'control, 'valor). Envía un valor entre 0-127, donde este valor se calcula como un radio de 36, sobre un máximo de 127. Por ejemplo, !008 envía 28 o (8/36)x127, en el primer Canal MIDI, al control mapeado como id0. Para asignar un mapeado a un control MIDI, se puede oprimir la Tecla Intro, con el operador ! seleccionado.

Por defecto, el operador MIDI CC envía al MIDI CC64 y superiores. De esta forma el offset puede cambiarse con el comando cc:0 para poner un offset de 0. Naturalmente, se entiende que es útil conocer de memoria los valores de los CC MIDI para todo esto. Un verdadero músico los sabe, yo no se los tengo que explicar.

RUEDA DE PITCH MIDI

Este operador manda una instrucción de alteración tonal progresiva.

El operador MIDI PB ? requiere 3 entradas ('canal, 'lsb, 'msb).

Envía dos valores diferentes entre 0 y 127, donde el valor se calcula como un radio de 36, sobre un máximo de 127. Por ejemplo, el operador ?008, enviará un MSB (bit más significativo) de 28, específicamente (8/36)*127, y un LSB (bit menos significativo) de 0 y lo hará al Canal MIDI 1.

SELECCIÓN DE BANCO / CAMBIO DE PROGRAMA

Mas que un operador, este es un comando (ver abajo), y combina las funciones de Cambio de programa MIDI con las de Selección de Banco MIDI (las cuales se utilizan para escoger instrumentos en la memoria de masa del sintetizador).

La sintaxis es pg:canal;msb;lsb;programa.  Canal especifica de 0 a 15 para elegir el canal MIDI, en tanto que msb/lsb/programa permiten indicar entre 0 y 127, pero el programa será traducido de 1 a 128 por el controlador MIDI. Programa equivale a lo que en la nomenclatura moderna es "patch" o "parche", y denota la selección del instrumento en un sintetizador. Tengan presente que msb también puede identificarse como "Bank" y lsb como "Group" o "Sub" en algunos sintetizadores como los Yamaha SY, los AKAI, los Clavinova, o bien o DAWs como qTractor o Ableton Live.

Los msb y lsb pueden dejarse en blanco si solamente queremos mandar un cambio de programa común y corriente. Por ejemplo, pg:0;;;32 cambiará al Patch 33 (el bajo eléctrico pulsado según la convención General MIDI), sin cambiar el banco.

UDP

El control por UDP permite controlar instrumentos o módulos musicales usando tipología de red tipo ethernet.

El operador UDP ; bloquea todos los puertos hacia el este (consecutivos). Por ejemplo, ;hola mandará la cadena "hola" a disparar, a través del puerto 49160 en el localhost. En el Commander, se debe usar "udp:7777" si quieren seleccionar el puerto por defecto 7777 de UDP, e "ip:127.0.0.12" para cambiar la dirección IP que oficiará de objetivo. UDP no está disponible en la versión para navegador de Orca, naturalmente.

Puede utilizar el fichero listener.js para probar los mensajes UDP. Puede verlos en acción en el ejemplo udp.orca.

OSC

El Open Sound Control es un estándar abierto para poner en red instrumentos musicales, considerado una evolución sobre el tradicional MIDI en un entorno libre como ha de ser la creación musical. 

ORCA opera con ellos gracias a una serie de operadores distintos a los MIDI.

El operador OSC = traba cada puerto consecutivo hacia el este. El caracter final se usará como ruta, y los caracteres siguientes serán evniados como integrales por medio de la Tabla Base36. En el Commander, se usa "osc:7777" para seleccionar el puerto OSC personalizado 7777, e "ip:127.0.0.12" para cambiar la IP de destino. OSC no está disponible en la versión de Orca para Navegador tampoco.

Por ejemplo, =1abc enviará 10, 11 yd 12 a /1, a través del puerto 49162 en el localhost; =a123 enviará 1, 2 y 3, a la ruta /a. Se puede usar el programa listener.js para evaluar los mensajes OSC. Oidrña verlo en acción en el programa osc.orca o  probarlo con SonicPi.

Controles Avanzados

Algunas de las características de Orca se pueden controlar externamente
vía el puerto UDP 49169 o a través de su propia interfaz de línea de
comandos. Para activar el prompt de comandos Commander debemos usar Ctrl+K.

Modo Proyecto

Se pueden insertar rápidamente ficheros .orca agregándolos así al archivo actual, usando el prompt de la línea de comandos. Esto le permitirá navegar a lo largo de múltiples ficheros como lo haría en un proyecto. Se usa Ctrl+L para cargar múltiples archivos .orca, y luego se usa Ctrl+B para tipear el nombre de un fichero .orca cargado para insertarlo allí.

Puertos por defecto

Entrada UDP  Entrada OSC  Salida UDP   Salida OSC
49160        Ninguno      49161        49162

Comandos

Todos los comandos tienen un equivalente de abreviación equivalente a sus primeros dos caracteres en inglés. Por ejemplo, podrá escribir usando "wr". La lista completa de los comandos es la siguiente:

play Reproduce un programa.
stop Detiene un programa.
run Corre el cuadro actual.
bpm:140 Configura la velocidad a 140 compases por minuto.
apm:160 Animate la velocidad a 160 compases por minuto.
frame:0 Configura el valor de cuadro a 0.
skip:2  Suma 2, al valor de cuadro actual.
rewind:2 Resta 2, al valor de cuadro actual.
color:f00;0f0;00f  Colorea la interfaz.
find:aV Envía el cursor a la cadena aV.   
select:3;4;5;6 Mueve cursor a posición 3,4 y selecciona tamaño 5:6(opcional).
inject:peron;12;34 Inserta el fichero local peron.orca, en 12,34(opcional).
write:H;12;34 Escribe el glifo H, en 12,34(opcional).
time Presenta el tiempo, en minutos y segundos, desde 0f.
midi:1;2 Configura el dispositivo de salida MIDI al #1, y el dispositivo de entrada al #2.
udp:1234;5678 Configura el puerto de salida UDP a 1234, y el puerto de entrada a 5678.
osc:1234 Configura el puerto de salida de OSC a 1234.

Anexo A: TABLA DE INCREMENTOS Base36

Orca se opera en base a 36 incrementos. Los operadores que emplean valores numéricos generalmente también operan sobre letras y las convierten a valores según la siguiente tabla. Por ejemplo, el Do se dispará en cada cuadro 24 de la secuencia.

0   1   2   3   4   5   6   7   8   9   A   B   
0   1   2   3   4   5   6   7   8   9   10  11

C   D   E   F   G   H   I   J   K   L   M   N
12  13  14  15  16  17  18  19  20  21  22  23

O   P   Q   R   S   T   U   V   W   X   Y   Z
24  25  26  27  28  29  30  31  32  33  34  35



    Anexo B: TABLA DE TRANSPOSICION

El operador MIDI interpreta cualquier letra sobre la escala cromática como un valor de transposición. Por ejemplo, 3H equivale a la nota Do (A4 en la notación ingles, y nomenclado 4A en ORCA).

0   1   2   3   4   5   6   7   8   9   A   B
_   _   _   _   _   _   _   _   _   _   A0  B0

C   D   E   F   G   H   I   J   K   L   M   N
C0  D0  E0  F0  G0  A0  B0  C1  D1  E1  F1  G1

O   P   Q   R   S   T   U   V   W   X   Y   Z
A1  B1  C2  D2  E2  F2  G2  A2  B2  C3  D3  E3

Referencia / Turorial Básico

Como se vio, ORCA opera en base a 36 incrementos secuenciales, y los operadores convierten valores alfanuméricos a valores que van de 0 a 36. Para manerjas las interacciones entre plataforma y cliente se usan caracteres especiales

Con esta sección enseñaré lo básico para tocar una nota y una secuencia de notas.

Enviar una Nota MIDI

D8, enviará un Disparo, cada 8 cuadros.
:03C, enviará un Do ("C") en la tercer octava. Para mandar un Do Sostenido ("C#", se usa la minúscula c3.

D8....:03C

Tocar una nota aleatoria

aRG, dará salida a un valor aleatorio entre A & G, la mayúscula de la derecha indica la salida en mayúscula.

D8.aRG.
.:03D..


Hacer una melodía

04TCAFE, creará una pista de 4 notas, y le dará salida a su primer valor.

D814TCAFE
.:03A....

Tocar la melodía

8C4, contará de 0 a 3, a 1/8 de la velocidad.

.8C4.....
D804TCAFE
.:03C....

Lógica

Esta sección le enseñará lo básico de la lógica automática de decisión y el cambio dinámico de los valores de los operadores.

Tocar cada segunda nota

2I6, incrementará a 6 a una velocidad de 2.

.2I6.......
D626TCAFEDG
.:03F......
 

Tocar una nota con un offset

1AC, agregará 1 a Do (C), para darle salida a un Re (D). Para lograr un Re Sostenido (D#), se usa d minúscula, como en 1Ac.

D8.1AC.
.:03D..


Tocar una secuencia de atrás y adelante 

La combinación de la salida de C6 a B3 revolará a un valor entre 0 y 3 durante 6 cuadros.

4C6......
.4B3.....
D414TCAFE
.:03A....

Tocar una nota en un intervalo específico

.I4, incrementará a 4, a una velocidad de 1.
.F2, disparará solo si la entrada de la izquierda es igual a 2. 

I4.....
3F2.1AC
..:03D.

Proyectores

Esta sección explica lo básico para crear nuevos operadores proceduralmente. Detienen un operador en movimiento.

E, se moverá a la izquierda cada vez, en cada cuadro.
H, detendrá el movimiento de E.

..H
E..
 

Lee un operador en una posición

22O, pone el operador E en el offset 2,2. 

22O...
..E..H
.....E

Escribe un Operador en una posición.

22X, le da salida al operador E en el offset 2,2. 

22XE.
.....
.....
....E

Animar un Proyector

B4, rebotará desde 0 a 4, de ida y vuelta.

C...........
.B4.........
.1XE........
........:03C
........:03D
........:03E
........:03F
........:03G

Variables

Esta sección ejemplifica lo básico para almacenar, acceder y combinar dichos datos almacenados. 

Escribir una variable 

aV5, almacenará 5 como variable a. 

aV5

Lee una variable 

Va, le dará salida al valor de la variable a. Note como las variables tienen que ser siempre escritas encima de donde son leídas.

.....Va
.......
aV5..Va
.....5.
.......
aV6..Va
.....6.

Leer 4 variables 

3Kion, dará salida a los valores de i, o y n, lado a lado. 

iV0.oV3.nVC
...........
3Kion......
.:03C......

Mover un valor horizontal y verticalmente 

Y, Mueve la entrada hacia la izquierda.
J, Mueve la entrada hacia abajo. 

3..
J..
3Y3

Portar un disparo

Este método permite llevar los disparos a un lugar cerrado.

D43Ka...
.Y.:03C...


jueves, 11 de abril de 2019

¿Como instalo efectos e instrumentos VST y LV2 en Ubuntu?

Los discursos de Juan Perón constituian una amalgama de percusión y color Justicialista. En uno de sus discursos frente a Plaza de Mayo, explicó como instalar con facilidad y al unísono desde la terminal un excelente paquete de plugins de audio LV2 y VST para Ubuntu.

¡Trabajadores!

Siempre he dicho que llevo en mis oídos la más maravillosa música, que es aquella generada a través de Software Libre.

El Movimiento Obrero se ha encargado de producir herramientas de excelencia para editar y componer música en una computadora libre, pero también es cierto que por más libres que sean las aplicaciones, no podemos programarlas desde un primer momento para que hagan todas.

La filosofía de nuestras organziaciones es bien clara: "para un software peronista no puede haber nada mejor que otro software peronista". Es por tal motivo que los programas libres pueden mancomunarse junto a otros libres, y atresar una unidad indisoluble e infinita. Esta cooperación que nos inspira puede llevarse a los programas de audio, para que sus cadenas de señal de audio pase de ser buena, a ser la mejor.

(Ovación).

No es secreto para nadie que estas grandes aplicaciones para la grabación de digital de audio (llamados en la jerga "DAW"), responden a la misma premisa. Ellas pueden albergar paquetes de efectos o instrumentos virtuales creados por otros procesos, y al cual están encadenados. De esta manera podemos encadenar un generador de sonido a un rack de efectos, como si de un carísimo estudio profesional se tratara. Ya he explicado en la Confederación General del Trabajo cómo instalar Qtractor, pero también existen otras como Ardour, LMMS, etc.

Pues bien, estos racks de efectos virtuales pueden tomar distintos calificativos. Los hay LV2, los hay LADSPA, los hay DSSI, los hay VST, pero todos trabajan en GNU con Linux. Sin duda LV2 es el más potente y nativo bajo Linux, pero también son muy comunes los VST, muchas veces privativos y pensados para otras plataformas de la ogniminiosa oligarquía.

¿Qué sucede si queremos utilizar LV2 o VST en Ubuntu? Lo lógico es que tengamos que descargarlos e instalarlos, y en ocasiones también compilarlos para lograr nuestro cometido. Esta tarea no es moco de pavo para el neófito, por lo que muchas veces el Pueblo requiere una mano con eso. Por tal motivo os indicaré de forma sencilla cómo instalar un buen conjunto de plugins, compilado por los compañeros del Proyecto DISTRHO.

El Proyecto DISTRHO se encarga de empaquetar o en ciertos casos, compilar distintos racks de efectos libres, y los portan al formato VST o LV2 a fin de poder utilizarlos de manera sencilla en Ubuntu. Podremos descargar un minipaquete pack de ellos directamente desde la terminal. Este comprende tres plugins simplones. Entre ellos contaremos con un ecualizador gráfico de tres bandas 3-Band EQ, un separador de bandas 3-Band Splitter, y un delay estéreo, el Ping Pong Pan, que nos puede servir en mezclas hip-hop.
Sin embargo, el resto de los paquetes portados son los que aportan excelencia. Entre ellos tendremos al Artican Audio se presenta con dos plugins, entre ellos The Pilgrim 2, un filtro resonante con corte de frecuencia.
Dexed es un excelente instrumento virtual, ahora en formato LV2 y VST, capaz de simular con varios motores gráficos a los clásicos Yamaha DX7 de 6 operadores, los primeros sintetizadores digitales programabales y fundamentales en los 80s. De este ya he hablado en detalle para instalarlo como standalone, pues puede recibir volcados de memoria originales de tales sintetizadores para utilizarlo como patches del mismo.
El JuceOPL es un instrumento virtual en VST y LV2, que emplea una emulación de chip de sonido Yamaha OPL3 como los que venían en las clásicas placas de sonido AdLib y SoundBlaster.
Luftikus es un rack de ecualización para de cinco bandas, pensado para dar una tonalildad y calidez analógica simulada a nuestras mezclas. Es adecuado para el mástering.
Mverb es un rack de reverberación que nos da un sonido noventoso, es programable para distintas bandas de frecuencia, e incorpora un pre-amplificador de ganancia simulado y un amplificador final. Es ideal para ponerlo al final de la cadena de audio de una pista, pues es muy liviano.
El Obdx es un instrumento sintetizador virtual, que viene en formato LV2 y también el viejo VST. Se encarga de proporcionarnos un sonido inspirado en los clásicos y raros sintetizadores aditivos de tres osciladores de la marca Oberheim, como el OB-X, el OB-XA, OB-8, etc.
Pitched Delay es un efecto de retraso capaz de someter la onda de entrada a una deformación sónica octavada, para lograr distintos efectos de rebote musical en su eco digital. Lo podremos programar con distantas cantidades de pasos, tiempos del retraso, y generar sonidos secos o húmedos para el staccatto reverberado/corificado.
 Refine es un filtro de salida con analizador gráfico, cuya misión es modificar ciertos aspectos de la mezcla, entre ellos la calidez, la espacialización y el punch de la misma. Trabaja mejor como filtro limitador de salida con una ecualización paramétrica suave, ideal para la masterización.
Stereo Source Separator es precisamente un separador de fase estéreo para las señales de origen, por lo cual conviene utilizarlo en pistas estéreo individuales. Consta con dos filtros separadores de bandas (pasabajo y pasalto).

El kit de plugins TAL cuentan con varios racks VST y LV2, entre ellos tres reverbs, el TAL Dub-3, un filtro dinámico (TAL Filter II), y el deformador TAL Vocorder. Uno de los más conocidos sintetizadores libres es el viejo Synth1 NoiseMaker.

Mi favorita es el sencillo rack reverberador TAL-Reverb, que propone un eco bien cálido y ochentoso, excelente cuando la combinamos con el sintetizador Dexed "a seco", o el mucho más limitado JuceOPL.
El sintetizador VEX es un sintetizador substractivo de 3 osciladores y disparador de samples, tal vez una mezcla de los sintetizadores PCM sintetizados tipo Korg. Posee una gran variedad de ondas para sus tonos principales. Cada uno de los tres osciladores es completamente autónomo (el botón rojo activa el banco de oscilación respectivo). Cada banco tiene su propio ajuste de octavador, desafinación, ajuste de fase, sección de filtros con generador de envolvente, capacidad de filtrado pasabajo/pasalto, secciones LFO, canalizado de efectos para sus secciones de reverberación, coro y retraso. A su vez, cada oscilador cuenta con un arpegiador de 16 compases (lo abrimos haciendo clic en el botón azul). Este arpegiador puede regularse en velocidad y sincronismo cromático.

Wolfpetinger es un instrumento sintetizador substractivo polifónico con antialiasing, que funciona como plugin LV2.
Otro instrumento virtual excelente en LV2 es el sintetizador Odin2. Se trata de un sintetizador aditivo polifónico a 24 notas, con un ruteo de señal reminiscente del  Korg-35 provisto con el rack de filtros Moog-Ladder.

Primero Abrimos una terminal con Ctrl+Alt+T. Siempre como primera medida conviene instalar el paquete de plugins de audio oficial de Ubuntu Sturidio.

sudo apt install ubuntustudio-audio-plugins

Nuestro sistema nos pedirá nuestra contraseña de Conductor, y descargará una muy buena colección. Por otro lado, armará de forma automática toda la estructura de sistema para albergar más y nuevos plugins, lo cual facilita mucho la instalación de lo demás. Conforme esté sea una realidad efectiva, podremos descargar e instalar las versiones de 64 bits de todos los plugins del proyecto DISTRHO. Para ello en la terminal ingresamos el siguiente bloque de Comandos de Organización.

Nota: En caso de que contemos con una arquitectura de 32 bits, debemos reemplazar en los siguientes comandos "64" por "32". Para ello podríamos simplemente usar la función "reemplazar" de cualquier editor de texto.

cd ~/Descargas/ ;
mkdir plugins/ ;
cd ~/Descargas/plugins/ ;
echo "Descargando paquetes de plugins" ;
wget https://github.com/DISTRHO/DPF-Plugins/releases/download/v1.1/distrho-mini-series-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/arctican-plugins-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/dexed-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/drowaudio-plugins-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/juce-opl-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/luftikus-linux64.tar.xz ;
wget https://github.com/DISTRHO/DPF-Plugins/releases/download/v1.1/mverb-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/obxd-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/pitcheddelay-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/refine-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/stereosourceseparation-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/tal-plugins-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/vex-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/wolpertinger-linux64.tar.xz ;
wget wget https://www.thewavewarden.com/assets/Odin_2.2-4.deb ;

echo "Descomprimiendo plugins..." ;
cd ~/Descargas/plugins/ ;
tar -xJf distrho-mini-series-linux64.tar.xz ;
tar -xJf arctican-plugins-linux64.tar.xz ;
tar -xJf dexed-linux64.tar.xz ;
tar -xJf drowaudio-plugins-linux64.tar.xz ;
tar -xJf juce-opl-linux64.tar.xz ;
tar -xJf luftikus-linux64.tar.xz ;
tar -xJf mverb-linux64.tar.xz ;
tar -xJf obxd-linux64.tar.xz ;
tar -xJf pitcheddelay-linux64.tar.xz ;
tar -xJf refine-linux64.tar.xz ;
tar -xJf stereosourceseparation-linux64.tar.xz ;
tar -xJf tal-plugins-linux64.tar.xz ;
tar -xJf vex-linux64.tar.xz ;
tar -xJf wolpertinger-linux64.tar.xz ;

echo "Instalando Odin..." ;
cd ~/Descargas/plugins/ ;
sudo dpkg -i Odin_2.2-4.deb

echo "Moviendo plugins minis..." ;
cd ~/Descargas/plugins/distrho-mini-series-linux64/ ;
sudo mv 3BandEQ-vst.so /usr/lib/vst/ ;
sudo mv 3BandSplitter-vst.so /usr/lib/vst/ ;
sudo mv PingPongPan-vst.so /usr/lib/vst/ ;
sudo mv 3BandEQ.lv2/ /usr/lib/lv2/ ;
sudo mv 3BandSplitter.lv2/ /usr/lib/lv2/ ;
sudo mv PingPongPan.lv2/ /usr/lib/lv2/ ;
sudo mv 3BandEQ-ladspa.so /usr/lib/ladspa/ ;
sudo mv 3BandSplitter-ladspa.so /usr/lib/ladspa/ ;
sudo mv PingPongPan-ladspa.so /usr/lib/ladspa/ ;
sudo mv *.so /usr/lib/dssi/
sudo mv 3BandEQ-dssi/ /usr/lib/dssi/ ;
sudo mv 3BandSplitter-dssi/ /usr/lib/dssi/ ;
sudo mv PingPongPan-dssi/ /usr/lib/dssi/ ;

echo "Instalando Arctican..." ;
cd ~/Descargas/plugins/arctican-plugins-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv TheFunction.lv2/  /usr/lib/lv2/ ;
sudo mv ThePilgrim.lv2/ /usr/lib/lv2/ ;

echo "Instalando Plugins de Drowaudio..." ;
cd ~/Descargas/plugins/drowaudio-plugins-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv drowaudio-distortion.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-flanger.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-tremolo.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-distortionshaper.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-reverb.lv2/ /usr/lib/lv2/ ;
cd -

echo "Instalando Juce OPL..." ;
cd ~/Descargas/plugins/juce-opl-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv JuceOPL.lv2/ /usr/lib/lv2/ ;
cd ~/Descargas/plugins/ ;

echo "Instalando Luftikus..." ;
cd ~/Descargas/plugins/luftikus-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Luftikus.lv2/ /usr/lib/lv2/ ;

echo "Instalando MVerb..." ;
cd ~/Descargas/plugins/mverb-linux64/ ;
sudo mv MVerb-vst.so /usr/lib/vst/ ;
sudo mv MVerb.lv2/ /usr/lib/lv2/ ;
sudo mv MVerb-dssi/ /usr/lib/dssi/ ;
sudo mv MVerb-dssi.so /usr/lib/dssi/ ;
sudo mv MVerb-ladspa.so /usr/lib/ladspa/ ;

echo "Instalando OBDX..." ;
cd ~/Descargas/plugins/obxd-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Obxd.lv2/ /usr/lib/lv2/ ;

echo "Instalando Pitched Delay..." ;
cd ~/Descargas/plugins/pitcheddelay-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv PitchedDelay.lv2/ /usr/lib/lv2/ ;

echo "Instalando Refine Plugin" ;
cd ~/Descargas/plugins/refine-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv ReFine.lv2/ /usr/lib/lv2/ ;

echo "Instalando Stereo Source Separation" ;
cd ~/Descargas/plugins/stereosourceseparation-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv StereoSourceSeparation.lv2/ /usr/lib/lv2/ ;

echo "Instalando Plugins TAL..." ;
cd ~/Descargas/plugins/tal-plugins-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv TAL-Dub-3.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Filter-2.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Filter.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-NoiseMaker.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Reverb-2.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Reverb-3.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Reverb.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Vocoder-2.lv2/ /usr/lib/lv2/ ;

echo "Instalando VEX" ;
cd ~/Descargas/plugins/vex-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Vex.lv2/ /usr/lib/lv2/ ;
echo "Descargando patches de VEX..." ;
mkdir ~/.lv2/ ;
cd ~/.lv2/ ;
wget http://linuxsynths.com/VexPatchesDemos/VexPatches01.tar.gz ;
wget http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz ;
tar xvzf VexPatches01.tar.gz ;
tar xvzf VexPatches02.tar.gz ;

echo "Instalando Wolpertinger..." ;
cd ~/Descargas/plugins/wolpertinger-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Wolpertinger.lv2/ /usr/lib/lv2/ ;
cd ~/Descargas/plugins/ ;

echo "Instalando dexed..." ;
cd ~/Descargas/plugins/dexed-linux64/ ;
sudo mv Dexed.lv2/ /usr/lib/lv2/ ;
cd ~


Una vez instalado los plugins, ya no necesitaremos sus archivos de base, los cuales podremos borrar con:

cd ~/Descargas/plugins/ ;
rm *.tar.xz ;
cd ~/Descargas ;
rm -r /plugins/ ;