Ir al contenido
learn

Teoría musical para Guitar Alchemist — Misión

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.

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.

  1. La idea, en palabras y sobre el mástil.
  2. La notación con la que la escriben músicos y teóricos.
  3. 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.

  • 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
  • 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.

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: