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