diff --git a/.DS_Store b/.DS_Store index c75283c..7c16e44 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md index da9a4d4..d7e45b2 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ Modifiables dans le panneau **MIDI out (live)**. L'export `.mid` reprend les mê ``` chordlab/ ├── index.html # l'application complète +├── tuto.html # manuel visuel (accessible à /tuto.html) ├── README.md └── docs/ ├── TUTORIEL_UTILISATION.md # guide utilisateur complet diff --git a/files 2/README.md b/files 2/README.md new file mode 100644 index 0000000..da9a4d4 --- /dev/null +++ b/files 2/README.md @@ -0,0 +1,96 @@ +# _chordlab ORC·v2 + +Générateur d'accords et de progressions harmoniques dans le navigateur, inspiré de la logique du **Telepathic Instruments Orchid ORC-1** (implémentation indépendante, étendue). 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) +- 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 +├── README.md +└── 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 reproduit le principe du dial de l'Orchid : chaque cran fait une **rotation** de l'accord (la note la plus grave remonte d'une octave, ou l'inverse), 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 — clin d'œil assumé à l'Orchid. +- 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. La logique d'accords s'inspire du concept de l'Orchid ORC-1 de Telepathic Instruments, sans réutiliser ni code, ni sons, ni assets de l'instrument original. diff --git a/tuto.html b/tuto.html new file mode 100644 index 0000000..487aec5 --- /dev/null +++ b/tuto.html @@ -0,0 +1,729 @@ + + +
+ + +Machine à accords et à progressions, inspirée de la logique de l'Orchid ORC-1. Le principe tient en une phrase : vous ne jouez pas les notes d'un accord, vous le décrivez — une fondamentale, un type, des tensions — et la machine fait le reste, jusqu'à vos synthés ou votre DAW.
+L'écran est organisé comme le panneau d'une machine hardware. Six zones, toujours au même endroit :
+ +Trois gestes : choisir un type, presser une fondamentale, lire le LCD. L'accord sonne immédiatement.
+ +| Bouton | Accord | Intervalles | Caractère |
|---|---|---|---|
| DIM | diminué | 1 · ♭3 · ♭5 | tension, passage |
| MIN | mineur | 1 · ♭3 · 5 | sombre, mélancolique |
| MAJ | majeur | 1 · 3 · 5 | stable, lumineux |
| AUG | augmenté | 1 · 3 · ♯5 | suspendu, étrange |
| SUS2 | suspendu 2 | 1 · 2 · 5 | ouvert, aérien |
| SUS4 | suspendu 4 | 1 · 4 · 5 | attente, résolution |
| 5 | power chord | 1 · 5 | neutre, massif |
| m♭6 | mineur sixte bémol | 1 · ♭3 · ♭6 | dramatique, ciné |
Les deux rangées inférieures s'empilent librement sur le type : plusieurs LEDs allumées en même temps. Les tensions ajoutent des notes ; les altérations modifient ou retirent des notes existantes.
+ +| Combinaison | Résultat | Pourquoi |
|---|---|---|
| DIM + 6 | Cdim7 | la sixte sur un diminué est la 7e diminuée |
| DIM + m7 | Cø7 | le demi-diminué, pilier du ii–V mineur |
| MAJ + m7 + ♯9 | C7(♯9) | l'accord « Hendrix » |
| type + no3 | accord ouvert | ni majeur ni mineur — parfait en ambient |
| m7 + M7 | WTF? | le LCD vous prévient. Vous êtes libre. |
Le même accord peut être serré, ouvert, grave, aérien. Trois outils indépendants se cumulent — dans cet ordre : rotation → drop → basse slash.
+ +Chaque cran fait tourner l'accord : à +1, la note la plus grave remonte d'une octave. À −1, la plus aiguë descend. Voici Cmaj7 :
+ +Manipulation : glisser verticalement sur le knob, boutons − 0 +, flèches ←→, double-clic pour revenir à 0. Le même accord à +3 et à −2 raconte deux histoires différentes.
Appliqués après la rotation, ils écartent les voix comme le ferait un arrangeur :
+| Mode | Effet | Usage |
|---|---|---|
| close | position serrée (rien) | défaut |
| drop 2 | 2e voix depuis le haut → −1 oct | le standard jazz |
| drop 3 | 3e voix depuis le haut → −1 oct | grands écarts, guitare |
| drop 2+4 | deux voix descendues | très ouvert, cinématique |
| spread | une voix sur deux → +1 oct | nappes larges, ambient |
Le bouton BASS active une note tenue (−1 ou −2 octaves) sur son propre canal MIDI. Le sélecteur basse / choisit quelle note de l'accord elle joue : fondamentale, tierce, quinte ou septième — le LCD affiche alors C/E. La détection s'adapte au type : tierce mineure sur un accord mineur, quinte diminuée sur un ♭5.
Activez KEY, choisissez une tonique et l'une des huit gammes. Chaque touche génère alors l'accord diatonique de son degré — impossible de sortir du ton.
+ +Les tensions 6 m7 M7 9 11 13 restent actives et sont harmonisées dans la gamme : la 7e de G en Do majeur donne un vrai G7 (avec F naturel). L'astérisque dans le nom (G7*) signale cette harmonisation diatonique.
Jouez un accord, puis ADD (ou espace) : il devient un slot dans la séquence. Anatomie d'un slot :
+ ++B si la basse est active.| Méthode | Geste | Quand |
|---|---|---|
| Manuelle | jouer + ADD | vous savez où vous allez |
| Presets | choisir une cadence + charger | base instantanée dans votre tonalité (I–V–vi–IV, ii–V–I, cycle des quintes…) |
| ✦ suggérer | un clic = un accord proposé | laisser la machine dériver par harmonie fonctionnelle, reprendre la main quand c'est intéressant |
Deux enchaînements de la même progression :
+VL AUTO (dans le transport) applique ce calcul à chaque ADD ; ⇄ voice-leading optimise d'un coup toute la progression existante. À essayer juste après un chargement de preset : la différence s'entend immédiatement.
+PLAY lance la progression au BPM affiché, LOOP la boucle. Le sélecteur perf transforme la restitution de chaque accord — partout : audition, MIDI live, et export .mid.
| Mode | Rendu |
|---|---|
| block | accord plaqué |
| strum ↑ / ↓ | notes égrenées vers le haut / le bas, façon guitare |
| harp | balayage rapide (glissando) |
| arp ↑ / ↓ / ↕ / rnd | arpège à la vitesse du sélecteur rate (1/8 · 1/16 · 1/32) |
HUM humanise vélocités (±10) et timing (±15 ms) — les strums et les arps respirent.
+Chaque accord cliqué, chaque slot auditionné et la lecture complète partent en MIDI, sur deux canaux séparés — accords et basse pilotent deux machines différentes en même temps.
+ +Mise en route : ① brancher l'interface avant d'ouvrir la page (ou recharger), ② autoriser l'accès MIDI demandé par le navigateur, ③ sélectionner le périphérique dans le panneau MIDI out (live). Le LCD affiche MIDI ON.
file://, l'audio et l'export fonctionnent, mais pas la sortie MIDI live — c'est la raison d'être de l'hébergement sur chordlab.ghostinthemachine.fr. Safari ne supporte pas Web MIDI : utilisez Chrome, Edge ou Firefox. Note bloquée sur une machine ? STOP envoie un All Notes Off sur les 16 canaux.| Option d'export | Choix |
|---|---|
| pistes | accords + basse (2 pistes, chacune sur son canal) · ou accords seuls |
| perf rendue | oui : les strums/arps sont écrits note par note dans le fichier · non : accords plaqués (préférable si vous arpégez ensuite dans le DAW ou le Tracker) |
↓ sauver la session génère un .json avec tous les réglages et la progression complète ; ↑ charger restaure tout. Rien n'est stocké dans le navigateur : le fichier est l'unique persistance — versionnez vos sessions dans Gitea comme n'importe quel fichier de projet.
| Dawless (session hardware) | DAW / Tracker (composition) |
|---|---|
| KEY ON → preset ou ✦ suggérer → ⇄ voice-leading → MIDI live (Pro-800 + TD-3) → LOOP pendant que vous sculptez les sons et enregistrez sur le L-12 → session .json | +KEY OFF, recherche libre de couleurs (types + tensions + drops) → VL AUTO → export .mid perf : non → import DAW ou Tracker Mini → arpégiation et sound design dans la machine de destination | +