Week28 and some cleanup.
[lilypond-ejercicios.git] / apuntes-21-midi.tex
blobde196e27b4a953fcde5f79935be3f80a4cc8c053
1 \section{MIDI. Transposición. Il est bel et bon, de P. Passereau}
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 la \emph{chanson} de Pierre Passereau (s.XVI), analizaremos qué
19 elementos merece la pena omitir si solamente queremos producir un
20 archivo MIDI para escuchar la música. En primer lugar, el ejemplo
21 original:
24 \bigskip
26 \begin[staffsize=15,
27 line-width=17\cm,
28 indent=0
29 ]{lilypond}
31 %#(set-global-staff-size 14)
33 %\version "2.13.16"
35 \header { title = "Il est bel et bon" composer = "Pierre Passereau" }
37 sop = \relative c' { %\tempo 1=60
38 % \key d \minor
39 \time 2/2
40 d8 e f g a4 a
41 a4 a a a
42 g4 e r2
43 d8 e f g a4 a
44 a4 a a a
45 g4 e8 e g4 e8 e
46 f4 d d c d2 }
48 alt = \relative c' { R1
49 a8 b c d e4 e
50 e4 e e e
51 f2 e
52 a,8 b c d e4 e
53 e4 e b b8 b
54 d4 a a a
55 a2 }
57 ten = \relative c { \clef "G_8"
58 r2 d8 e f g
59 a4 a c c
60 b4 b g2
61 a2 a8 g f g
62 a4 a c c
63 b2 g4 g
64 a4. g8 f4 e
65 d2 }
67 baj = \relative c { \clef bass
69 r2 a8 b c d
70 e4 e e e
71 d2 a~
72 a2 a8 b c d
73 e4 e e e
74 d4 d a a
75 d2 }
78 letrasop = \lyricmode { Il est bel et bon, bon,
79 bon, bon, bon, com --
80 mè -- re,
81 Il est bel et bon, bon,
82 bon, bon, bon, com --
83 mè -- re, com -- mè -- re, com --
84 mè -- re mon ma -- ry. }
86 letraalt = \lyricmode { Il est bel et bon, bon,
87 bon, bon, bon, com --
88 mè -- re,
89 Il est bel et bon, bon,
90 bon, com -- mè -- re, com --
91 mè -- re, mon ma -- ry. }
94 letraten = \lyricmode { Il est bel et
95 bon, bon, bon, bon,
96 bon, com -- mè --
97 re, Il est bel et
98 bon, bon, bon, com --
99 mè -- re, com --
100 mè -- re mon ma -- ry. }
102 letrabaj = \lyricmode { Il est bel et
103 bon, bon, bon, com --
104 mè -- re,
105 Il est bel et
106 bon, bon, bon, com --
107 mè -- re mon ma -- ry. }
110 \score {
111 % \transpose d f
112 \new ChoirStaff
114 \new Staff { \set Staff.instrumentName="S"
115 \set Staff.midiInstrument = "oboe"
116 \sop }
117 \addlyrics { \letrasop }
118 \new Staff { \set Staff.instrumentName="A"
119 \set Staff.midiInstrument = "oboe"
120 \alt }
121 \addlyrics { \letraalt }
122 \new Staff { \set Staff.instrumentName="T"
123 \set Staff.midiInstrument = "bassoon"
124 \ten }
125 \addlyrics { \letraten }
126 \new Staff { \set Staff.instrumentName="B"
127 \set Staff.midiInstrument = "clarinet"
128 \baj }
129 \addlyrics { \letrabaj }
131 %\midi { }
132 %\layout { }
135 \paper { system-count=2 indent=1\cm }
137 \end{lilypond}
140 Ahora bien: los nombres de los pentagramas, la letra de la canción,
141 las agrupaciones de pentagramas que trazan llaves, los títulos, las
142 articulaciones y otros elementos no se reflejan el el resultado MIDI.
143 La indicación metronómica sí se refleja; así pues, bastaría con
144 dejarlo de esta manera:
146 \bigskip
148 \begin[staffsize=15,
149 line-width=17\cm,
150 indent=0
151 ]{lilypond}
153 %#(set-global-staff-size 14)
155 %\version "2.13.16"
157 % \header { title = "Il es bel et bon" composer = "Pierre Passereau" }
159 sop = \relative c' { \tempo 1=60
160 % \key d \minor
161 \time 2/2
162 d8 e f g a4 a
163 a4 a a a
164 g4 e r2
165 d8 e f g a4 a
166 a4 a a a
167 g4 e8 e g4 e8 e
168 f4 d d c d2 }
170 alt = \relative c' { R1
171 a8 b c d e4 e
172 e4 e e e
173 f2 e
174 a,8 b c d e4 e
175 e4 e b b8 b
176 d4 a a a
177 a2 }
179 ten = \relative c { \clef "G_8"
180 r2 d8 e f g
181 a4 a c c
182 b4 b g2
183 a2 a8 g f g
184 a4 a c c
185 b2 g4 g
186 a4. g8 f4 e
187 d2 }
189 baj = \relative c { \clef bass
191 r2 a8 b c d
192 e4 e e e
193 d2 a~
194 a2 a8 b c d
195 e4 e e e
196 d4 d a a
197 d2 }
200 \score {
201 % \transpose d f
202 % \new ChoirStaff
204 \new Staff { \set Staff.midiInstrument = "oboe"
205 \sop }
206 %\addlyrics { \letrasop }
207 \new Staff { \set Staff.midiInstrument = "oboe"
208 \alt }
209 %\addlyrics { \letraalt }
210 \new Staff { \set Staff.midiInstrument = "bassoon"
211 \ten }
212 %\addlyrics { \letraten }
213 \new Staff { \set Staff.midiInstrument = "clarinet"
214 \baj }
215 %\addlyrics { \letrabaj }
217 %\midi { }
218 %\layout { }
221 \paper { system-count=1 }
224 \end{lilypond}
227 \subsection{El bloque midi}
229 Para producir un archivo MIDI, debe existir un bloque \verb+\midi{ }+,
230 posiblemente vacío, dentro de un bloque \verb+\score+ explícito que
231 contiene la música. En nuestro ejemplo, después de definir las
232 variables (en su caso), podemos hacerlo así:
234 \begin{verbatim}
235 \score {
237 \new Staff { \soprano }
238 \new Staff { \alto }
239 \new Staff { \tenor }
240 \new Staff { \bajo }
242 \midi { }
244 \end{verbatim}
246 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í:
248 \begin{verbatim}
249 \score {
252 \midi { }
253 \layout{ }
255 \end{verbatim}
257 El archivo MIDI tiene la extensión \verb+.mid+ (en UNIX: \verb+.midi+)
258 y se creará en el mismo directorio que el archivo fuente. En teoría,
259 debería poder reproducirse fácilmente mediante un doble click.
261 \subsection{Instrumentos MIDI}
263 Es posible (y así lo haremos) determinar un sonido MIDI por cada voz
264 y cada pentagrama. En esta ocasión lo haremos estableciendo el valor
265 de la propiedad \verb+midiInstrument+ del contexto Score, a un texto
266 que corresponderá exactamente al nombre oficial del instrumento según
267 el estándar General Midi, que puede consultarse en las tablas de la
268 documentación de LilyPond.
270 Para \emph{Il est bel et bon} vamos a asignar a las voces de soprano
271 y contralto un sonido de oboe; a la de tenor, de fagot (``bassoon'');
272 y a la de bajo, un sonido de clarinete (``clarinet'') (aunque es muy
273 grave para el clarinete, podría ser un clarinete bajo).
275 \begin{verbatim}
276 \new Staff {
277 \set Staff.midiInstrument = "oboe"
278 \soprano
280 \end{verbatim}
285 \subsection{Transposición}
287 Ahora queremos que la música suene un tono y medio más alta.
288 Utilizamos para ello la instrucción \verb+\transpose+ previa a la
289 expresión musical. La instrucción admite dos alturas de nota que se
290 toman como referencia del tono de partida y del de destino de la
291 transposición. Lo vemos en este ejemplo donde hemos introducido
292 música en Sol mayor y la hemos impreso en Fa mayor (un tono más baja):
294 \begin[verbatim,staffsize=17.5]{lilypond}
295 \transpose g f
296 \relative c'' { \key g \major
297 g4 a b c d1
299 \end{lilypond}
301 Se transporta la armadura solamente si está establecida dentro de la
302 expresión que se transporta.