Embryo: Learning With Bach.
[lilypond-ejercicios.git] / apuntes-21-midi.tex
blob38c6491f175e66498ada458932b4272f87ad7545
1 \section{MIDI. Transposición. \emph{Il est bel et bon}, de P. Passereau}
2 \label{midi}
4 \subsection{Modelo}
6 Hoy mostraremos la forma de escuchar las partituras elaboradas con
7 LilyPond. A partir de una partitura se puede generar un pequeño
8 archivo MIDI que contiene las notas, pero no los sonidos: éstos se
9 generan cuando el archivo se reproduce y pueden sonar algo distintos
10 en cada sistema. Sin embargo, podemos elegir los instrumentos que
11 determinarán el timbre de cada pentagrama.
13 Aprovecharemos para realizar un transporte sobre el tono original, un
14 tono y medio hacia arriba.
16 No todos los elementos de la música se exportan al archivo MIDI. Antes
17 de introducir el modelo, el comienzo de \emph{Il est bel et bon}, una
18 \emph{chanson} de Pierre Passereau (s.XVI), analizaremos qué elementos
19 merece la pena omitir si solamente queremos producir un archivo MIDI
20 para escuchar la música. En primer lugar, el ejemplo original:
23 \bigskip
25 \begin[staffsize=15,
26 line-width=17\cm,
27 indent=0
28 ]{lilypond}
30 %#(set-global-staff-size 14)
32 %\version "2.15.20"
34 \header { title = "Il est bel et bon" composer = "Pierre Passereau" }
36 sop = \relative c' { %\tempo 1=60
37 % \key d \minor
38 \time 2/2
39 d8 e f g a4 a
40 a4 a a a
41 g4 e r2
42 d8 e f g a4 a
43 a4 a a a
44 g4 e8 e g4 e8 e
45 f4 d d c d2 }
47 alt = \relative c' { R1
48 a8 b c d e4 e
49 e4 e e e
50 f2 e
51 a,8 b c d e4 e
52 e4 e b b8 b
53 d4 a a a
54 a2 }
56 ten = \relative c { \clef "G_8"
57 r2 d8 e f g
58 a4 a c c
59 b4 b g2
60 a2 a8 g f g
61 a4 a c c
62 b2 g4 g
63 a4. g8 f4 e
64 d2 }
66 baj = \relative c { \clef bass
68 r2 a8 b c d
69 e4 e e e
70 d2 a~
71 a2 a8 b c d
72 e4 e e e
73 d4 d a a
74 d2 }
77 letrasop = \lyricmode { Il est bel et bon, bon,
78 bon, bon, bon, com --
79 mè -- re,
80 Il est bel et bon, bon,
81 bon, bon, bon, com --
82 mè -- re, com -- mè -- re, com --
83 mè -- re mon ma -- ry. }
85 letraalt = \lyricmode { Il est bel et bon, bon,
86 bon, bon, bon, com --
87 mè -- re,
88 Il est bel et bon, bon,
89 bon, com -- mè -- re, com --
90 mè -- re, mon ma -- ry. }
93 letraten = \lyricmode { Il est bel et
94 bon, bon, bon, bon,
95 bon, com -- mè --
96 re, Il est bel et
97 bon, bon, bon, com --
98 mè -- re, com --
99 mè -- re mon ma -- ry. }
101 letrabaj = \lyricmode { Il est bel et
102 bon, bon, bon, com --
103 mè -- re,
104 Il est bel et
105 bon, bon, bon, com --
106 mè -- re mon ma -- ry. }
109 \score {
110 % \transpose d f
111 \new ChoirStaff
113 \new Staff { \set Staff.instrumentName="S"
114 \set Staff.midiInstrument = "oboe"
115 \sop }
116 \addlyrics { \letrasop }
117 \new Staff { \set Staff.instrumentName="A"
118 \set Staff.midiInstrument = "oboe"
119 \alt }
120 \addlyrics { \letraalt }
121 \new Staff { \set Staff.instrumentName="T"
122 \set Staff.midiInstrument = "bassoon"
123 \ten }
124 \addlyrics { \letraten }
125 \new Staff { \set Staff.instrumentName="B"
126 \set Staff.midiInstrument = "clarinet"
127 \baj }
128 \addlyrics { \letrabaj }
130 %\midi { }
131 %\layout { }
134 \paper { system-count=2 indent=1\cm }
136 \end{lilypond}
139 Ahora bien: los nombres de los pentagramas, la letra de la canción,
140 las agrupaciones de pentagramas que trazan llaves, los títulos, las
141 articulaciones y otros elementos no se reflejan el el resultado MIDI.
142 La indicación metronómica sí se refleja; así pues, bastaría con
143 dejarlo de esta manera:
145 \bigskip
147 \begin[staffsize=15,
148 line-width=17\cm,
149 indent=0
150 ]{lilypond}
152 %#(set-global-staff-size 14)
154 %\version "2.15.20"
156 % \header { title = "Il es bel et bon" composer = "Pierre Passereau" }
158 sop = \relative c' { \tempo 1=60
159 % \key d \minor
160 \time 2/2
161 d8 e f g a4 a
162 a4 a a a
163 g4 e r2
164 d8 e f g a4 a
165 a4 a a a
166 g4 e8 e g4 e8 e
167 f4 d d c d2 }
169 alt = \relative c' { R1
170 a8 b c d e4 e
171 e4 e e e
172 f2 e
173 a,8 b c d e4 e
174 e4 e b b8 b
175 d4 a a a
176 a2 }
178 ten = \relative c { \clef "G_8"
179 r2 d8 e f g
180 a4 a c c
181 b4 b g2
182 a2 a8 g f g
183 a4 a c c
184 b2 g4 g
185 a4. g8 f4 e
186 d2 }
188 baj = \relative c { \clef bass
190 r2 a8 b c d
191 e4 e e e
192 d2 a~
193 a2 a8 b c d
194 e4 e e e
195 d4 d a a
196 d2 }
199 \score {
200 % \transpose d f
201 % \new ChoirStaff
203 \new Staff { \set Staff.midiInstrument = "oboe"
204 \sop }
205 %\addlyrics { \letrasop }
206 \new Staff { \set Staff.midiInstrument = "oboe"
207 \alt }
208 %\addlyrics { \letraalt }
209 \new Staff { \set Staff.midiInstrument = "bassoon"
210 \ten }
211 %\addlyrics { \letraten }
212 \new Staff { \set Staff.midiInstrument = "clarinet"
213 \baj }
214 %\addlyrics { \letrabaj }
216 %\midi { }
217 %\layout { }
220 \paper { system-count=1 }
223 \end{lilypond}
226 \subsection{El bloque midi}
228 Para producir un archivo MIDI, debe existir un bloque \verb+\midi{ }+,
229 posiblemente vacío, dentro de un bloque \verb+\score+ explícito que
230 contiene la música. En nuestro ejemplo, después de definir las
231 variables (en su caso), podemos hacerlo así:
233 \begin{verbatim}
234 \score {
236 \new Staff { \soprano }
237 \new Staff { \alto }
238 \new Staff { \tenor }
239 \new Staff { \bajo }
241 \midi { }
243 \end{verbatim}
245 Si existe un bloque \verb+\midi{}+ y no hay un bloque \verb+layout{}+, el proceso será muy rápido pero no habrá ninguna salida en PDF. Para obtener MIDI y PDF, deben estar los dos bloques, así:
247 \begin{verbatim}
248 \score {
251 \midi { }
252 \layout{ }
254 \end{verbatim}
256 El archivo MIDI tiene la extensión \verb+.mid+ (en UNIX: \verb+.midi+)
257 y se creará en el mismo directorio que el archivo fuente. En teoría,
258 debería poder reproducirse fácilmente mediante un doble click.
260 \subsection{Instrumentos MIDI}
262 Es posible (y así lo haremos) determinar un sonido MIDI por cada voz
263 y cada pentagrama. En esta ocasión lo haremos estableciendo el valor
264 de la propiedad \verb+midiInstrument+ del contexto Score, a un texto
265 que corresponderá exactamente al nombre oficial del instrumento según
266 el estándar General Midi, que puede consultarse en las tablas de la
267 documentación de LilyPond.
269 Para \emph{Il est bel et bon} vamos a asignar a las voces de soprano
270 y contralto un sonido de oboe; a la de tenor, de fagot (``bassoon'');
271 y a la de bajo, un sonido de clarinete (``clarinet'') (aunque es muy
272 grave para el clarinete, podría ser un clarinete bajo).
274 \begin{verbatim}
275 \new Staff {
276 \set Staff.midiInstrument = "oboe"
277 \soprano
279 \end{verbatim}
284 \subsection{Transposición}
286 Ahora queremos que la música suene un tono y medio más alta.
287 Utilizamos para ello la instrucción \verb+\transpose+ previa a la
288 expresión musical. La instrucción admite dos alturas de nota que se
289 toman como referencia del tono de partida y del de destino de la
290 transposición. Lo vemos en este ejemplo donde hemos introducido
291 música en Sol mayor y la hemos impreso en Fa mayor (un tono más baja):
293 \begin[verbatim,staffsize=17.5]{lilypond}
294 \transpose g f
295 \relative c'' { \key g \major
296 g4 a b c d1
298 \end{lilypond}
300 Se transporta la armadura solamente si está establecida dentro de la
301 expresión que se transporta.