_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
.midpour 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
Interface
- Bilingue FR / EN : sélecteur dans l'en-tête, langue détectée au démarrage et conservée dans les sessions
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
- Ouvrir
index.htmldans Chrome, Edge ou Firefox (Safari ne supporte pas Web MIDI). - Cliquer une note du clavier → l'accord sonne et s'affiche sur le LCD.
ADD(ou barre espace) pour l'empiler dans la progression,PLAYpour l'écouter.- 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://ouhttp://localhost. Un fichier ouvert enfile://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 + M7afficheWTF?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
.jsonde session.
Licence & crédit
Projet personnel underscorelab / leradiologue. Code original, sans dépendance ni asset tiers.