Arpégiateur MIDI Arduino personnalisé – Firmware modulaire & rythmes euclidiens
Composants et fournitures
| Arduino Nano R3 | × | 1 |
| Potentiomètre rotatif (générique) | × | 7 |
| Bouton poussoir SparkFun 12 mm | × | 7 |
| Port MIDI | × | 1 |
| Résistance 220 Ω | × | 4 |
| LED (générique) | × | 2 |
À propos du projet
Mise à jour 11.03.2019
J'ai créé un nouveau firmware, le code source est entièrement réécrit. La structure modulaire permet d'exécuter les arpèges sur différentes plateformes, pas seulement Arduino. De nouvelles fonctionnalités comme les rythmes euclidiens sont ajoutées. Description détaillée à venir !
Dépôt : github.com/raszhivin/arpeggio2
La partie hardware reste similaire, les nouveaux sources sont compatibles avec le schéma Fritzing ci-dessous.
Mise à jour 25.06.2019
Nouveau matériel construit, voir la nouvelle vidéo.
Introduction
La musique électronique est mon hobby, je m'amuse beaucoup avec mon Korg Volca Keys. J'ai découvert l'application web « Chord Progression Arpeggiator » et j'ai été impressionné par la puissance et la simplicité de ses algorithmes musicaux. Quelques minutes dessus suffisent pour comprendre pourquoi j'ai voulu générer des arpèges sur mon Korg. La vidéo « Korg Volca Keys beautiful arps! (and 128-note sequence) » montre des arpèges entrés manuellement, mais c'est trop compliqué et inflexible.
En tant que développeur logiciel, j'ai décidé de créer un dispositif basé sur Arduino qui génère des arpèges sous forme de messages MIDI et les envoie via un port DIN (MIDI). L'arpégiateur peut être utilisé avec n'importe quel autre synthétiseur matériel ou logiciel, bien que je n'en aie pas d'autre.

Théorie musicale de base
(Texte adapté de Reddit, merci à l'utilisateur kmmeerts)
Le spectre sonore est divisé en octaves (intervalle entre une note et sa fréquence double). Chaque octave contient 12 notes : [A, A#, B, C, C#, D, D#, E, F, F#, G, G#]. Les gammes (scales) sont des sélections de notes qui « sonnent bien ensemble ». L'arpégiateur utilise des gammes heptatoniques diatoniques (modes) : 7 notes, motifs de tons et demi-tons (ex. mode majeur : W W H W W W H).
À partir de chaque note de la gamme, on forme des accords (trois notes en sautant une à chaque fois). Un arpège joue ces notes successivement. Une progression d'accords (chord progression) définit un morceau. Le compositeur choisit un mode, une note fondamentale, et une suite d'accords.
Schémas
Le schéma est simple : 7 potentiomètres, 7 boutons, port MIDI, 2 LED, 4 résistances. Facile à monter sur plaque d'essai. Si vous débutez, commencez par les tutoriels officiels Arduino :

Contrôles
Potentiomètres :
- Octave de la tonique (0..7)
- Octave de l'accord (0..7)
- Délai entre notes (BPM)
- Tonique / note fondamentale (C...B)
- Pas d'arpège (1...5)
- Mode musical (ionien, dorien...)
- Style d'arpège (montant, descendant, montant+descendant, aléatoire)
Boutons : chaque bouton déclenche la progression d'accords correspondante.
Démonstration
Première vidéo : description des fonctionnalités et contrôles. Deuxième vidéo : petite jam avec l'arpégiateur.
Synchronisation
On peut synchroniser le tempo avec le Korg Volca : connectez la prise jack de l'arpégiateur à la sortie « SYNC OUT » du synthé. Configurez dans arpeggiator.ino :
// Synchronization: choose one of two possible options:
#define EXT_SYNC
//#define INT_SYNC
Décommentez EXT_SYNC pour synchronisation via SYNC IN, ou INT_SYNC pour contrôle du tempo par potentiomètre.
Tout retour ou idée d'amélioration est bienvenu dans les commentaires. Amusez-vous bien !
Code
Code source
https://github.com/raszhivin/arpeggiator
Schémas
Pour Fritzing : arpeggiator_LICtzK2a2Q.fzz
Processus de fabrication
- Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
- Unopad : contrôleur MIDI Arduino fluide pour Ableton Live
- Construire un Iron Man animé avec Arduino : capteurs, sons et relais
- Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
- Adaptateurs MIDI USB-BLE sans fil – Connectivité transparente pour musiciens
- Construire un bras robotique 3D fonctionnel piloté par Arduino – Guide pas à pas
- Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée
- Portique de contrôle de température sans contact pour dépistage rapide et précis
- Jeu Pong sur Matrice NeoPixel avec Arduino Nano