Controlador MIDI en Linux

Filed under Audio, Hardware, Kubuntu 7.04 AMD64

Para lograr que funcione un controlador MIDI (teclado) en Kubuntu, hay que instalar dos paquetes:

  • QjackCtl
    Es una GUI (interfaz gráfica) de JACK Audio Connection Kit, un servidor de sonido (audio server queda más bonito) que sirve para interconectar –vía software– las salidas y entradas de todos dispositivos de audio del equipo.
  • Qsynth
    Es una GUI de FluidSynth, un sintetizador libre. Transforma las señales MIDI en sonido, creándolo a partir de un banco de sonidos. En esta entrada del blog del Proyecto OpenPipe lo explican todo muy clarito.

Una vez instalados estos paquetes (con sus respectivas dependencias) vía Adept, he seguido las instrucciones de instalación de QSynth, abriendo la consola y escribiendo:

$ qsynth -a alsa

Se supone que esto inicia jackd (el demonio –proceso– de JACK) para ALSA al arrancar el programa, y que esta orden se mantiene en futuros inicios, por lo que no es necesario repetirla. No estoy seguro de que este ajuste sea necesario, porque para algo he instalado QjackCtl (estará abierto siempre que vaya a usar Qsynth). Pero bueno, lo dejo escrito por si acaso…

Los dos programas se encuentran en Menú K > Multimedia > JACK Control y QSynth.

Abro ambos, y en JACK Control pulso en Connect, en la pestaña ALSA, y conecto K61 a FLUID Synth (Si Qsynth no estuviera abierto no saldría FLUID Synth). Con esto envío las señales MIDI del controlador al sintetizador. Si ahora pulso el botón Patchbay de JACK Conect, puedo guardar este ajuste en un archivo xml externo, para poder importarlo fácilmente. Ah, y no me olvido de iniciar el JACK Audio Connection Kit pulsando en Start.

En Qsynth, si pulso una tecla cualquiera del controlador, debería encenderse un LED virtual (el de la izquierda de la pestaña Qsynth1). Pero no se oirá nada, ya que para ello necesito algún banco de sonido (soundfonts). En este artículo de la Wikipedia enlazan a algunas webs de bancos de sonido, y he leído comentarios que dicen que en cualquier red P2P hay miles de ellos, ocupando gigas y gigas… Por ahora he visitado SoundFonts.it y HomeMusician.net, que tienen muchos archivos en descarga directa.

Qsynth admite bancos de sonido en formato .sf2, un estándar de facto creado por Emu Systems para Creative Labs. El caso es que los bancos de sonido no suelen encontrarse en .sf2, si no que suelen venir comprimidos en un formato específico y propietario, .sfArk o .SFPack.

  • Para descomprimir .sfArk: ir a la página de MelodyMachine y descargarse e instalar la versión para Windows, a través de Wine (la versión para Linux no es de 64bits, por lo que no se puede ejecutar en mi Kubuntu AMD64).
  • Para descomprimir SFPack hay que descargarse el extractor de esta página (funciona a través de Wine).

Una vez que tengo algún .sf2 puedo, en Qsynth, pulsar el botón Setup…, y añadir los bancos de sonido en la pestaña Soundfonts. Importante: no acepta rutas con acentos.

Una vez hecho esto, las pulsaciones del controlador producirán sonido. Pero en mi caso los sonidos tenían artefactos. Lo he solucionado modificando el valor de Setup… > Audio: Buffer Count, elevándolo hasta 32 (por defecto era 4).

El único problema que tengo es que en el panel de mensajes de Qsynth sale lo siguiente al pulsar una tecla del controlador MIDI:

fluidsynth: warning: ALSA sequencer buffer overrun, lost events

Ya veré cómo lo soluciono, porque la verdad es que hay una cantidad inmensa de opciones que no tengo la menor idea de lo que quieren decir…

One Comment

  1. MArcelo
    Posted 21/05/2008 at 19:46 | Permalink

    gracias…

    Pude convertir mis archivos ape a Wav !

    :)

    Gracias!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*