3.5.1 Crear archivos MIDI

Para crear un MIDI a partir de una pieza de música, escriba un bloque \midi en la partitura, por ejemplo:

\score {
  …música…
  \midi { }
}

Si hay un bloque \midi dentro de un \score que no tenga ningún bloque \layout, solamente se producirá MIDI. Si se necesita una notación impresa, debe haber también un bloque \layout:

\score {
  …música…
  \midi { }
  \layout { }
}

Se traducen correctamente a la salida MIDI la altura y duración de las notas, las ligaduras de unión, matices y cambios de tempo. Las indicaciones dinámicas, crescendi y decrescendi se traducen a niveles de volumen MIDI. Las marcas dinámicas se traducen a una fracción fija del rango de volumen MIDI disponible. Los crescendi y decrescendi hacen que el volumen varía linealmente entre sus dos extremos. El efecto de las indicaciones dinámicas sobre la salida MIDI se puede eliminar por completo, véase El bloque MIDI.

El tempo inicial y los cambios de tempo posteriores se pueden especificar utilizando la instrucción \tempo dentro de la propia notación musical. Se reflejan en cambios de tempo en la salida MIDI. Esta instrucción normalmente hace que se imprima la indicación metronómica, pero esto se puede eliminar, véase Indicaciones metronómicas. Más abajo se describe una forma alternativa de especificar el tempo MIDI inicial o global, véase El bloque MIDI.

Debido a ciertas limitaciones de Windows, la extensión predeterminada para los archivos MIDI en Windows es .mid. Otros sistemas operativos utilizan la extensión .midi. Si prefiere una extensión diferente, inserte la siguiente línea en el nivel jerárquico superior del archivo de entrada, antes del inicio de cualquier bloque \book, \bookpart o \score:

#(ly:set-option 'midi-extension "midi")

La línea anterior establece la extensión predeterminada para los archivos MIDI a .midi.

De forma alternativa, esta opción se puede también proporcionar en la línea de órdenes:

lilypond … -dmidi-extension=midi archivoLily.ly

Fragmentos de código seleccionados

Modificar la salida MIDI para que tenga un canal por cada voz

Al producir una salida MIDI, el comportamiento predeterminado es que cada pentagrama representa un canal MIDI, con todas las voces de dicho pentagrama mezcladas. Esto reduce al mínimo el riesgo de que se agote el número de canales MIDI disponibles, pues existe un máximo de 16 canales por cada puerto MIDI, y la mayoría de los dispositivos sólo tiene un puerto.

Sin embargo, cuando se traslada el interpretador Staff_performer al contexto Voice, cada voz de un pentagrama puede tener su propio canal MIDI, como se muestra en el siguiente ejemplo: a pesar de estar sobre el mismo pentagrama, se crean dos canales MIDI, cada uno con un midiInstrument distinto.

\score {
  \new Staff <<
    \new Voice \relative c''' {
      \set midiInstrument = #"flute"
      \voiceOne
      \key g \major
      \time 2/2
      r2 g-"Flute" ~
      g fis ~
      fis4 g8 fis e2 ~
      e4 d8 cis d2
    }
    \new Voice \relative c'' {
      \set midiInstrument = #"clarinet"
      \voiceTwo
      b1-"Clarinet"
      a2. b8 a
      g2. fis8 e
      fis2 r
    }
  >>
  \layout { }
  \midi {
    \context {
      \Staff
      \remove "Staff_performer"
    }
    \context {
      \Voice
      \consists "Staff_performer"
    }
    \tempo 2 = 72
  }
}

[image of music]

Advertencias y problemas conocidos

Los cambios del volumen MIDI sólo tienen lugar al principio de la nota, por lo que los crescendi y decrescendi no pueden afectar al volumen de una sola nota.

No todos los reproductores de MIDI manejan adecuadamente los cambios de tempo de la salida MIDI. Entre los reproductores que se sabe que funcionan se encuentran el Reproductor de Medios de MS Windows y timidity.


Otros idiomas: English, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.

LilyPond — Referencia de la notación v2.17.97 (rama de desarrollo).