Tutoriales/MIDI en Linux
Un sintetizador MIDI convierte los eventos MIDI en sonido digital. El sintetizador puede ser un dispositivo hardware externo, o estar incorporado en una tarjeta de sonido. También puede ser un sintetizador software, es decir: un programa.
Existen ficheros MIDI con la extensión .MID, que contienen música en un formato de datos MIDI. Una forma de explicarlo es en términos gastronómicos. Oir música en un Compact Disc es similar a comer en un restaurante, y MP3 sería comparable al fast-food. Por otro lado, un fichero MIDI es como una receta de cocina: tienes que conseguir los ingredientes apropiados y utilizar utensilios de cocina. En vez de horno, ollas y sartenes utilizarás sintetizadores MIDI. Como buen geek y usuario de Linux, tendrás ganas de cambiar la receta y los ingredientes. Pues hazlo! en KMid puedes abrir la ventana "canales", y cambiar el piano por una guitarra o lo que prefieras.
Sintetizadores MIDI externos
Son instrumentos musicales que pueden ser conectados con el ordenador, o con otros instrumentos, mediante cables MIDI. Para ello, el ordenador debe disponer de un interfaz MIDI. Hay tarjetas de sonido con interfaces MIDI, y también existen adaptadores USB soportados por ALSA mediante el módulo correspondiente del kernel. Incluso hay instrumentos MIDI que se conectan al ordenador directamente por USB. En cualquier caso, se debe comprobar que el modelo de interfaz MIDI está soportado por ALSA en la dirección siguiente: http://www.alsa-project.org/main/index.php/Matrix:Main
En resumen, con esta opción necesitarás:
- Interfaz MIDI
- Driver ALSA para el interfaz MIDI
- Cables MIDI
Sintetizadores hardware de tarjetas de sonido
Algunas tarjetas de sonido, como las del fabricante Creative Labs (SB AWE, SB Live! y Audigy) tienen un sintetizador MIDI por tabla de ondas que utiliza muestras de sonido como método de síntesis. Estas muestras han de ser cargadas en la tarjeta de sonido antes de utilizar programas MIDI, preferentemente en el arranque del sistema. En caso de poseer una de estas tarjetas:
- Además de ALSA, instalar el software awesfx, que incluye el cargador de muestras de sonido y las reglas de udev y ALSA para realizar automáticamente la carga en el arranque del sistema.
- Instalar los ficheros SoundFont proporcionados por el fabricante, o bien otros ficheros SF2 alternativos en el directorio /usr/share/sounds/sf2
- Modificar el fichero de configuración /etc/sysconfig/sound. En el valor para la clave proporcionar el nombre de uno o varios ficheros SF2 que deban ser cargados en el arranque del sistema. Los nombres de ficheros y su ubicación pueden variar de una distribución a otra; estas instrucciones corresponden a openSUSE.
Los ficheros SoundFont también se pueden cargar manualmente. Lee el manual de asfxload para mas información.
Sintetizadores software
El clásico sintetizador software para Linux es TiMidity++, pero la última versión publicada data del año 2004. Requiere muestras de sonido en formato GUS o SF2. Se puede utilizar de forma autónoma como reproductor, pero si se quiere usar conjuntamente con otros programas compatibles con el secuenciador de ALSA, se ha de ejecutar con la opción "-iA", por ejemplo:
timidity -iA
Otro sintetizador software de diseño moderno, modular y con mantenimiento activo es FluidSynth. Utiliza muestras de sonido en formato SF2, y tiene un interfaz gráfico amigable que se llama QSynth. También se puede ejecutar desde la línea de comandos, por ejemplo:
fluidsynth -a alsa /usr/share/sound/sf2/soundfont.sf2
o bien:
fluidsynth -a pulseaudio /usr/share/sound/sf2/soundfont.sf2
La configuración gráfica de QSynth es bastante sencilla. Ver como ejemplo las siguientes capturas de pantalla.
Archivos SoundFont
Estos ficheros representan el pescado, la carne y los vegetales de tu receta MIDI. Estas son algunas recomendaciones:
- Colecciones de SoundFonts: http://www.hammersound.net
- General User GS, de S.Christian Collins.
- Disponible en los repositorios de packman para openSUSE.
- FluidR3. Un SoundFont de gran tamaño y calidad.
- Disponible para openSUSE, empaquetado por Jan Engelhardt.
- También existe un paquete para Debian.