From Emotion to Harmony: Building a Pan-Triadic Neo-Riemannian Transformer for MCCF
From Emotion to Harmony: Building a Pan-Triadic Neo-Riemannian Transformer for MCCF
Abstract
This post proposes a structural integration between Multi-Channel Coherence Field (MCCF) and Neo-Riemannian harmonic systems, enabling a new class of narrative engines in which emotional transformations are isomorphic to harmonic transformations. By replacing scale-based modal generation with Tonnetz-based triadic navigation, we move from static emotional scoring to dynamic, audible emotional evolution.
1. The Core Insight
Traditional music systems map emotion → sound as a surface layer.
This system does something fundamentally different:
Emotional state transitions are harmonic transformations.
Neo-Riemannian theory provides a minimal set of operations on triads:
- P (Parallel): Major ↔ Minor (same root)
- L (Leading-tone exchange): Subtle destabilization
- R (Relative): Identity reframing
These operations preserve voice-leading continuity while enabling expressive harmonic motion.
MCCF Mapping
| Emotional Transformation | Harmonic Operation |
|---|---|
| Valence inversion | P |
| Rising uncertainty | L |
| Identity shift | R |
This forms a pan-triadic emotional algebra.
2. From Modal Generator to Triadic Field Engine
Most generative systems operate like this:
Mode → Scale → Note SelectionWe replace that pipeline with:
Triad → Tonnetz → Transformations (PLR)Key Shift
- No fixed key center
- No static mode
- Tonality emerges from movement through triadic space
The Tonnetz becomes the state space of the system.
3. The Tonnetz as Emotional Topology
The Tonnetz is not just a music theory diagram—it is a topological map of perceptual proximity.
- Adjacent triads = minimal emotional change
- Distant triads = discontinuity / rupture
- Cycles = emotional loops or obsessions
This aligns directly with MCCF:
Emotional state is not a point—it is a trajectory.
4. Agent Architecture
Each agent in the system contains:
A. Emotional State Vector
Example:
E = [valence, arousal, dominance, coherence, attachment, uncertainty]B. Transformation Mapping
State changes produce probability distributions over PLR operations:
P(P) = f(Δvalence)
P(L) = f(Δuncertainty)
P(R) = f(identity_shift)Transformation selection is stochastic, not deterministic.
5. Triadic State Engine
Each agent maintains:
- Current triad (e.g., C major)
- Position in Tonnetz
- Transformation history
Transition Function
T_next = apply(PLR_operation, T_current)Where operation is sampled from the emotional probability distribution.
6. Multi-Agent Interaction
When agents interact, their harmonic states enter relational dynamics:
A. Convergence
- Agents move toward shared triads
- Harmonic unison = emotional alignment
B. Dissonant Adjacency
- Neighboring triads create tension
- Near-understanding without resolution
C. Conflict Cycles
- Repeated PLR loops
- Emotional recursion (e.g., betrayal, denial)
7. Temporal Dynamics
A. Transformation Rate
- Slow transitions → stability
- Rapid transitions → anxiety / chaos
B. Motif Memory
Agents accumulate triadic motifs:
- Reuse = memory
- Variation = reinterpretation
- Collapse = forgetting
8. Sound Generation Layer
The harmonic engine outputs triads. The synthesis layer renders them.
A. Voice-Leading Engine
- Maintain 3–4 voices
- Minimize motion between transitions
- Preserve perceptual continuity
B. Timbre Mapping
| Emotional Dimension | Audio Parameter |
| Arousal | Amplitude / density |
| Valence | Brightness / spectral tilt |
| Dominance | Register / bass weight |
| Coherence | Rhythmic stability |
9. System Architecture
[MCCF Emotional Engine]
↓
[PLR Probability Mapper]
↓
[Triadic State Engine (Tonnetz)]
↓
[Voice-Leading Engine]
↓
[Synthesis Layer]Each layer is modular and replaceable.
10. Emotional–Harmonic Metric Space
The critical missing component is a formal metric:
distance_emotion(A, B) ≈ distance_tonnetz(TA, TB)This enables:
- Predictable emotional modulation
- Reversible transformations
- Composable narrative arcs
Without this, the system remains expressive but not controllable.
11. Pseudo-Code Prototype
class Agent:
def __init__(self, triad, emotion):
self.triad = triad
self.emotion = emotion
def update_emotion(self, delta):
self.emotion += delta
def compute_probabilities(self):
return {
"P": f_valence(self.emotion),
"L": f_uncertainty(self.emotion),
"R": f_identity(self.emotion)
}
def step(self):
probs = self.compute_probabilities()
op = sample(probs)
self.triad = apply_PLR(self.triad, op)12. X3D / Real-Time Integration
Within an X3D or VR environment:
- Agents are visual nodes
- Tonnetz positions are spatialized
- Transformations animate both:
- Geometry (movement)
- Sound (triadic output)
This allows:
- Pause → inspect emotional/harmonic state
- Modify → resume simulation
- Observe emergent narrative
13. Why This Matters
Most AI music systems:
- Decorate emotion with sound
This system:
Makes emotion structurally audible
It unifies:
- Narrative generation
- Emotional modeling
- Harmonic theory
- Real-time simulation
14. Next Steps
- Define explicit PLR probability functions
- Implement Tonnetz graph traversal
- Build voice-leading engine
- Integrate with MCCF simulation loop
- Prototype multi-agent harmonic interaction
Closing Thought
Neo-Riemannian harmony solved a problem music theory didn’t know it had:
How to move meaningfully without a fixed center.
MCCF is solving the same problem for emotion.
Bringing them together is not a metaphor.
It is a shared algebra of transformation.

Comments
Post a Comment