Teoría musical para Guitar Alchemist — Misión
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.
Por qué aprendo esto
Sección titulada «Por qué aprendo esto»Guitar Alchemist (GA) es una gran base de código C# y F# sobre música: notas, intervalos, escalas, modos, acordes, voicings, clases de conjuntos y herramientas que permiten a un asistente de IA razonar sobre ellos. Sé leer el código. Lo que no sé es decir si ModalFamily, PrimeForm o GetSymbolSuffix calculan lo que un músico entiende con esas palabras. Este curso aprende la teoría en fuentes serias, luego lee los tipos de GA con esa teoría en la mano y anota cada punto en que las dos no coinciden.
Para quién es este curso
Sección titulada «Para quién es este curso»Escribes C# o Java. Tocas un poco la guitarra: algunos acordes abiertos, quizá una escala pentatónica. No lees partituras, y no te hace falta: cada concepto llega en tres pasos.
- La idea, en palabras y sobre el mástil.
- La notación con la que la escriben músicos y teóricos.
- En GA: los tipos y métodos que la representan, con enlaces a las líneas exactas.
El lado de la programación te resultará familiar: value objects, records, campos de bits, expresiones switch, LINQ.
Al terminar este curso, sabré
Sección titulada «Al terminar este curso, sabré»- convertir entre nombres de notas, clases de altura, números MIDI y posiciones en el mástil;
- nombrar y deletrear intervalos, y reducirlos a clases de intervalo;
- construir escalas y modos a partir de patrones de pasos, leerlos como números de 12 bits y dibujarlos como brazaletes;
- leer cifrados de acordes, deletrear acordes, reconocer inversiones y nombrar voicings de guitarra;
- calcular vectores interválicos, formas primas y números de Forte, y explicar la relación Z;
- leer armaduras, recorrer el círculo de quintas y encontrar las tonalidades relativas, homónimas y estrechamente relacionadas;
- construir los acordes de una tonalidad, etiquetarlos con números romanos y funciones, y analizar cadencias y progresiones;
- explicar la conducción de voces, las sustituciones, la mezcla modal, las escalas simétricas, los acordes extendidos y las técnicas de voicing de guitarra;
- encontrar cada uno de estos conceptos en el código de GA, y decir dónde GA coincide con la teoría y dónde no.
El curso sigue los conceptos que usan el código, los archivos de configuración y las herramientas MCP de GA, desde la nota aislada hasta las transformaciones neorriemannianas. Las lecciones 1 a 16 están escritas; las demás son el plan, y su columna «En GA» nombra los tipos, archivos y herramientas que leerá cada una.
| # | Lección | Teoría | En GA | Si escribes C# |
|---|---|---|---|---|
| 1 | Notas, clases de altura y el mástil | altura, clase de altura, alteraciones, intervalos, afinación | PitchClass, Note, Interval, Tuning, Fretboard |
value objects, jerarquías cerradas de records |
| 2 | Escalas, modos e ids de escala de 12 bits | escalas mayores y menores, modos, transposición, brazaletes | PitchClassSetId, Scale, MajorScaleMode, ModalFamily |
[Flags], rotación de bits, PopCount |
| 3 | Acordes, cifrados, inversiones y voicings | tríadas, acordes de séptima, cifrados, inversiones | Chord, ChordFormula, CanonicalChordPatternCatalog, Voicing |
parsers, expresiones switch |
| 4 | Clases de conjuntos, vectores interválicos y la relación Z | equivalencia T/I, vectores interválicos, formas primas, números de Forte | SetClass, IntervalClassVector, ForteCatalog, herramientas MCP |
formas canónicas, clases de equivalencia |
| 5 | Tonalidades, armaduras y el círculo de quintas | armaduras, tonalidades relativas y homónimas, tonalidades estrechamente relacionadas | Key, KeySignature, herramientas MCP de tonalidades |
value objects de rango, tablas de búsqueda |
| 6 | Los acordes de una tonalidad | tríadas y acordes de séptima diatónicos, números romanos, nombres de los grados, funciones | HarmonicFunction, Key.Notes, PitchClassSet.GetCompatibleKeys, ga_diatonic_chords |
enums, pruebas de subconjunto sobre máscaras de bits |
| 7 | Cadencias, ii–V–I y la tonalidad de una progresión | cadencias, movimientos plagal y de engaño, ii–V–I, resolución de V⁷, encontrar la tonalidad | Cadences.yaml, PitchClassSet.ClosestDiatonicKey, ga_analyze_progression, ga_key_from_progression |
puntuación y desempate |
| 8 | El ukelele y el bajo | afinaciones reentrantes, afinaciones por cuartas, numeración de las cuerdas | Tuning.Ukulele, Tuning.Bass, Str, Fretboard, Instruments.yaml |
deducir a partir de los datos, y cuándo no hacerlo |
| 9 | Conducción de voces y notas comunes | notas comunes, conducción de voces fluida, distancia de conducción de voces, quintas y octavas paralelas, distancias OPTIC | VoiceLeadingSpace, SetClassOpticIndex, ProgressionVoiceLeadingAnalyzer, VoiceLeadingSkill, ga_common_tones, ga_voice_leading_pair |
métricas de distancia |
| 10 | Sustituciones y mezcla modal | sustitución por la relativa y por tritono, acordes prestados | ChordSubstitutionSkill, ModalInterchange.yaml, get_borrowed_chords, ga_chord_substitutions, GrothendieckDelta |
clasificación de candidatos |
| 11 | Los modos en profundidad | modos de la menor melódica y de la menor armónica, brillo, familias modales | MelodicMinorMode, HarmonicMinorMode, IScaleDegreeNaming, PitchClassSet.StepBrightness, UnifiedModeService, Modes.yaml, get_mode_info |
genéricos sobre grados de la escala |
| 12 | La simetría y los modos de transposición limitada | modos de transposición limitada, modos de Messiaen, escala de tritono, ejes especulares | SymmetricScaleMode, WholeToneScaleMode, DiminishedScaleMode, AugmentedScaleMode, UnifiedModeService, AtonalModalFamilies.yaml, TranspositionClass |
invariantes por rotación |
| 13 | Los acordes extendidos y alterados | novenas, oncenas, trecenas, alteraciones, estructuras superiores, poliacordes | Chord.FromSymbol, ChordSymbolParser, BasicChordExtensionsService, ChordAlterationService, ChordTemplateFactory, ExtendedChords.yaml, ga_polychord |
parsers con partes opcionales |
| 14 | Voicings de guitarra: shells, drop 2 y drop 3 | voicings shell, voicings cerrados y drop, notas guía | VoicingGenerator, VoicingHarmonicAnalyzer, VoicingAnalyzer, VoicingFilters, ChordClassificationEngine, ChordProgressions.yaml |
generación combinatoria |
| 15 | El mástil: CAGED, digitación y tocabilidad | formas CAGED, geometría del mástil, extensión y esfuerzo, afinaciones abiertas | FretboardGeometry, PhysicalFretboardCalculator, PhysicalCostService, VoicingPhysicalAnalyzer, BiomechanicalAnalyzer, PlayerProfile, Tunings.toml, ga_easier_voicings |
funciones de coste |
| 16 | Arpegios, teoría acorde–escala e improvisación | arpegios, pares acorde–escala, notas fuera de la escala | ga_arpeggio_suggestions, ImprovisationSkill, OutsideNotesSkill, ImprovisationConcepts.yaml |
tablas de correspondencia |
| 17 | El Tonnetz y las transformaciones neorriemannianas | P, L y R, el Tonnetz, mediantes cromáticas | NeoRiemannian.yaml, NeoRiemannianConfig.fs |
grafos de transformaciones |
| A | Todos los instrumentos de Guitar Alchemist | afinaciones, órdenes, cuerdas reentrantes | Instruments.yaml, InstrumentsConfig, Tuning |
configuración que nadie lee |
| B | La jerarquía OPTIC | octava, permutación, transposición, inversión, cardinalidad | PitchClassSet, TranspositionClass, SetClass, el esquema OPTIC-K de GA |
equivalencia, cociente tras cociente |
| C | Cada divergencia, y de quién es el error | las 40 líneas DIFF de las lecciones 1 a 7 |
los 19 defectos de los que proceden | leer una comparación con honestidad |
| — | Diario |
Requisitos previos
Sección titulada «Requisitos previos»- El SDK de .NET 10 y Git. En Windows, ejecuta los scripts del curso desde Git Bash.
- Unos 35 MB de disco para el clon parcial de GA y la salida de compilación: el script descarga solo los archivos de los tres proyectos contra los que se compila el programa, y algunos archivos de otros cuatro.
- Una guitarra ayuda: todos los ejemplos se pueden tocar.
Módulos relacionados en este sitio
Sección titulada «Módulos relacionados en este sitio»Los módulos de Streeling, generados a partir de GuitarAlchemist/Demerzel, cubren parte del mismo terreno desde el lado del músico. Cada lección enlaza los que vienen al caso:
- MUS-001 · ¿Qué es un acorde? y MUS-002 · Más allá de la tonalidad (lecciones 3 y 4);
- MUS-006 · El universo de las escalas (lecciones 2, 4, 11 y 12);
- MUS-003 · Cómo funciona la armonía (lecciones 5, 6, 7 y 10) y MUS-005 · Armonía de jazz para guitarra (lecciones 7, 9, 10, 11, 13 y 14);
- GTR-001 · El mapa del mástil y GAA-001 · Tu primer acorde (lecciones 1 y 3), y GTR-002 · Geometría CAGED (lecciones 1, 3 y 15);
- MUS-009 · Afinación y geometría del mástil y PHY-001 · La ciencia del sonido de la guitarra (lección 15);
- GAA-003 · Fundamentos de la improvisación (lección 16).
Recursos
Sección titulada «Recursos»- Mark Gotham et al., Open Music Theory, versión 2 (2023), un libro de texto gratuito y revisado por pares bajo CC BY-SA 4.0: la principal fuente teórica del curso.
- Ian Ring, A Study of Musical Scales: todas las escalas por su número de 12 bits, la numeración que usa GA, con un diagrama de brazalete para cada una.
- Wikipedia: Interval vector, List of set classes, Guitar chord, Circle of fifths, Cadence.
- GuitarAlchemist/ga: el código que lee este curso.