¿Cómo puedo emular un sintetizador Yamaha DX7 en Ubuntu?
Pocos saben que en mis años de cadete, contaba con una amplia variedad
de teclados sintetizadores clásicos, lo que me convirtieron en un ávido
programador de música Pop. En aquellos años pocos eran quienes dominaban
este arte, pero la libertad de la informática asociada a la música es
hoy un logro que ha de otorgarse al Pueblo. Solo así éste podrá dar la
lucha con el ritmo de la más maravillosa música que es para mi la
programada digitalmente.
Vean señores, en los años que los aparatos musicodigitales aparecieron
como alternativa fiable, sucedió lo que siempre pasa cuando se deja al
Capital hacer de las suyas: se hicieron elitistas. Pero hubo uno que
marcó diferencia por su popularidad y quedó entrañado en esa memoria ROM
imborrable que se guarda en el corazón del Pueblo: Se trataba del Yamaha
DX7 de 1983, el primer teclado con sintetizador digital programable que
logró éxito entre la Masa Popular, que es el verdadero consumo.
Siendo monotímbrico de 76 teclas, su sonido dulzarrón y polifonía de 16
voces se debía a sus seis operadores independientes en forma de de onda
oscilada sinusoidal, manejables todos ellos de manera digital. Estos
generadores empleaban la técnica de síntesis de frecuencia modulable
según 32 "algoritmos" ofrecidos, los que resultaban - en colofón - una
plétora de posibilidades armónicas o atonales según la habilidad del
sonidista. El usuario podía programar 32 voces propias en memoria
interna.
Estos patches "algorítmicos" , si bien se pueden modificar desde el
propio teclado, son bastante complejos en sus resultados, poco
intuitivos y difíciles de programar, lo que hacía que la mayoría de los
músicos optaran simplemente por los sonidos de fábrica.
Para facilitar las cosas, el aparato ofrecía ya 32 sonidos (patches)
preprogramados que se hicieron clásicos, en tanto que Yamaha, ni lerda
ni perezosa, se ocupó de vender aparte una colección de cartuchos ROM
con nuevos sonidos ya hechos (se insertaban en el la parte trasera del
teclado "a la Family Game").
Cada uno de estos cartuchos contaba con 2 bancos de memoria ("A" y "B")
con 32 sonidos por banco. Esto significaba hasta unos 128 sonidos
distintos que el teclado podía direccionar (32 internos de fábrica, 32
programables de usuario, y 64 en el cartucho removible opcional).
Debemos tener en cuenta que el sintetizador original es una computadora
de 1983, y como tal requiere avanzados conocimientos de direccionamiento
de memoria y parametrización de envolventes sonoras, necesarios como
para ser proficiente en la creación de sonidos. Pues bien, con el correr
del tiempo se hizo evidente que - por medio de software especializado y
la interfaz MIDI provista en el Yamaha DX7 - podrían hacerse mejores
cosas desde una computadora. Hubo entonces mucho software para poder
manejar el teclado de una forma más sencilla con los sistemas
informáticos del momento.
Indudablemente que GNU con Linux no podía quedarse atrás. Gracias a
ello, los técnicos de nuestro Movimiento se han abocado al desarrollo de
un software libre que no sólo permitiera programar los patches a través
de MIDI - como muchos ya lo hacían - sino que empleara sintetizadores
virtuales para emular directamente el sonido del Yamaha DX7, en un
sistema Linux.
Todo esto se ha logrado con el el excelente Dexed.
Dexed es un programa y un instrumento virtual multiformato (VST, LV2,
AU) multiplataforma y modelado para parecerse al clásico sintetizador
Yamaha DX7. Está liberado bajo licencia GPLv3. En GNU con Linux,
podremos emplear Dexed solo o como plug-in dentro de cualquier programa
que use instrumentos virtuales VST (como por ejemplo, Qtractor, Ardour,
etc).
Para instalar Dexed en nuestro Ubuntu, habremos de descargar su código
fuente y compilarlo. Esto normalmente sería una tarea imposible para el
neófito, pero como Conductor del destino de los Argentinos y paternal
asistente de Ubuntu, os indicaré como hacerlo.
En primer lugar abrimos una Terminal con Ctrl+Alt+T, y en ella pegamos y
ejecutamos con Enter cada uno de los siguientes comandos de
organización:
cd ~ ;
sudo apt update ;
Esto nos solicitará nuestra contraseña de Conductor de sistema. Tras
ingresarla "a ciegas" y presionar Enter, continuará con el
procedimiento. No bien termine, debemos ingresar el siguiente comando
para descargar sus librerías:
sudo apt-get install git freeglut3-dev g++ libasound2-dev
libcurl4-openssl-dev libfreetype6-dev libjack-jackd2-dev libx11-dev
libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev
mesa-common-dev ;
..y finalmente, descargamos el código fuente, lo compilamos e
instalamos mediante los siguientes comandos de organización.
git clone
https://github.com/asb2m10/dexed.git ;
cd ~/dexed/Builds/Linux ;
make CONFIG=Release ;
sudo install -Dm755 build/Dexed.so /usr/lib/vst/Dexed.so ;
sudo cp ~/dexed/Builds/Linux/build/Dexed /usr/local/bin/ ;
Dexed se compilará entonces en dos versiones similares: una consiste en
un instrumento virtual VST (que requiere una aplicación de audio huésped
para funcionar. La otra es una versión "stand-alone" que puede
ejecutarse directamente
Si queremos borrar el directorio de compilación (ya no lo necesitamos),
ingresamso:
cd ~ ;
rm -R ~/dexed/ ;
..y si nos preguntas si deseamos eliminar los archivos con protección
de escritura, ingresamos "s" ("si").
Para la versión stand-alone, podremos ejecutarla directamente tipeando
el comando "Dexed" en la terminal, pero es mucho más cómodo crearle a
mano un Lanzador o acceso directo para este menester. Os lo explicaré.
Hacemos clic con el botón derecho del mouse sobre nuestro el panel
superior en el menú Aplicaciones y elegimos "Editar Menú". Al abrirse el
cuadro de diálogo Menú Principal, en su sección izquierda hacemos clic
en la categoría "Sonido y video". Luego presionamos el botón "+Elemento
nuevo"
...esto abrirá la ventana Crear lanzador. En el campo "Comando:"
Agregamos el comando "Dexed" (con D mayúsculas como se indica). También
podremos indicar el nombre Dexed y un ícono y un comentario explicativo
opcional. Finalmente presionamos el botón Aceptar.
Ahora podremos ejecutar Dexed desde Aplicaciones / Sonido y Video /
Dexed. Naturalmente, también podríamos agregar el instrumento VST
"Dexed" a una pista de nuestra DAW, podremos desplegar su panel de
control para operarlo.
El amplio panel inicial presenta los controles detallados, con una buena
reproducción gráfica que simula el esquema de color del Yamaha DX7. En
su parte inferior nos da un teclado activable con el mouse, pero también
podremos usar nuestro teclado para tocar líneas simples.
Gracias a ello Dexed puede sintetizar con muy buena fidelidad el sonido,
lo suficientemente capaz como para considerarse profesional. El
sintetizador integrado nos permite contar con los 144 parámetros del
DX7, a los cuales es posible automatizar. En sí contamos con los 6
operadores y los 4 parámetros de envolvente clásicos.
Naturalmente, si tenemos un un teclado controlador MIDI o incluso un
Yamaha DX7 real, podremos configurarlo para poder asociarlo, via un
adaptador MIDI-USB. Ello lo hacemos en el emulador mediante el botón
Options.
En cuanto a la salida de sonido normalmente funciona con
ALSA/Pulseaudio, aunque puede hacerse por medio del servidor de audio
JACK si está activo.
Podremos enviar los datos paramétricos y manejar desde la computadora al
Yamaha DX7. En el caso de que no tengamos este sintetizador, bien
podremos usar Dexed para que opere como un sintetizador paramétrico FM,
con un resultado bastante similar al Yamaha DX7, aunque utilizando una
emulación del chip sintetizador Yamaha OPL3.
Cada operador emulado presenta entonces un cuidado vúmetro que nos
permite saber cuándo está activo.
Dexed puede ser configurado para usar algunas de las limitaciones del
sintetizador DX7 original. Esto no solo aplica a su conversor digital
analógico, sino que también hace a la resolución de bit de las ondas
sinusoidales y la manera en la cual su control de amplitud se aplica a
cada operador. Esta característica sonora supuestamente ofrece una
rendición más auténtica, pero puede variar en el gusto del usuario, por
lo cual se ofrecen tres "motores" o sintetizadores distintos que
podremos elegir haciendo clic en PARM.
Podremos elegir entre:
Modern: Se trata de una emulación del sintetizador de 24 bits.
Mark I: Viene por defecto. Se basa en la serie Yamaha OPL pero
emplea una resolución mayor (LDT de 10 bits). De esta manera puede ser
más cercano al sonido del DX7 real.
Serie OPL: Se basa en una experimentación del chip Yamaha OPL de 8
bits.
Indudablemente, comparar el sonido entre de un Yamaha DX7 auténtico y
Dexed puede sonar a comparar al Movimiento Peronista Auténtico con el
auténtico peronismo. Pero no deja de ser algo útil en ciertos casos.
Gestión de patches
Como vimos, el Yamaha DX7 original cuenta con un banco de 32 memorias de
usuario y adicionalmente, contaba con cartuchos. En Dexed estos se
representan con volcados de memoria de estos mismos cartuchos
(esencialmente, copias digitales de ellos). Son archivos de extensión
sys.
Cualquier archivo .syx que se encuentre en el directorio de cartuchos
(normalmente
/home/usuario/.local/share/DigitalSuburban/Dexed/Cartridges) estará
disponible en la ventana CART del emulador. Podremos cambiar el
directorio usando el botón CART del emulador Dexed, y luego presionando
el botón SHOW DIR.
Podremos arrastrar y soltar cualquier parche o programa de DX7 que
tengamos cargados en Dexed, y que tengamos cargado en el navegador de
cartuchos. Al hacer doble clic en un patch, se cargará dicho programa
actualmente elegido al emulador.
Dexed ya viene con 32 voces, y podremos agregarles muchas mas que vienen
en el directorio SynprezFM. Podremos utilizar el botón derecho del mouse
para enviar el programa/cartucho al DX7 o abrir el navegador de archivos
para buscar el patch en el directorio de cartucho que deseemos.
Pero no solo eso, podremos encontrar un excelente compilado de programas
de DX7 comprimidos en un archivo ZIP aquí. Si deseamos agregarlos desde
la terminal hacemos:
cd ~/.local/share/DigitalSuburban/Dexed/Cartridges ;
wget
http://hsjp.eu/downloads/Dexed/Dexed_cart_1.0.zip ;
unzip Dexed_cart_1.0.zip ;
..y reiniciamos el programa para poder verlos.
Dexed como un editor de parches para el Yamaha DX7
Si tenemos un Yamaha DX7 original conectado por la interfaz MIDI, bien
podremos usar este programa como un editor de patches y administrador de
mensajes MIDI extendidos de sistema (SysEx). Es mucho más cómodo que
usar la incomodísima interfaz de usuario del DX7.
Ya que los mensajes MIDI extendidos de sistema (SysEx) que usa el Yamaha
DX7 son algo problemáticos para enviar con las interfaces MIDI nativa
Ubuntu, debemos enviarlos y recibirlos con una interfaz MIDI USB
externa. Esto puede configurarse con el panel PARM.
Al configurar una interfaz MIDI "DX7 in / DX7 Out", Dexed recibirá los
cambios de programa / cartucho específicos desde el teclado DX7 y los
enviará al controlador/programa/cartucho que editemos.
Pre-requisitos
Antes de usar esta interfaz MIDI, el teclado Yamaha DX7 debe estar
configurado para enviar y recibir mensajes SysEx. Esto se hace en el
teclado Yamaha DX7, presionando FUNCTION y el botón 8
Debemos revisar el canal MIDI. La mayoría de los Yamaha DX7 sólo pueden
enviar datos a través de su interfaz MIDI OUT en el canal 1 (si bien
pueden recibir en cualquiera de los 16). Debemos presionar 8 nuevamente
en el Yamaha DX7, y en su display podremos conmutar entre "SYS INFO
AVAIL" (Información de sistema disponible) o "SYS INFO UNAVAIL"
(información de sistema no disponible). Debemos elegir SYS INFO AVAIL
para que el Yamaha DX7 pueda transmitir mensajes extendidos de sistema.
También debemos remover la protección de memoria de la memoria interna o
la memoria del cartucho para poder recibir un volcado de memoria de las
32 voces disponibles en Dexed. Para ello en el teclado debemos presionar
el botón MEMORY PROTECT y luego presionar el botón NO.
Para enviar datos al teclado Yamaha DX7 por MIDI.
Si el puerto MIDI está configurado, cualquier parámetro que cambiemos en
el panel de control de Dexed será enviado al teclado DX7. Podremos
enviar cualquier programa/cartucho en la ventana CART del emulador
usando el menú contextual (haciendo clic con botón derecho sobre la
ventana CART).
Para recibir parches desde nuestro teclado al emulador.
El puerto MIDI debe estar configurado.
Enviaremos un programa desde el teclado a Dexed usando el botón MEMORY
SELECT del Yamaha DX7 y luego el número de programa que queremos
enviarle al emulador Dexed (desde el 1 al 32).
Para recibir un cartucho instalado en el teclado, presionamos FUNCTION y
luego presionamos tres veces 8, y debemos ver en el display "MIDI
TRANSMIT ?". Si presionamos el botón YES, y el teclado enviará el
volcado completo de la memoria del cartucho, el cual debería aparecer en
el emulador Dexed.