Harmonie
Construire et écouter une harmonie
Créez une progression, organisez-la en sections et écoutez chaque événement harmonique dans son contexte.

Objectif
Une Harmonie est une séquence temporelle de KeyScales. Elle peut représenter une cadence, une progression complète ou le plan harmonique d’un morceau.
Repères dans l’interface
- La recherche texte retrouve les progressions par nom.
- La transposition de tonalité prévisualise les mêmes relations depuis un autre centre.
- Les filtres Cadence et Progression séparent fonctions courtes et formes longues.
- Les tags et vues permettent de passer du catalogue aux cartes détaillées.
Méthode pas à pas
- Créez une Harmonie et choisissez son contexte tonal, sa visibilité et ses tags descriptifs.
- Ajoutez des sections pour séparer introduction, couplets, refrains, ponts ou exercices.
- Insérez les événements harmoniques, choisissez leurs KeyScales puis réglez leur durée et leur ordre.
- Écoutez la chronologie puis réutilisez-la dans les performances, play-alongs, générateurs ou intégrations.
Conseils de pratique
- Commencez avec quatre événements et vérifiez la conduite des voix avant de complexifier.
- Utilisez des noms de sections clairs afin que la chronologie reste lisible.
Exemple guidé
Exemple : créer une boucle ii–V–I
Créez trois événements en Do majeur : Ré mineur sept, Sol septième de dominante et Do majeur sept. Donnez une mesure à chacun, bouclez la section puis transposez toute l’Harmonie en Fa et comparez les fonctions conservées.
Documentation projet canonique
Cette référence est générée directement depuis les fichiers Markdown du dépôt ; elle n’est pas dupliquée dans les fixtures.
Source: Documentation/Harmony.md
1. Overview
Harmonies serve as the "logical layer" over musical notes. While a Note represents a specific performance event, a Harmony defines the rules of the musical space at a given time.
- Analytical Labeling: Provides text labels (e.g., "C Major", "Ab7#11") on the timeline.
- UI Highlighting: Determines which lanes in the Piano Roll are colored as "in-scale."
- Geometric Visualization: Drives the active nodes in the Circle of Fifths, Tonnetz, and Network views.
3. Workspace Integration
Harmonies are consumed by performances and workspace track containers as global timeline context. A single workspace can reference multiple harmonic palettes through HARMONY global events, and each event carries the active key/scale information used by theory tools.
Harmony Event Context
Harmony context is expressed as global events with timing metadata:
tick: The point where the harmonic context starts.durationTick: The active range of the harmony.label: The display label used by timeline and theory views.keyScale: The resolved key/scale payload used by note highlighting and visualization.
Workspace loaders merge these events into the global lane feed so the piano roll, instrument views, and graphical harmony surfaces read the same harmonic timeline.
6. Rendering Best Practices
6.1 Global Timeline (Harmony Lane)
Harmonies should be rendered as "pills" or segments on the global timeline. The label (e.g., "C Major") serves as the primary text. Tapping these pills should trigger a theory assistant or scale selector.
6.2 Contextual Zebra Shading
The Piano Roll background must adapt to the active Harmony.
- In-Scale: Vertical lanes corresponding to pitch classes found in
data.keyScale.tonesreceive a subtle highlight using the providedtoneColor. - Out-of-Scale: Lanes not in the set are rendered with a desaturated, darker background.
6.3 Native Highlighting
For native components (Fretboard/Keyboard), use the tones array to guide the user. Active scale degrees should be visually distinguished from non-scale tones to assist in "follow-along" modes.
6.4 WebView for Geometric Theory
Complex theory visualizations (Circle of Fifths, Tonnetz) should remain in the WebView layer to leverage existing coordinate-to-theory mapping logic. Use the JolyNativeBridge to sync the current workspace state to these views.
Diagnostic rapide
- Mauvais accord entendu : inspectez la KeyScale de l’événement exact, pas seulement la fondamentale de l’Harmonie.
- Ordre confus : définissez noms de sections et positions avant d’ajouter des événements.
- Transposition inattendue : décidez si orthographe, hauteurs absolues ou degrés fonctionnels doivent rester fixes.
Vérification avant de terminer
- Sections et événements suivent un ordre intentionnel.
- Chaque événement possède une durée et une KeyScale exacte.
- La chronologie complète a été écoutée du début à la fin.
Passer à la pratique
Ouvrez l’outil associé et appliquez immédiatement cette méthode à un exemple simple.