¿Cómo emulo un módulo Roland MT-32 en DOSbox en Ubuntu?
¡Trabajadores!
Nuestro Movimiento es uno que hace hincapié en los humildes, pues estos
son quienes trazarán el camino de la Liberación. Poco valdría nuestro
Movimiento si no nos juntáramos con los negros.
A ellos hemos de darle todo, pues son nuestros grasitas quienes todo lo
necesitan. Esto se ha repetido infinidad de veces a lo largo de la
historia.
Por ejemplo, es sabido que a principios de los 90s las placas de la
línea SoundBlaster de Creative Labs se convirtieron en el estándar de
sonido digital en la PC, hubo otros dispositivos especializados en la
música que no se quedaron atrás en performance: los módulos Roland
MT-32. Se trataba de unidades provistas de un potente sintetizador
multitímbrico y polifónico PCM lineal (modulación de pulso), con calidad
sonora superior a la que la que permitía la síntesis FM tan en boga en
los 80s.
Estos módulos externos, controlables a través del estándar MIDI,
permitían reproducir la música de los juegos con una mucho mayor calidad
sonora, siempre que estos contaran con el soporte Roland necesario. En
particular, fueron las aventuras gráficas de las productoras Sierra y
Lucasfilm/LucasArts quienes promovieron estos excelentes módulos MIDI.
Pese a su resultado excelentes, indudablemente su talón de aquiles era
el elevado precio que contaban, el cual solía duplicar o triplicar el de
una placa de sonido convencional. Roland entonces decidió concentrarse
en una versión compatible del mismo pero con el form factor de tarjeta
de expansión ISA de 8 bits, la LAPĈ-I.
Esta plaqueta contenía el chip sintetizador, la interfaz MIDI
programable MPU-401, y las salidas de audio independientes en una única
unidad, lo cual la tornaba excelente para música y juegos. Sin embargo,
su oligárquica naturaleza la alejó del Pueblo. Los humildes jamás
pudieron conseguirla, y por ello estas placas y módulos de sonido
quedaron en el recuerdo. Nuestro Movimiento tiene la ineludible misión
de corregir esto, y hacer todo lo que se pueda en la visión de que un
argentino con una MT-32 - aunque sea virtual y años después de su
lanzamiento real - no hace otra cosa que representar el cristiano
concepto de Justicia Social...
Pues bien, ya he explicado cómo emular un módulo sintetizador Roland
MT-32 a través de un sintetizador virtual con Soundfonts para jugar
aventuras gráficas con ScummVM en Ubuntu. Sin embargo, podría suceder
que quisiéramos contar con un emulador específico de la Roland MT-32
para otros juegos o programas que no pueden correrse en ScummVM y si lo
hacen en DOSbox. Por tal motivo hoy os enseñaré cómo hacer realidad
efectiva este complejo cometido. De momento nadie ha osado hacerlo bajo
las banderas del Justicialismo y el Software Libre, y como Conductor no
podía dejar de deberme a mi Pueblo, aquél que me ha honrado con las
palmas y laureles de general de la Nación - pero sobre todas las cosas -
con el título que más me enorgullece: el de ser un vínculo de unión
entre los hombres que trabajan.
instalar el emulador de Roland MT-32 Munt en Ubuntu
Pondremos manos a la obra. En este caso recurriremos a un emulador de la
Roland MT-32 multiplataforma. Específicamente, os instruiré para
instalar una versión de 64 bits capaz de operar en Ubuntu 16.04 y
superiores. Se trata de un emulador escrito en QT y liberado bajo
licencia GPLv3, por lo cual puede hacer una representación gráfica del
mismo bajo Ubuntu. Podremos hacer uso del mismo como si de un
dispositivo MIDI virtual se tratara. Su nombre es Munt.
Para que Munt opere adecuadamente y entienda cómo poder emular los
módulos Roland, debe contar al menos con cuatro volcados de memoria ROM
(archivos de solo lectura del aparato original). Los archivos necesarios
son CM32L_CONTROL.ROM, CM32L_PCM.ROM, MT32_CONTROL.ROM y MT32_PCM.ROM.
Las ROM de control tienen la programación de funcionamiento del aparato,
y se acompañan por una ROM PCM correspondiente a los sonidos
instrumentales propiamente dichos. No es necesario explicar que estos
dos pares de volcados de ROM sirven para emular el módulo MT-32 como
para la CM-32L/LAPC-I.
Consigamos pues estos archivos usando nuestra Terminal de Linux. Abrimos
una con Ctrl+Alt+T e ingresamos el siguiente bloque de Comandos de
Organización, seguido de la tecla Enter:
mkdir ~/roms/ ;
cd ~/roms/ ;
wget
ftp://ftp:
[email protected]/TheZone/files/_2013/Roland_MT-32_ROMs%20[for%20Dosbox%20Ykhwong%20MT-32%20emulation.].zip
;
mv 'Roland_MT-32_ROMs [for Dosbox Ykhwong MT-32 emulation.].zip'
mt32roms.zip ;
unzip mt32roms.zip ;
..esto extraerá las ROMs y las colocará en la carpeta
/home/usuario/roms. Acto seguido podremos descargar e instalar el
emulador de Roland para Ubuntu: el Munt 2.3.0 de 64 bits. Debemos pegar
en la terminal el siguiente bloque de comandos de organización:
wget
https://sourceforge.net/projects/munt/files/munt/2.3.0/Ubuntu-16.04/x86_64/mt32emu-qt-1.7.1.deb
;
wget
https://sourceforge.net/projects/munt/files/munt/2.3.0/Ubuntu-16.04/x86_64/mt32emu-smf2wav-1.5.0.deb
;
wget
https://sourceforge.net/projects/munt/files/munt/2.3.0/Ubuntu-16.04/x86_64/libmt32emu-2.3.0.deb
;
wget
https://sourceforge.net/projects/munt/files/munt/2.3.0/Ubuntu-16.04/x86_64/libmt32emu-dev-2.3.0.deb
;
sudo dpkg -i libmt32emu-2.3.0.deb
sudo dpkg -i mt32emu-qt-1.7.1.deb
sudo dpkg -i mt32emu-smf2wav-1.5.0.deb
sudo dpkg -i libmt32emu-dev-2.3.0.deb
Será muy útil crear un acceso directo al ejecutable de Munt: el archivo
mt32emu-qt. Para ello hacemos clic con el botón derecho del ratón en
Aplicaciones en el panel superior, y elegimos Editar Menús. Se abrirá la
ventana "menú principal". En su sector izquierdo hacemos clic sobre la
categoría Sonido y Video, y luego presionamos el botón Elemento Nuevo.
Se abrirá la ventana Crear lanzador. En su campo Nombre: podremos poner
Munt Roland. En el campo Comando: debemos ingresar mt32emu-qt, y en el
campo Comentario podremos ingresar una descripción del Munt. Cuando
tenemos todo completado presionamos el botón Aceptar.
Todas estas tareas debemos realizarlas únicamente la primer vez, y ya
nuestro sistema quedará preparado. Ya podremos ejecutar el emulador
Munt. Para ello vamos a Aplicaciones / Sonido y Video / Munt Roland. Si
deseamos ejecutarlo desde la terminal, debemos ingresar:
mt32emu-qt
La primera vez que arranque, Munt mostrará en su título de ventana el
puerto ALSA MIDI. Normalmente este es 128:0, pero en mi caso, como ya
cuento con otro sintentizador MIDI (el FluidSynth), el Munt recibe el
puerto siguiente, el 129:0. Es importante conocer exactamente cuál es
nuestro puerto ALSA MIDI para Munt en nuestro sistema.
Tengamos en cuenta que si no estamos seguros, podremos revisar también
esta variable ingresando en la terminal lo siguiente:
aconnect -o
..y al presionar Enter el sistema nos devolverá los puertos de los
dispositivos MIDI, por ejemplo:
cliente 14: 'Midi Through' [tipo=kernel]
0 'Midi Through Port-0'
cliente 128: 'TiMidity' [tipo=usuario]
0 'TiMidity port 0 '
1 'TiMidity port 1 '
2 'TiMidity port 2 '
3 'TiMidity port 3 '
cliente 129: 'Munt MT-32' [tipo=usuario]
0 'Standard '
El emulador Munt debería cargar dos ROM automáticamente. Si no lo hace,
o quisiéramos cargar las ROM a mano, debemos ir al menú Options / ROM
Configuration, y podremos escoger la ruta y los archivos (los hemos
puesto en /home/usuario/roms). Una vez agregados a la lista, podremos
presionar Refresh y tildar el par que querramos utilizar.
Munt nos presentará con un ícono en el panel superior.
Si hacemos clic sobre él y elegimos Show MIDI Player ("Mostrar
reproductor MIDI"), podremos activar un reproductor MIDI stand-alone,
capaz de tocar una lista de archivos MIDI a través del Roland MT32
virtual.
Configurar DOSBox para usar el emulador Munt de Roland MT-32
Ya he explicado cómo instalar DOSBox en Ubuntu y asumiré que lo han
hecho y que saben utilizar M$-DO$.
En este caso, nuestro anhelo ha de llevarnos más allá del uso simple de
DOSbox: no sólo deseamos contar con un sintetizador virtual en Ubuntu,
sino que queremos ser capaces de usar este mismo sintetizador emulado
con los mejores juegos para M$-DO$ de antaño, usando DOSbox. Para ello
modificar su configuración. Os instruiré para que el éxito nos acompañe.
En primer lugar modificaremos el archivo de configuración de DOSBox.
Para ello en la terminal ingresamos:
nano ~/.dosbox/dosbox-0.74.conf
Esto abrirá el editor GNU Nano con el archivo de configuración de
DOSBox.
Presionamos Ctrl+w para activar la opción de búsqueda, y buscamos la
sección [midi]. En dicha sección nos aseguramos de modificar el modo de
compatibilidad de la interfaz virtual Roland mpu401 para que quede en
modo "inteligente", y en la variable midiconfig nos aseguramos de
ingresar el número de puerto de Munt de nuestro sistema (recordemos que
suele ser 128:0, en mi caso es 129:0). De modo que las variables queden
así:
mpu401=intelligent
mididevice=default
midiconfig=129:0
Luego guardamos los cambios realizados en el fichero con Ctrl+o y
salimos del editor GNU Nano con Ctrl+x.
Una vez hecho estos cambios, debemos recordar iniciar Aplicaciones /
Sonido y Video / Munt antes de iniciar DOSbox.
Si ya tenemos Munt iniciado, podremos ejecutar DOSbox, desde
Aplicaciones / Juegos / Emulador DOSbox.
Si todo va bien, DOSbox debería conectarse al emulador Munt, y en el
caso de que tengamos activadas las notificaciones de Munt, recibiríamos
el siguiente mensaje:
Ahora podremos ejecutar los juegos que queramos en el emulador DOSbox.
Configurar los juegos de M$-DOS para usar Roland MT-32
Como buenos peronistas, debemos tener en cuenta que para que los juegos
sean capaces de utilizar la Roland MT-32, debemos configurarlos en tal
sentido. En la época del DOS existían varios estándares de audio, y no
era común que los juegos contaran con rutinas de autodetección del
sonido, sino que debíamos configurarlos a mano. Normalmente para tal
cometido se utilizaba un programa ejecutable (.exe, .com o .bat)
incluido en el directorio del juego. Por ejemplo, podíamos encontrar
archivos llamados install.exe, setsound.exe, sound.exe, o setup.exe.
Normalmente estas utilidades normalmente se encargaban de escribir un
archivo en el directorio del juego que especificaba las opciones de
audio preferidas del usuario y la configuración de la/s tarjeta/s de
sonido.
Por ejemplo, para activar la Roland en los juegos de Dynamix/Sierra,
debíamos usar el programa install.exe, y elegir la opción de audio
deseada. Esta rutina tildaba aquellas disponibles para nuestro
sistema...
En los juegos más logrados, podíase utilizar la Roland MT-32 en
conjunción con la SoundBlaster, a fin de lograr música sintetizado de
calidad superior a través de la Roland, junto con audio digitalizado a
través de la SoundBlaster.
En las rutinas de configuración del sonido, debíamos especificar el
puerto de dirección de la placa de audio. Este normalmente era 330h para
la Roland MT-32 y otros dispositivos MIDI, mientras que se empleaba 220h
para SoundBlaster. El IRQ de la SoundBlaster suele estar definida en el
archivo de configuración dosbox-0.74.conf, y suele ser 5 o 7.
La Roland MT-32 era compatible en gran medida con la CM-32L, un módulo
más avanzado técnicamente, pero más simple, y de posterior aparición.
También lo era con la placa Roland LAPC-I, por lo que en muchos juegos
podemos encontrarlas en una única opción.
Los juegos más tardíos que se ocuparon de estos módulos y placas Roland,
a menudo permitían las dos opciones, junto con el estándar General MIDI.
Al iniciar el juego, podremos escuchar música a través de una Roland
MT-32 correctamente emulada. En tanto, en la ventana de Munt podremos
ver una simulación del display frontal de la MT-32. Esto es así pues el
módulo original solía mostrar el nombre de los instrumentos, los canales
MIDI en reproducción, y a veces algunos mensajes en broma en algunos
juegos.
Si hacemos clic en el ícono de Munt en el panel superior y escogemos
"Start Iconized", el emulador quedará residente en la parte superior
para cuando necesitemos usarlo, podremos hacer clic en el ícono del
panel superior y elegir Show/Hide ("mostrar/ocultar") para mostrar o
cultar la ventana.
El Space Quest 3: The Pirates of Pestulon, fue uno de los primeros
títulos en hacer uso demencial de la Roland MT-32 para acompañar las
aventuras de Roger Wilco.
Además de emular una MT-32 en juegos, el emulador Munt es capaz de
grabar los datos MIDI que le llegan, presionando el botón Record en el
área Midi input. Esto hará que se inicie el registro de los datos MIDI
del juego. Para salvarlos debemos presionar Stop y se presentará una
ventana que nos permitirá escribir un nombre para el archivo (y
guardarlo en formato MID).
Desde el emulador Munt también podríamos querer guardar el resultado en
forma de archivo Wav. Esto nos permite guardar audio digital de la
salida del programa. Debemos tener en cuenta que únicamente guarda en
audio a través del sintetizador Roland aquellos datos MIDI, y por lo
tanto hace caso omiso al audio digitalizado de los juegos.
Si presionamos el botón Properties, se nos presentarán las propiedades
actuales del emulador Munt.
Desde esta ventana podríamos corregir los efectos incluidos,
reverberación y coro.
No solamente los juegos se verán favorecidos. También podremos utilizar
el sintetizador Munt con cualquier programa de creación y reproducción
musical. Solamente debemos asegurarnos de usar el dispositivo de salida
MIDI MT-32 Munt. Por ejemplo, podríamos usar la Roland MT-32 virtual
para reproducir pistas de nuestros archivos MIDI en LMMS, y combinarlos
con Soundfonts.
Si bien actualmente los Soundfonts permiten calidad superior a la nativa
en la Roland MT-32 de los años 80s, esto no quiere decir que sea inútil
esta aplicación. De hecho, los pads y sintetizadores clásicos de la
Roland MT-32 pueden aportar muy positivamente en cualquiera de las
piezas musicales que creemos. Debemos recordar que los patches (o
instrumentos) de la Roland MT-32 no guardan la misma correlación que los
del estándar General MIDI. Podremos encontrar la numeración de los
patches de la MT-32 aquí.
Uso de Munt en ScummVM en Ubuntu.
También podremos utilizar este potente emulador de sonidos de Roland
MT-32 en el emulador para aventuras gráficas ScummVM. Normalmente
prefiero sin embargo usar Soundfonts y un sintetizador virtual
FluidSynth para este cometido. Pero si deseáramos usar Munt en lugar de
Soundfonts (para lograr la reproducción más realista que se pueda sin
tener que adquirir una MT-32 real), debemos hacer lo siguiente:
En primer lugar, debemos tener activado Munt. En segundo lugar abrimos
ScummVM. En dicho programa debemos presionar el botón Options.
Se abrirá las opciones del Emulador. En la solapa Sonidos, debemos
elegir el dispositivo preferido, elegimos Munt MT-32 (ALSA).
En la solapa MIDI también escogemos Munt MT-32 (ALSA).
Finalmente, en la solapa MT-32, elegimos también el sintetizador Munt
MT-32 (ALSA). Debemos tildar "Roland MT-32 auténtica (desctivar
emulación General MIDI)".
Luego presionamos el botón Aceptar, y Salir. Para que los cambios sean
efectivos, reiniciamos el emulador ScummVM.
Tendremos ahora el sonido Roland MT-32 en las aventuras gráficas.