Imprimir

Música digital MIDI en Linux

Música digital MIDI (Musical Instrument Digital Interface) bajo Linux: un asunto un poco complicado. Veamos un miniHOWTO de cómo funciona el tema:

  1. Lo primero, lanzar JACK, el servidor de audio.
  2. El secuenciador Rosegarden permite:
    • importar música .mid y .h2song (Hydrogen).
    • capturar música generada por instrumentos MIDI hardware o virtuales (como el teclado virtual Vkeybd).
    • editar las partituras de la música.
    • insertar en una pista un archivo de audio .wav (como editor externo usaremos ReZound, ya que Audacity no es compatible con JACK).

    A cada pista se le asigna un sintetizador (o sampler) y un instrumento. La salida del secuenciador (.mid) va al sintetizador, éste la convierte a audio (.wav) y la envía a los altavoces.

  3. Sintetizadores:
    • TiMidity o QSynth para General MIDI.
    • Zynaddsubfx para el bajo, teclados e instrumentos melódicos.
    • Hydrogen para la percusión.
    • amSynth oscilador analógico.
    • Gmorgan como órgano caja de ritmos.
  4. Pasamos al digital audio workstation Ardour:
    • creamos en Ardour dos pistas para cada sintetizador.
    • conectamos las salidas L/R de los sintetizadores a Ardour para capturar el audio.
    • sincronizamos Rosegarden (maestro) y Ardour (esclavo).
    • a partir de ese momento manda Rosegarden. Activamos el modo grabación en Ardour, hacemos Play en Rosegarden y ya tenemos todo el audio en Ardour, por pistas.
    • grabamos todo lo acústico en Ardour: voz, guitarra acústica, etc.
    • mezclamos, normalizamos, efectos, etc.
  5. Masterizamos con JAMin: conectamos la salida master L/R de Ardour a la entrada de JAMin, y la salida de JAMin a una nueva pista en Ardour que recibirá el audio masterizado.
  6. Por último, exportamos desde Ardour el audio masterizado a formato .wav.

Equivalencias en Windows: Cubase.

Servidor de audio

JACK (JACK Audio Connection Kit, jackit.sourceforge.net, paquete qjackctl), es un servidor de audio que permite a sus aplicaciones clientes compartir el hardware de audio y conectar sus salidas y entradas simulando conexiones de cable (jack). Corre en modo daemon, jackd. Para lanzarlo y configurarlo usaremos QJACK Control (qjackctl), un frontal que permite administrar gráficamente las conexiones.

Para configurar JACK debemos encontrar los números mágicos, la combinación de parámetros que hará que nuestro hardware funcione correctamente (a veces puede ser un proceso un poco largo).

JACK

Secuenciador

Instrumentos MIDI

  • Vkeybd (Virtual keyboard, paquete vkeybd): teclado virtual MIDI. Es un dispositivo de grabación, Rosegarden recibe su salida.

    vkeybd

  • Creox (zyzstar.kosoru.com, paquete creox): programa para generar efectos en tiempo real con nuestra guitarra eléctrica (o cualquier otro instrumento). Conectamos la guitarra a la tarjeta de sonido y enviamos la salida (vía JACK) como entrada a Rosegarden.

    Creox

Sintetizadores

Algunas tarjetas de sonido tienen sintetizador MIDI interno (Sound Blaster Live) y pueden reproducir .mid, pero las demás necesitan recibir audio .wav. De eso se encargan los sintetizadores por software: convierten WAVE a MIDI.

  • TiMidity (timidity.sourceforge.net, paquetes timidity-interfaces-extra timidity): para que trabaje con JACK como daemon haremos:
    $ timidity -B2,8 -EFreverb=0 -EFresamp=1 -EFchorus=0 -iA -Oj

    Si al reproducir algún .mid recibimos un mensaje similar a:

    No instrument mapped to tone bank 0, program 50
    This instrument will not be heard

    nos faltan instrumentos. Timidity permite añadir instrumentos SoundFonts (.sf2). Tendremos que buscar el .sf2 adecuado (por ejemplo FluidR3GM.sf2) y añadir el path en /etc/timidity/timidity.cfg:

    soundfont /usr/share/soundfonts/fluidr3/FluidR3GM.sf2

    Para reproducir un .mid sin JACK ejecutaremos:

    $ timidity -ig

    TiMidity

  • QSynth (qsynth.sourceforge.net, paquete qsynth): sampler. Es un frontal de FluidSynth (luidsynth.org), un sampler de línea de comandos que usa .sf2 SoundFonts para renderizar la entrada MIDI.

    QSynth

  • Zynaddsubfx (zynaddsubfx.sourceforge.net, paquete zynaddsubfx): sampler.

    Zynaddsubfx

  • Hydrogen (sourceforge.net/projects/hydrogen/, paquetes hydrogen hydrogen-drumkits): sampler y secuenciador (emula una caja de ritmos). Rosegarden abre sus archivos .h2song.

    Hydrogen

  • amSynth (amsynthe.sourceforge.net/amSynth/, paquete amsynth): sintetizador oscilador analógico.

    amSynth

  • Gmorgan (gmorgan.sourceforge.net, paquete gmorgan): es un secuenciador que emula un órgano con caja de ritmos, pero no es un sampler, su salida debe ir a Timidity o a Rosegarden. No recibe la salida de Rosegarden. Exporta los patrones a .mid para importarlos desde Rosegarden.

    Gmorgan

  • Cecilia (cecilia.sourceforge.net, paquete cecilia): graphic user interface for the sound synthesis and sound processing package CSound. Cecilia enables the user to build very quickly graphic interfaces with sliders and curves to control CSound intruments. It is also an editor to CSound with syntax highlighting and a built-in reference. Cecilia is also a great tool to explore the parameters of a new opcode in an interactive and intuitive way. Cecilia was designed by and for musicians and sound designers. All the traditional sound processing devices are included such as EQs, compressors and delays adapted for the most simple applications and the wildest imaginable sonic contortions.

    Cecilia

Digital audio workstation

Masterización

5 Comentarios en “Música digital MIDI en Linux”

  • victor dice:

    Estupenda guia, ya que integra todo lo necesario y disponible hoy dia para Linux, en Ubuntu se dispone de todos estos paquetes facilmente.
    Gracias por la orientacion ya que estoy empezando a explorar el audio en Linux y no tenia aun una vision completa de todos los pasos…
    Muchisimas Graciaaaaaassss….

  • Paco dice:

    Maravilloso, sstupendo!
    Eres una máquina de ayudar gente.
    Gracias!

  • julian dice:

    COMO CONSIGO UNA CAJA DE RITMO PARA MI CP

  • adfesabo dice:

    Gracias. Interesante y bueno. Me ayudó.

  • [...] Una página muy buena que me ayudó mucho y explica algunas cosas relacionadas al MIDI y al Audio en Linux, y en general al software libre es estrellateyarde.org. [...]

Deja un comentario