15.2.2 Nombres de acorde personalizados

No hay un sistema único para nombrar acordes. Las distintas tradiciones musicales usan distintos nombres para el mismo conjunto de acordes. También hay distintos símbolos impresos para un nombre de acorde dado. Los nombres y símbolos que se imprimen para los nombres de acorde dados se pueden personalizar.

El esquema de nomenclatura de acordes predeterminado es un sistema para música de Jazz propuesto por Klaus Ignatzek (véase Lista de referencias bibliográficas. Se pueden implementar otros sistemas de nomenclatura de acordes mediante funciones de Scheme, véase el ejemplo en Chord names alternative. Hay una lista de notaciones comunes para acordes de jazz en la tabla de la sección Cuadro de nombres de acordes.

Se puede trucar fácilmente el sistema de nomenclatura de acordes predeterminado. Para empezar, ciertas órdenes predefinidas permiten imprimir la nota fundamental en distintos idiomas. Entre ellas están \germanChords, \italianChords, \frenchChords y \englishChords.

Un caso especial es \semiGermanChords, que está pensado para un uso didáctico en países de habla alemana al mismo tiempo que se dirigen a un público internacional. Imprime la nota alemana B (si bemol) con el símbolo de alteración del bemol; el resto es idéntico a \germanChords.

[image of music]

Algunos cancioneros alemanes indican los acordes menores como letras minúsculas, sin el sufijo ‘m’. Esto se puede conseguir estableciendo la propiedad chordNameLowercaseMinor:

\chords {
  \set chordNameLowercaseMinor = ##t
  c2 d:m e:m f
}
[image of music]

También se puede afinar la presentación de los nombres de acorde a través del ajuste de las siguientes propiedades.

chordRootNamer

La configuración predeterminada es imprimir el nombre de acorde como una letra para la fundamental con una alteración opcional. La transformación de la nota en la letra se realiza por parte de esta función. Los nombres de nota especiales (por ejemplo, la ‘H’ alemana para un acorde de Si) se pueden producir almacenando una función diferente en esta propiedad.

majorSevenSymbol

Esta propiedad contiene el objeto de marcado que identifica a un acorde de séptima mayor, que se imprimirá justo después de la nota fundamental del acorde. Los valores predeterminados son whiteTriangleMarkup (triángulo blanco, el valor por omisión) y blackTriangleMarkup (triángulo negro).

additionalPitchPrefix

Si el nombre del acorde contiene notas añadidas, normalmente llevan el prefijo ‘add’, que es la opción predeterminada de LilyPond. Este prefijo se puede modificar o eliminar.

\new ChordNames {
  <c e g d'>    % add9
  \set additionalPitchPrefix = ""
  <c e g d'>    % add9
}
[image of music]
chordNoteNamer

Si un nombre de acorde contiene notas añadidas distintas a la fundamental (p. ej. una nota añadida en el bajo), se usa la función asignada a esta propiedad para imprimir dichas notas. Si no está establecida o está fijada a '(), use en su lugar la función asignada a chordRootNamer.

Como ejemplo, la función chord-name:german-lowercase-name-markup se use por parte de \germanChords para imprimir las notas del bajo en letras minúsculas.

chordNameSeparator

Las diferentes partes del nombre de un acorde se separan normalmente mediante un pequeño espacio en blanco. Mediante el ajuste de chordNameSeparator, podemos usar cualquier marcado que deseemos como separador. Esto no afecta al separador entre un acorde y la nota del bajo: para personalizar eso, utilice slashChordSeparator.

\chords {
  c4:7.9- c:7.9-/g
  \set chordNameSeparator = \markup { "/" }
  \break
  c4:7.9- c:7.9-/g
}
[image of music]
slashChordSeparator

Los acordes se pueden tocar sobre una nota del bajo distinta a la fundamental. Se llaman “inversiones” o “acordes de barra inclinada” porque la manera predeterminada de efectuar su notación es con una barra inclinada entre el acorde y la nota del bajo. Por tanto, el valor de slashChordSeparator es, por omisión, una barra inclinada, pero podemos cambiarlo a cualquier otro elemento de marcado.

\chords {
  c4:7.9- c:7.9-/g
  \set slashChordSeparator = \markup { " over " }
  \break
  c4:7.9- c:7.9-/g
}
[image of music]
chordNameExceptions

Esta propiedad es una lista de parejas. El primer elemento de cada pareja es un conjunto de notas utilizadas para identificar los elementos presentes en el acorde. El segundo elemento es un elemento de marcado que sigue a la salida de chordRootNamer para crear el nombre del acorde.

minorChordModifier

La notación de los acordes menores se suele hacer por medio del sufijo ‘m’ a la derecha de la letra que indica la fundamental del acorde (es la opción predeterminada de LilyPond). Sin embargo, otras convenciones dan preferencia a sufijos diferentes, como un signo menos.

\chords {
  c4:min f:min7
  \set minorChordModifier = \markup { "-" }
  \break
  c4:min f:min7
}
[image of music]
chordPrefixSpacer

El modificador de los acordes menores tal y como viene determinado por minorChordModifier se imprime de manera predeterminada inmediatamente a la derecha de la fundamental. Se puede insertar un espacio entre la fundamental y el modificador estableciendo chordPrefixSpacer (utilizado, por ejemplo, en el caso de \italianChords). No se inserta ningún espacio si la fundamental es una nota alterada.

Instrucciones predefinidas

\whiteTriangleMarkup, \blackTriangleMarkup, \germanChords, \semiGermanChords, \italianChords, \frenchChords, \englishChords.

Fragmentos de código seleccionados

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]

Nombre de acorde maj7

La presentación del acorde de séptima mayor se puede ajustar mediante la propiedad de contexto majorSevenSymbol.

\chords {
  c:7+
  \set majorSevenSymbol = \markup { j7 }
  c:7+
}
[image of music]

Añadir barras de compás al contexto de nombres de acorde (ChordNames)

Para añadir indicaciones de línea divisoria dentro del contexto de los nombres de acorde ChordNames, incluya el grabador Bar_engraver.

\new ChordNames \with {
  \override BarLine.bar-extent = #'(-1 . 3)
  \consists "Bar_engraver"
}

\chordmode {
  f1:maj7 f:7 bes:7
}
[image of music]

Corchetes de primera y segunda vez debajo de los acordes

Mediante la adición del grabador Volta_engraver al pentagrama pertinente, se pueden poner los corchetes de primera y segunda vez debajo de los acordes.

\score {
  <<
    \chords { c1 c1 }
    \new Staff \with { \consists "Volta_engraver" }
    {
      \repeat volta 2 { c'1 \alternative { c' } }
    }
  >>
  \layout {
    \context {
      \Score
      \remove "Volta_engraver"
    }
  }
}
[image of music]

Modificación del separador de acordes

Se puede establecer el separador entre las distintas partes del nombre de un acorde para que sea cualquier elemento de marcado.

\chords {
  c:7sus4
  \set chordNameSeparator = \markup { \typewriter | }
  c:7sus4
}
[image of music]

Véase también

Referencia de la notación: Cuadro de nombres de acordes, Modificadores de acorde más usuales.

El ensayo sobre grabado musical automatizado: Lista de referencias bibliográficas.

Archivos instalados: scm/chords-ignatzek-names.scm, scm/chord-entry.scm, ly/chord-modifiers-init.ly.

Fragmentos de código: Notación de los acordes.

Advertencias y problemas conocidos

Los nombres de acorde se determinan a partir de las notas que están presentes en el mismo y de la información acerca de la estructura del acorde que ha podido ser introducida en \chordmode. Si el método de las notas simultáneas se usa para introducir los acordes, pueden resultar nombres no deseados a partir de las inversiones o de las notas del bajo.

myChords = \relative c' {
  \chordmode { c1 c/g c/f }
  <c e g>1 <g c e> <f c' e g>
}
<<
  \new ChordNames { \myChords }
  \new Staff { \myChords }
>>
[image of music]

Referencia de la notación de GNU LilyPond v2.25.81 (development-branch).