theHarmonicAlgorithm-3.1.0: Real-time harmonic progression generation for TidalCycles live performance
A live performance instrument for generating and shaping harmonic progressions in real time while patterning musical data within them, trained on 488 composers from the Yale Classical Archives Corpus. It integrates with TidalCycles via a kinetics framework handling form, five voicing strategies, a launcher paradigm 'conducting' the musical abstracts reactively, and a preconfigured virtual orchestra mapping based on Stravinsky's ensemble for his composition "Orphée".
Start here
- Harmonic.Lib — the single import for live coding. Re-exports everything below; a performance script needs nothing else.
Generating
- Harmonic.Framework.Builder — the generative engine. Modifier-based API
(
gen,genE,genJ,genP,genFrom), composer blending, and multi-attempt rank-and-select. - Harmonic.Rules.Types.ProgressionContext — the three-layer progression
value carried by every family:
genPfills the layers with strata and mode chromas,genEwith polytonal partner triads,genandgenJwith chordscale pentatonics and modes from key-area analysis (Harmonic.Evaluation.Analysis.KeyArea).
Playing
- Harmonic.Interface.Tidal.Bridge —
arrange, the bridge from a progression to a playable pattern. - Harmonic.Interface.Tidal.Arranger — voicing strategies (
grid,flow,lite,literal,root) and progression manipulation. - Harmonic.Interface.Tidal.Form — the form and kinetics framework.
- Harmonic.Interface.Tidal.Orchestra — 16 orchestral instruments with built-in range clipping and divisi.
- Harmonic.Interface.Tidal.Groove — sub-bass, kick patterns and the clave/cascara grids.
- Harmonic.Interface.Tidal.Motif — motivic development operators.
- Harmonic.Interface.Tidal.Devices.JV1010 — drum map and continuo bank
addressing;
Devices.S1andDevices.P6carry the Roland AIRA CC maps. - Harmonic.Traversal.WalkingBass — walking-bass line generation.
Music theory primitives
- Harmonic.Rules.Types.Pitch — pitch-class algebra as the Z12 cyclic group.
- Harmonic.Rules.Types.Harmony — chords, cadences and their concrete states.
- Harmonic.Rules.Types.Scale — pentatonic, modal and octatripentatonic vocabulary.
- Harmonic.Rules.Constraints.Filter — pitch-class set filtering.
Internals
Corpus ingestion (Harmonic.Rules.Import.CSV and friends) and scoring (Harmonic.Evaluation.Scoring.Dissonance, Harmonic.Evaluation.Scoring.VoiceLeading) are not needed to generate or play music.
Modules
theHarmonicAlgorithm-3.1.0
- Harmonic
- Harmonic.Config Connection constants and file paths for Neo4j and corpus data
- Harmonic.Database Neo4j connection and query transport over the HTTP Query API
- Evaluation
- Analysis
- Harmonic.Evaluation.Analysis.KeyArea Whole-progression key-area detection and chordscale layers
- Harmonic.Evaluation.Analysis.Markov Markov transition probability computation (ingestion-only)
- Database
- Harmonic.Evaluation.Database.Query Read-only interface to Neo4j for cadence graph traversal
- Scoring
- Harmonic.Evaluation.Scoring.Dissonance Hindemith-based dissonance evaluation
- Harmonic.Evaluation.Scoring.Progression Whole-progression scoring for rank-and-select generation
- Harmonic.Evaluation.Scoring.VoiceLeading Cyclic DP voice leading optimization
- Analysis
- Framework
- Harmonic.Framework.Builder Generative engine for harmonic progressions with unified diagnostics interface
- Harmonic.Framework.Builder.Core Core generation engine for harmonic progressions
- Harmonic.Framework.Builder.Diagnostics Diagnostic printing and chord tracing for generation
- Harmonic.Framework.Builder.JazzGen genJ — walk generation over the jazz (Change) graph
- Harmonic.Framework.Builder.Modifiers The pure
GenConfigsurface — entrypoints and modifiers - Harmonic.Framework.Builder.PolyGen The genE paradigm — polytonal three-layer generation
- Harmonic.Framework.Builder.Portmanteau Portmanteau name generation from composer blend strings
- Harmonic.Framework.Builder.Strata Strata-first traversal helpers for the
genPparadigm - Harmonic.Framework.Builder.StrataGen The strata-first generator behind
genP - Harmonic.Framework.Builder.Types Types for the harmonic generation engine
- Harmonic.Framework.Builder Generative engine for harmonic progressions with unified diagnostics interface
- Interface
- Tidal
- Harmonic.Interface.Tidal.Arranger Performance-oriented progression manipulation
- Harmonic.Interface.Tidal.Bridge TidalCycles interface for harmonic progressions
- Harmonic.Interface.Tidal.ChordscaleT REPL report for the chordscale key-area analysis
- Devices
- Harmonic.Interface.Tidal.Devices.JV1010 Roland JV-1010 drum map and continuo bank addressing
- Harmonic.Interface.Tidal.Devices.P6 Roland AIRA P-6 Creative Sampler control map
- Harmonic.Interface.Tidal.Devices.S1 Roland AIRA S-1 Tweak Synthesizer control map
- Harmonic.Interface.Tidal.Display 4-character LED display feed for the 12 Step controller
- Harmonic.Interface.Tidal.Form Kinetics framework for form-driven range gating
- Harmonic.Interface.Tidal.Groove Rhythm section interface for sub-bass and kick patterns
- Harmonic.Interface.Tidal.Instruments MIDI channel routing and instrument shorthand for TidalCycles
- Harmonic.Interface.Tidal.LineHarmony TidalCycles walking-bass interface
- Harmonic.Interface.Tidal.Motif Motivic development operators for TidalCycles patterns
- Harmonic.Interface.Tidal.OctatripentatonicT Live-coding helpers for the octatripentatonic framework
- Harmonic.Interface.Tidal.Orchestra Orchestral instrument functions for TidalCycles
- Harmonic.Interface.Tidal.PolytonalT Live-coding helpers for the polytonal genE family
- Harmonic.Interface.Tidal.Utils TidalCycles helper functions for octave transposition and time rotation
- Tidal
- Harmonic.Lib The single import for live coding with theHarmonicAlgorithm
- Rules
- Constraints
- Harmonic.Rules.Constraints.Filter Pitch class set filtering using legacy notation
- Harmonic.Rules.Constraints.Overtone Constructive generation of valid triads from overtone sets
- Import
- Harmonic.Rules.Import.CSV CSV parsing for YCACL corpus ingestion
- Harmonic.Rules.Import.Graph Neo4j graph database connection and cadence storage
- Harmonic.Rules.Import.Jazz Chord-symbol parser for the Bunks jazz corpus
- Harmonic.Rules.Import.Merge Composer normalisation, curation, and transition merging
- Harmonic.Rules.Import.Transform YCACL data transformation into cadence structures
- Harmonic.Rules.Import.Types Shared record types for the YCACL ingestion pipeline
- Types
- Harmonic.Rules.Types.Harmony Chord, Cadence, and their Concrete State representations
- Harmonic.Rules.Types.Pitch Foundational pitch-class algebra as ℤ₁₂ cyclic group
- Harmonic.Rules.Types.Progression Progression type with Monoid structure and manipulation functions
- Harmonic.Rules.Types.ProgressionContext Three-layer progression value (triad / strata / mode) for the genP paradigm
- Harmonic.Rules.Types.Scale Pentatonic, modal, and octatripentatonic vocabulary
- Constraints
- Traversal
- Harmonic.Traversal.Probabilistic Gamma distribution sampling for weighted selection
- Harmonic.Traversal.WalkingBass Three-pass walking-bass line generator with derived entropy