Excepciones para los nombres de acorde

La propiedad chordNameExceptions almacena una lista de excepciones para los nombres de acorde, para tratar casos que no están cubiertos, o bien que se tratan incorrectamente.

Los nombres de acorde predeterminados que se usan por LilyPond siguen las reglas dadas en el libro de Klaus Ignatzek’s “Die Jazzmethode für Klavier 1”; el algoritmo para convertir acordes en nombres de acorde puede verse dentro del archivo scm/chord-ignatzek-names.scm. Las reglas adicionales se dan como excepciones de acordes y se almacenan dentro de la variable ignatzekExceptions, como está establecido en el archivo ly/chord-modifiers-init.ly.

Este fragmento de código modifica estas excepcioens en tres pasos.

  1. Preparación de una música con acordes y elementos de marcado asociados. Por convención, la fundamental de cada acorde debe ser Do.
  2. Llamar a la función de Scheme sequential-music-to-chord-exceptions para crear una lista de excepciones nueva, y después concatenarla con las existentes. Como ignatzekExceptions está preparado con el segundo parámetro de su función fijado al valor #t (para ignorar la fundamental de los acordes), tenemos que hacer lo mismo.
  3. Registrar la nueva lista de excepciones.
% Step 1: Define music with chords and markup for maj9 and 6(add9).
chExceptionMusic = {
  <c e g b d'>-\markup { \super "maj9" }
  <c e g a d'>-\markup { \super "6(add9)" }
}

% Step 2: Create extended exception list.
chExceptions =
#(append (sequential-music-to-chord-exceptions chExceptionMusic #t)
         ignatzekExceptions)

theMusic = \chordmode {
  g1:maj9 g1:6.9
  % Step 3: Register extended exception list.
  \set chordNameExceptions = #chExceptions
  g1:maj9 g1:6.9
}

<<
  \new ChordNames \theMusic
  \new Voice \theMusic
>>

\layout {
  line-width = 10\cm
  ragged-right = ##f
}
[image of music]

LilyPond snippets v2.25.34 (development-branch).