Files
chordlab/README.md
T
2026-07-21 06:45:17 +02:00

100 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# _chordlab·v2
Générateur d'accords et de progressions harmoniques dans le navigateur. Un seul fichier HTML, zéro dépendance, zéro backend.
> Construis un accord avec un doigt, façonne son voicing, chaîne une progression, envoie-la en MIDI live vers ton studio dawless ou exporte-la en `.mid` pour ton DAW.
---
## Fonctionnalités
**Construction d'accords**
- Clavier une octave pour la fondamentale (souris, tactile ou clavier PC, dispositions **QWERTY et AZERTY**)
- 8 types d'accords : Dim · Min · Maj · Aug · Sus2 · Sus4 · 5 (power chord) · m♭6
- 12 modificateurs empilables : 6 · m7 · M7 · 9 · ♭9 · ♯9 · 11 · ♯11 · 13 · ♭5 · ♯5 · no3
- Nommage automatique (Cm7, Cdim7, Cø7, C7(♭9)…) affiché sur le LCD
**Voicing**
- Knob de voicing rotatif ±8 crans (inversions en cascade, une note à la fois)
- Drop voicings : close · drop 2 · drop 3 · drop 2+4 · spread
- Accords slash : basse sur la fondamentale, la tierce, la quinte ou la septième
- Moteur basse séparé (1 ou 2 octaves)
**Tonalité et intelligence harmonique**
- Key Mode : accords diatoniques à un doigt dans 8 gammes (majeur, mineur naturel/harmonique, dorien, phrygien, lydien, mixolydien, locrien)
- Voice-leading automatique (VL AUTO) et optimisation globale de la progression
- Suggestion d'accord suivant par table d'harmonie fonctionnelle
- 8 presets de cadences générés dans la tonalité choisie
**Progression et lecture**
- Rack de slots : durée individuelle réglable de **1 à 16 temps** (boutons /+), réordonnancement, audition au clic
- Modes de performance : block · strum ↑↓ · harp · arp ↑/↓/↕/random (1/8 à 1/32)
- Humanisation vélocité/timing
**Entrées / sorties**
- **Web MIDI out live** : accords et basse sur deux canaux séparés, vers n'importe quelle interface USB-MIDI
- **Export `.mid`** : format 1, PPQ 480, tempo inclus, performance rendue en option
- **Session `.json`** : sauvegarde/chargement complet (réglages + progression)
---
## Démarrage rapide
1. Ouvrir `index.html` dans **Chrome, Edge ou Firefox** (Safari ne supporte pas Web MIDI).
2. Cliquer une note du clavier → l'accord sonne et s'affiche sur le LCD.
3. `ADD` (ou barre espace) pour l'empiler dans la progression, `PLAY` pour l'écouter.
4. Pour le MIDI live : brancher une interface USB-MIDI, autoriser l'accès MIDI, sélectionner le périphérique dans le panneau **MIDI out**.
> ⚠️ Web MIDI exige un **contexte sécurisé** : `https://` ou `http://localhost`. Un fichier ouvert en `file://` fonctionne pour l'audio et l'export, mais pas pour la sortie MIDI live selon les navigateurs. D'où l'intérêt de l'héberger (voir tutoriel de déploiement).
---
## Canaux MIDI par défaut
| Rôle | Canal | Machine cible (setup de référence) |
|---|---|---|
| Accords | 3 | Behringer Pro-800 (nappes) |
| Basse | 5 | TD-3 + K-2 en unisson |
Modifiables dans le panneau **MIDI out (live)**. L'export `.mid` reprend les mêmes canaux.
---
## Structure du dépôt
```
chordlab/
├── index.html # l'application complète
├── tuto.html # manuel visuel FR (accessible à /tuto.html)
├── tuto_en.html # manuel visuel EN (accessible à /tuto_en.html)
├── README.md
├── CHANGELOG.md # journal des versions
└── docs/
├── TUTORIEL_UTILISATION.md # guide utilisateur complet
└── TUTORIEL_DEPLOIEMENT_COOLIFY.md # mise en ligne + mises à jour
```
---
## Compatibilité
| Navigateur | Audio | MIDI live | Export .mid |
|---|---|---|---|
| Chrome / Edge | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ |
| Safari | ✅ | ❌ (pas de Web MIDI) | ✅ |
---
## Notes de conception
- Le moteur de voicing procède par **rotation** : chaque cran remonte la note la plus grave d'une octave (ou descend la plus aiguë), sur ±8 crans.
- Les combinaisons classiques tombent naturellement : `DIM + 6 = dim7`, `DIM + m7 = ø7` (demi-diminué), `MAJ + m7 + ♯9 = accord Hendrix`.
- Empiler `m7 + M7` affiche `WTF?` sur le LCD : la combinaison est musicalement contradictoire, mais rien ne l'interdit.
- Le voice-leading minimise la somme des déplacements de voix entre deux accords en testant les rotations de voicing candidates.
- Aucune donnée n'est stockée dans le navigateur : la persistance passe exclusivement par les fichiers `.json` de session.
## Licence & crédit
Projet personnel underscorelab / leradiologue. Code original, sans dépendance ni asset tiers.