6.3.1 Presentación de expresiones musicales

Si se está escribiendo una función musical puede ser muy instructivo examinar cómo se almacena internamente una expresión musical. Esto se puede hacer con la función musical \displayMusic:

{
  \displayMusic { c'4\f }
}

imprime lo siguiente:

(make-music
  'SequentialMusic
  'elements
  (list (make-music
          'EventChord
          'elements
          (list (make-music
                  'NoteEvent
                  'duration
                  (ly:make-duration 2 0 1 1)
                  'pitch
                  (ly:make-pitch 0 0 0))
                (make-music
                  'AbsoluteDynamicEvent
                  'text
                  "f")))))

De forma predeterminada, LilyPond imprime estos mensajes en la consola junto al resto de los mensajes. Para discernir entre estos mensajes y guardar el resultado de \display{MATERIAL}, redirija la salida hacia un archivo.

lilypond archivo.ly >resultado.txt

Con la aplicación de un poco de formato, la inforamción anterior es fácil de leer:

(make-music 'SequentialMusic
  'elements (list (make-music 'EventChord
                    'elements (list (make-music 'NoteEvent
                                      'duration (ly:make-duration 2 0 1 1)
                                      'pitch (ly:make-pitch 0 0 0))
                                    (make-music 'AbsoluteDynamicEvent
                                      'text "f")))))

Una secuencia musical { ... } tiene el nombre SequentialMusic, y sus expresiones internas se almacenan como una lista en su propiedad 'elements. Una nota se representa como una expresión EventChord que contiene un objeto NoteEvent (que almacena las propiedades de duración y altura) y cualquier otra información adicional (en este caso, un evento AbsoluteDynamicEvent con una porpiedad de texto "f".


Otros idiomas: English.

Manual de referencia de la notación