Lección 3: Acordes, cifrados, inversiones y voicings
Secciones
Ajustes de lectura
Ninguna voz para este idioma en este navegador.
Más voces
Código y términos técnicos en inglés
Desactivado: la voz de la página lo lee todo, sin pausa entre dos voces.
Ninguna voz para este idioma en este navegador.
Más voces
Más voces: Microsoft Edge ofrece voces naturales en línea, y Windows (Configuración › Hora e idioma › Voz), macOS y Android instalan otras.
Un cifrado de acorde como Cm7 es un pequeño lenguaje: una fundamental, una cualidad, extensiones. Una forma de acorde de guitarra como x32010 es otro. Esta lección analiza los dos: qué significa el cifrado, qué notas nombra y cómo escribirlas, qué es una inversión y cómo una forma sobre seis cuerdas se convierte en un conjunto de clases de altura y de nuevo en un nombre. En cada paso compara el libro de texto con Guitar Alchemist (GA), y aquí los dos discrepan más a menudo que en las dos primeras lecciones.
Todos los enlaces a GA apuntan al commit a826864. Las salidas proceden de:
dotnet run --project code/music-theory-ga/GaTheory -c Release -- l3Tríadas y acordes de séptima
Sección titulada «Tríadas y acordes de séptima»La idea
Sección titulada «La idea»Una tríada son tres notas que se pueden apilar en terceras: una fundamental, una tercera por encima y una quinta por encima de la fundamental. Su cualidad viene de esos dos intervalos: una tercera mayor y una quinta justa forman una tríada mayor, una tercera menor y una quinta justa una tríada menor; una tercera menor y una quinta disminuida forman una tríada disminuida, una tercera mayor y una quinta aumentada una aumentada (Open Music Theory, “Triads”). El módulo de Streeling MUS-001 · ¿Qué es un acorde? construye las tríadas mayor y menor de la misma manera.
Apila una tercera más y obtienes un acorde de séptima. Cinco cualidades son habituales: séptima mayor (tríada mayor, séptima mayor), séptima de dominante (tríada mayor, séptima menor), séptima menor, séptima semidisminuida (tríada disminuida, séptima menor) y séptima disminuida (fully diminished) (Open Music Theory, “Seventh Chords”). Apilar más da novenas, oncenas y trecenas.
La notación
Sección titulada «La notación»Un cifrado de acorde es una letra de fundamental seguida de sufijos (Open Music Theory, “Chord Symbols”):
| Cifrado | Significado | Semitonos sobre la fundamental |
|---|---|---|
C |
tríada mayor: no se añade nada | 0 4 7 |
Cm, Cdim o C°, Caug o C+ |
menor, disminuida, aumentada | 0 3 7, 0 3 6, 0 4 8 |
Csus4 (Csus), Csus2 |
la tercera sustituida por una cuarta o una segunda | 0 5 7, 0 2 7 |
C6 |
tríada mayor más una sexta mayor | 0 4 7 9 |
C7 |
séptima de dominante: un 7 a secas es una séptima menor | 0 4 7 10 |
Cmaj7 (CΔ7), Cm7 |
séptima mayor, séptima menor | 0 4 7 11, 0 3 7 10 |
Cm7♭5 (Cø7), Cdim7 (C°7) |
semidisminuido, disminuido | 0 3 6 10, 0 3 6 9 |
C9 |
séptima de dominante más una novena mayor | 0 4 7 10 14 |
Cadd9 |
tríada mayor más una novena, sin séptima | 0 4 7 14 |
El mismo capítulo enuncia las dos convenciones por defecto que confunden a los principiantes: una séptima añadida a una tríada es menor salvo que se indique maj, y C9 implica esa séptima mientras que Cadd9 no. Una novena es una octava más una segunda, así que 14 semitonos son la clase de altura 2.
== Chord symbols on C: pitch classessymbol course GA checkC 0 4 7 0 4 7 okCm 0 3 7 0 3 7 okCdim 0 3 6 0 3 6 okCaug 0 4 8 0 4 8 okCsus2 0 2 7 0 2 7 okCsus4 0 5 7 0 5 7 okC6 0 4 7 9 0 4 7 9 okC7 0 4 7 T 0 4 7 T okCmaj7 0 4 7 E 0 4 7 E okCm7 0 3 7 T 0 3 7 T okCm7b5 0 3 6 T 0 3 6 T okCdim7 0 3 6 9 0 3 6 9 okC9 0 2 4 7 T 0 2 4 7 T okCadd9 0 2 4 7 0 2 4 7 okPasar de un cifrado a notas y volver atraviesa cuatro tipos de GA:
flowchart LR S["cifrado: Cm7"] -- "Chord.FromSymbol" --> F["ChordFormula: 3 7 10"] F -- "constructor de Chord" --> N["Notes: C D# G A#"] N --> P["PitchClassSet: 0 3 7 T"] F -- "GetSymbolSuffix" --> X["sufijo: m7"] P -- "CanonicalChordPatternCatalog" --> C["nombre: minor-7"]Chord.FromSymbolsepara la fundamental del sufijo con una expresión regular, y luegoParseSuffixes una expresiónswitchsobre el sufijo en minúsculas:"m7b5" or "ø7","dim7" or "°7", y así sucesivamente, una rama por tipo de acorde. Cualquier otra cosa lanza una excepción.- Cada rama devuelve una
ChordFormula, una lista con nombre de intervalos en semitonos sobre la fundamental (la fundamental misma está implícita):FromSemitones("Half Diminished 7th", 3, 6, 10). - El parser y el curso coinciden en los catorce cifrados.
De las notas de vuelta a un cifrado
Sección titulada «De las notas de vuelta a un cifrado»La idea
Sección titulada «La idea»Nombrar un acorde es el problema inverso: dadas las notas, encontrar la fundamental y el sufijo. Lo deciden los intervalos sobre la fundamental, y la diferencia entre dos acordes puede ser un solo semitono: C7 y Cmaj7 solo difieren en B♭ frente a B.
GA tiene dos caminos de vuelta, y no coinciden.
ChordFormula.GetSymbolSuffix deduce una cualidad y luego una extensión a partir de los intervalos de la fórmula:
== Pitch classes back to a symbol: GA's ChordFormula.GetSymbolSuffixsymbol course GA checkC (major) (major) okCm m m okCdim dim dim okCaug aug aug okCsus2 sus2 sus2 okCsus4 sus4 sus4 okC6 6 6 okC7 7 7 okCmaj7 maj7 7 DIFFCm7 m7 m7 okCm7b5 m7b5 dim7 DIFFCdim7 dim7 dim6 DIFFC9 9 9 okCadd9 add9 add9 okTres de los cinco acordes de séptima vuelven con el cifrado de otro acorde. El enum ChordQuality tiene los miembros Major7, Minor7, HalfDiminished y Diminished7, pero DetermineQuality nunca los devuelve: solo conoce Suspended, Dominant (tercera mayor y séptima menor), Diminished, Augmented, Minor, Major y Other. Después, GetSymbolSuffix concatena un sufijo de cualidad y un sufijo de extensión:
Cmaj7esMajor(sin séptima menor, luego no es dominante) másSeventh:"" + "7", el cifrado del acorde de séptima de dominante;Cm7b5esDiminishedmásSeventh:"dim" + "7", el cifrado del acorde totalmente disminuido;Cdim7esDiminished, yDetermineExtensionlee su intervalo de 9 semitonos como una sexta:"dim6". Nueve semitonos son una sexta mayor o una séptima disminuida; solo la grafía (B𝄫 en lugar de A) dice cuál, y una fórmula en semitonos no tiene grafía. La sección siguiente vuelve sobre esto.
Los miembros que DetermineQuality nunca devuelve no están sin usar en el resto de GA, y los cifrados correctos ya están escritos dos veces: CadenceChordParser hace corresponder "maj7", "m7b5" y "dim7" con Major7, HalfDiminished y Diminished7, y el DslCommand en F# los vuelve a imprimir como maj7, m7, dim7 y ø7, los cifrados del libro de texto: Open Music Theory escribe F∅7 para el acorde semidisminuido y Fo7 para el totalmente disminuido (“Seventh Chords”). La tabla existe en el mismo commit; ChordFormula simplemente nunca llega hasta ella.
CanonicalChordPatternCatalog es una lista escrita a mano de patrones de intervalos con nombres y prioridades, y TryFindExact devuelve el primer patrón, por prioridad, cuyos intervalos coinciden exactamente. Nombra correctamente los catorce acordes:
== GA's recognition catalog (CanonicalChordPatternCatalog.TryFindExact) C 0,4,7 major-triad Cm 0,3,7 minor-triad Cdim 0,3,6 diminished-triad Caug 0,4,8 augmented-triad Csus2 0,2,7 sus2 Csus4 0,5,7 sus4 C6 0,4,7,9 major-6 C7 0,4,7,10 dominant-7 Cmaj7 0,4,7,11 major-7 Cm7 0,3,7,10 minor-7 Cm7b5 0,3,6,10 half-diminished-7 Cdim7 0,3,6,9 diminished-7 C9 0,2,4,7,10 dominant-9 Cadd9 0,2,4,7 add-9Leer el catálogo revela cuatro conjuntos de intervalos listados dos veces con nombres distintos: 9-sus4 y dominant-11 (0 2 5 7 10), major-6-add-9 y 6-9, minor-6-add-9 y minor-6-9, augmented-7 y dominant-7-sharp-5 (0 4 8 10). Dos nombres para un mismo conjunto de clases de altura es normal en música, pero con una coincidencia exacta por prioridad, dominant-11, 6-9, minor-6-9 y dominant-7-sharp-5 nunca pueden devolverse.
Escribir los acordes
Sección titulada «Escribir los acordes»La idea
Sección titulada «La idea»Un acorde por terceras usa una letra sí y otra no: C E G, D F A, B D F. Para escribir un acorde, anota esas letras desde la fundamental y añade las alteraciones que dan a cada intervalo su cualidad (Open Music Theory, “Triads”, “Spelling Triads”). Así, C menor es C E♭ G, nunca C D♯ G: D♯ está sobre la letra de una segunda, y C–D♯ es una segunda aumentada, no una tercera menor (lección 1). Una séptima disminuida sobre C necesita una letra B para su séptima, rebajada dos veces: C E♭ G♭ B𝄫.
El curso escribe los acordes con Theory.Spell: la letra viene del grado del acorde, la alteración de los semitonos.
== Spelling: one letter per chord degreesymbol course GA checkCm C Eb G C D# G DIFFEb Eb G Bb Eb G A# DIFFAb Ab C Eb Ab C D# DIFFF# F# A# C# F# A# C# okBbm7 Bb Db F Ab Bb C# F G# DIFFCdim C Eb Gb C D# F# DIFFCdim7 C Eb Gb Bbb C D# F# A DIFFGb7 Gb Bb Db Fb Gb A# C# E DIFFEl constructor de Chord conserva la fundamental tal como está escrita y construye cada una de las demás notas solo a partir de su clase de altura:
var newPitchClassValue = (root.PitchClass.Value + interval.Interval.Semitones.Value) % 12;var newNote = new PitchClass { Value = newPitchClassValue }.ToChromaticNote().ToAccidented();Una clase de altura no tiene letra, y la conversión cabe en una línea: Note.Chromatic.ToAccidented es ToSharp().ToAccidented(), así que cada tecla negra recibe un nombre con sostenido. Las clases de altura siguen siendo correctas, y también los acordes cuya grafía correcta usa sostenidos (F♯ mayor), pero un acorde de tonalidad con bemoles como E♭ obtiene Eb G A#, mezclando ambos, y Gb7 recibe un E como séptima. Para tocar, el sonido es el mismo. Para mostrar, analizar o nombrar los intervalos de la lección 1, la grafía es incorrecta: por sus letras, de E♭ a A♯ hay una cuarta (E F G A) de siete semitonos, no la quinta justa del acorde.
Inversiones y acordes con barra
Sección titulada «Inversiones y acordes con barra»La idea
Sección titulada «La idea»El bajo es la nota más grave que suena. Un acorde con la fundamental en el bajo está en estado fundamental; con la tercera en el bajo, en primera inversión; con la quinta, en segunda inversión; con una séptima, en tercera inversión. La fundamental no cambia: C E G, E G C y G C E son todos C mayor (Open Music Theory, “Inversion”). No es la inversión interválica de la lección 1, ni la inversión de conjuntos de la lección 2: la misma palabra tiene tres significados.
La notación
Sección titulada «La notación»Un acorde con barra (slash chord) escribe el bajo tras una barra: C/E es una tríada de C mayor con E en el bajo (Open Music Theory, “Chord Symbols”).
== Inversions of C majorinversion course GA check0 C bass C inversion 0 Major C bass C inversion 0 Major ok1 C/E bass E inversion 1 Major C/E bass E inversion 1 Other DIFF2 C/G bass G inversion 2 Major C/G bass G inversion 2 Major okBassesNotes[0], yGetInversioncuenta dónde está la fundamental entre las notas: ambos correctos.ToInversionrota las notas (E G C) y llama al constructor a partir de notas con la misma fundamental, que vuelve a analizar el acorde.AnalyzeChordFormulamide cada nota desde la fundamental, pero empieza conNotes.Skip(1) // Skip root: tras la rotación, la nota omitida es el bajo. En primera inversión omite E, la tercera, así que la fórmula queda solo en G y C, sin tercera, y la cualidad esOther. En segunda inversión omite G, la quinta, queDetermineQualityno mira, así que la respuesta es correcta por suerte.
Voicings sobre el mástil
Sección titulada «Voicings sobre el mástil»La idea
Sección titulada «La idea»Un cifrado nombra clases de altura; un voicing (disposición) decide en qué octava se toca cada una, cuáles se duplican y cuáles se omiten (Open Music Theory, “Jazz Voicings”). En una guitarra, un voicing es un traste, o una cuerda apagada, por cuerda. Los diagramas de acordes de guitarra lo escriben como seis caracteres de la cuerda 6 (E grave) a la cuerda 1: x para una cuerda que no se toca, 0 para una cuerda al aire. El C mayor abierto es x32010: C en la cuerda 5 y E, G, C y E por encima, tres clases de altura en cinco cuerdas (Guitar chord, “Triads”). El módulo de Streeling GAA-001 · Tu primer acorde explica cómo leer un diagrama de acorde, y GTR-002 · Geometría CAGED muestra las cinco formas mayores abiertas y los intervalos de cada cuerda.
Para la mano cuentan dos medidas: la extensión (span), de la nota pisada más grave a la más aguda (las cuerdas al aire no cuestan nada), y si un dedo debe pisar varias cuerdas en el mismo traste, una cejilla (barre), como en la forma de F mayor 133211 (Guitar chord).
== Voicings: fret numbers from string 6 (low E) to string 1 (high E)shape course GA checkx32010 0-1-0-2-3-x 0 4 7 span 2 0-1-0-2-3-x 0 4 7 span 2 ok032010 0-1-0-2-3-0 0 4 7 span 2 0-1-0-2-3-0 0 4 7 span 2 barre DIFFx02210 0-1-2-2-0-x 0 4 9 span 1 0-1-2-2-0-x 0 4 9 span 1 ok022100 0-0-1-2-2-0 4 8 E span 1 0-0-1-2-2-0 4 8 E span 1 barre DIFF320003 3-0-0-0-2-3 2 7 E span 1 3-0-0-0-2-3 2 7 E span 1 barre DIFFxx0232 2-3-2-0-x-x 2 6 9 span 1 2-3-2-0-x-x 2 6 9 span 1 ok133211 1-1-2-3-3-1 0 5 9 span 2 barre 1-1-2-3-3-1 0 5 9 span 2 barre okLas dos columnas imprimen el diagrama como lo hace GA, es decir al revés: 0-1-0-2-3-x es x32010 leído desde la cuerda 1.
Dibujadas como las dibujan los diagramas de acordes, con la cuerda 6 a la izquierda y la cejuela arriba, cuatro de estas formas quedan así. Una cruz marca una cuerda que no se toca, un círculo una cuerda al aire, y cada cuerda muestra la altura que suena. Las dos primeras son el mismo acorde de C mayor: x32010 tiene C3 en el bajo, estado fundamental, y 032010 añade la E grave al aire, E2, que pone el acorde en primera inversión. 320003 es G mayor, y 133211 es F mayor con un dedo haciendo cejilla en el traste 1.
C3 E3 G3 C4 E4E2 C3 E3 G3 C4 E4G2 B2 D3 G3 B3 G4F2 C3 F3 A3 C4 F4El curso de ComfyUI dibuja los mismos voicings como imágenes: su lección 11 escribe nodos de GA que convierten x32010 en un diagrama de acorde y en un mapa del mástil para generar imágenes, con el orden de cuerdas de los diagramas y el de GA uno junto al otro.
Voicinges unrecorddePositions (Position.MutedoPosition.Played, otra jerarquía cerrada) y notas MIDI. SuDiagramune las posiciones en el orden del array, y elVoicingGeneratorde GA rellena ese array en el orden deStr.Range, desde la cuerda 1, “the first string (highest pitch)”, así que los diagramas de GA empiezan por la E aguda, al contrario que los diagramas de acordes. El programa construye sus voicings de la misma manera.FretSpanignora las cuerdas al aire, como el curso.HasBarrees verdadero cuando tres cuerdas tocadas comparten traste, traste 0 incluido. Tres cuerdas al aire no son una cejilla, así que032010(C con un E grave),022100(E) y320003(G), que se tocan sin cejilla, salen como acordes con cejilla. Una cejilla es “one finger to press down multiple strings across a single fret” (Barre chord, Wikipedia), y ningún dedo pisa una cuerda al aire, así que las tres líneas son un error de GA y no una cuestión de definición. La tarea pendiente que anota el comentario sobreHasBarreya está escrita:DetectBarreRequirementsí compruebafret > 0y sí exige que las cuerdas sean contiguas, y por eso responde no hay cejilla para133211, cuyo traste 1 está en las cuerdas 6, 2 y 1. La regla del curso cuenta las cuerdas pisadas sin la contigüidad, así que también llamaría cejilla a una forma comox1x1x1. Las tres reglas son aproximaciones; solo la del curso acierta en todas las líneas de esta tabla.
Nombrar un voicing
Sección titulada «Nombrar un voicing»Una forma tiene un bajo, así que nombrarla significa encontrar una fundamental entre sus clases de altura, posiblemente distinta del bajo. El NameOf del curso prueba primero el bajo, luego las otras notas, y escribe un acorde con barra cuando la fundamental no es el bajo. La columna GA mide los intervalos desde el bajo y consulta TryFindExact (GaNameOf):
== Naming a voicing: course tries the bass first, GA's catalog reads from the bass x32010 course C GA major-triad 032010 course C/E GA (none) x02210 course Am GA minor-triad 022100 course E GA major-triad 320003 course G GA major-triad xx0232 course D GA major-triad 133211 course F GA major-triadMedidas desde E, las notas de 032010 son 0 3 8, un patrón que no coincide con nada, porque los patrones del catálogo se miden desde la fundamental y E no es la fundamental. El diagrama de acordes de Wikipedia presenta 032010 como el acorde de C, mientras que su texto apaga la cuerda 6; si un E en el bajo es aceptable es una decisión musical, pero cambia el nombre. GA sí nombra inversiones en otros lugares: su herramienta MCP ga_search_voicings devolvió en esta sesión un voicing 8-8-x-x-7-x etiquetado C/E (servidor MCP de GA, 2026-09-14, versión no indicada).
Ejercicios
Sección titulada «Ejercicios»- Escribe F♯dim7, una letra por grado del acorde.
- Nombra las formas
x35543yx02010: enumera sus notas de grave a agudo, luego encuentra una fundamental y un sufijo.
Soluciones
- Las letras son F, A, C, E. Sobre F♯: A es una tercera menor, C una quinta disminuida (6 semitonos), y la séptima disminuida está a 9 semitonos, E♭: F♯ A C E♭. GA escribe D♯, la misma tecla en un piano pero la letra de una sexta.
x35543es C3 G3 C4 D♯4 G4. Con C como fundamental, los intervalos son 0 3 7: Cm, un acorde con cejilla en la forma de la cuerda A (escrito C E♭ G).x02010es A2 E3 G3 C4 E4: desde A, 0 3 7 10, Am7. Partiendo en cambio de C, las mismas notas son 0 4 7 9, C6 con A en el bajo: el curso prueba primero el bajo, y por eso responde Am7.
== Exercise solutionsquestion course GA check1. F#dim7 F# A C Eb F# A C D# DIFF2. x35543 notes C3 G3 C4 D#4 G4 course Cm GA minor-triad2. x02010 notes A2 E3 G3 C4 E4 course Am7 GA minor-7El programa imprime nombres de notas derivados de MIDI, de ahí el D#4 de la segunda línea (Lesson3.cs).
Lo que responde el servidor MCP de GA
Sección titulada «Lo que responde el servidor MCP de GA»GA también expone herramientas de acordes a los asistentes de IA mediante un servidor MCP. Consultado en esta sesión (2026-09-14; el servidor no indica su versión, así que estas respuestas pueden no corresponder al commit a826864), ga_chord_intervals devolvió:
| Cifrado | Respuesta MCP | Teoría |
|---|---|---|
Cm7b5 |
P1 m3 P5 m7 | P1 m3 d5 m7 |
G7b9 |
P1 M3 P5 m7 | P1 M3 P5 m7 m9 |
C9 |
P1 M3 P5 M9 | P1 M3 P5 m7 M9 |
Cmaj9 |
P1 M3 P5 M9 | P1 M3 P5 M7 M9 |
ga_parse_chord("Cm7b5") sí analizó la alteración ("components":["ext:7","alt:b5"]). La herramienta sigue un camino distinto de Chord.FromSymbol: el closure F# domain.chordIntervals conserva solo la tríada base más un intervalo por extensión, ignora las alteraciones y lleva 9 y maj9 a 14 semitonos sin su séptima. El parser C# del mismo commit acierta con C9 (primera tabla de esta lección), así que las dos capas de GA se contradicen entre sí.
Puntos clave
Sección titulada «Puntos clave»- Un cifrado de acorde es fundamental más cualidad más extensiones; un
7a secas es una séptima menor,9la implica,add9no. - Un acorde por terceras toma una letra sí y otra no; la grafía, no los semitonos, distingue una séptima disminuida de una sexta mayor. GA escribe a partir de las clases de altura, con sostenidos.
- La inversión tiene que ver con el bajo; la fundamental no cambia. Los acordes con barra escriben el bajo.
- Un voicing de guitarra es un traste o una cuerda apagada por cuerda; los diagramas de acordes empiezan por la E grave, los de GA por la E aguda.
- GA tiene varias maneras de nombrar un acorde (
GetSymbolSuffix, el catálogo de patrones, las herramientas MCP) y dan respuestas distintas: prueba contra el catálogo, que coincidió con el libro de texto en todos los acordes en estado fundamental de esta lección.
Fuentes
Sección titulada «Fuentes»- Mark Gotham et al., Open Music Theory, versión 2, 2023, CC BY-SA 4.0: capítulos Triads, Seventh Chords, Chord Symbols, Inversion, Jazz Voicings.
- Guitar chord, Wikipedia (acordes mayores en posición abierta, acordes con cejilla).
- GuitarAlchemist/ga en
a826864:Theory/Harmony(Chord.cs,ChordFormula.cs,ChordQuality.cs,CanonicalChordPatternCatalog.cs),Instruments/Fretboard/Voicings/Core/Voicing.cs,GA.Domain.Services/Fretboard/Voicings/Generation/VoicingGenerator.cs,GA.Business.DSL/Closures/BuiltinClosures/DomainClosures.fs.