Synthétiseur Quinoa : le clavier MIDI

image principale Synthétiseur Quinoa : le clavier MIDI

Difficulté:

Voici le premier tutoriel consacré au synthétiseur Open-Source Quinoa. Pour ce premier tutoriel de la série, il s'agit du clavier au standard MIDI et qui peut donc fonctionner de façon autonome, tout comme la plupart des éléments électroniques de ce projet.

Matériel :

Budget : Non défini

Fichiers :

Etape 1 : Récupération d'un clavier

Pour cette étape, récupérez un clavier inutilisé provenant d'un vieil orgue électronique obsolète ou en panne par exemple. Sur la photo, vous pouvez voir l'intérieur d'un vieux Bontempi HF222 avant qu'il soit vidé de ses composants : le boîtier et le clavier muni de sa matrice ont été conservés. La matrice est une carte (ou plusieurs cartes) généralement située sous le clavier et qui contient tous les contacts (souvent il s'agit de membranes ou de ressorts dans le cas de claviers plus anciens).

Les contacts doivent tous être reliés à une matrice qui est elle-même reliée à l’Arduino Uno. Ce dernier émet ensuite un signal MIDI sur le canal 1 par défaut. La réalisation est simple et ne demande pas d’utiliser des circuits intégrés appelés registres de décalage.

Etape 2 : La gestion de la matrice du clavier

Pour gérer un grand nombre de touches (ou de boutons), le plus simple en électronique est de grouper les pistes du circuit imprimé sous forme de matrice. C'est courant pour les instruments de musique mais c'est également le même procédé pour gérer les claviers informatiques par exemple. Pour chaque touche on utilise une diode de type 1N4148 afin d'éviter la circulation des flux électriques dans toutes les pistes de la matrice. D'un côté du circuit l'on obtient les lignes et de l'autre les colonnes. Tout cela est ensuite géré par une carte Arduino Uno R3.

Etape 3 : Le programme de l'Arduino

Deux keypads* de 6 lignes (variables ROWS et ROWS2, correspondance des 12 notes) et de 4 colonnes (variable COLS et COLS2, correspondance des 4 octaves) chacun ont été définis dans le programme. Pourquoi deux ? Parce qu'il a été constaté lors d'essais une latence importante en définissant toute la matrice sur un seul keypad. Pour chaque croisement ligne/colonne de la matrice on a attribué une note MIDI (numérotation normalisée).

Pour chaque keypad, l'Arduino vérifie l'état des touches de la matrice et va émettre la note MIDI correspondante en MIDI ON (note appuyée) ou en MIDI OFF (note relâchée).

Le canal MIDI a été défini à 1 par défaut. Le nombre maximal de touches gérées par ce programme est de 48, ce qui correspond à 4 octaves. Il est possible d'avoir un octave supplémentaire en ajoutant un troisème "keypad"  (variables ROWS3 et COLS3 à ajouter) afin de ne pas avoir de latence en appuyant sur les touches du clavier.

Les deux librairies ajoutées à l'IDE Arduino sont "keypad.h" et "MIDI.h".

* "keypad" : terme anglais désignant généralement un pavé numérique, comme celui que l'on peut voir sur la droite des claviers de type PC.

Le programme de gestion de clavier MIDI a été transféré via une version relativement ancienne de l'IDE Arduino, la v.1.0.6

Etape 4 : Gestion du signal MIDI généré par l'Arduino

La sortie MIDI se connecte sur la pin 1 (TX) de l'Arduino. Pour la suite du projet Quinoa qui donnera lieu à un nouveau tutoriel, le signal est ensuite comparé à l'entrée d'une interface MIDI (fonction MIDI merge) puis multiplié et envoyé vers les différentes cartes qui produisent le son, les oscillateurs.

Cependant, le clavier MIDI décrit dans ce tutoriel peut très bien être utilisé de façon indépendante ou pour un autre projet. A vous de l'adapter à vos besoins.

Des évolutions sont envisagées comme par exemple une option de transposition des notes ou des octaves.

Sources :

L'article de Jan Ostman qui m'a inspiré le projet Quinoa : https://janostman.wordpress.com/build-the-minimo-synth/ Logiciel TCI pour concevoir et imprimer les circuits imprimés (très simple d’utilisation et entièrement gratuit) : http://b.urbani.free.fr/pagetci/tci.htm Vidéo de démonstration du Quinoa : https://www.youtube.com/watch?v=Dsa0ogiht5Y


Bravo. J'attends la suite avec intérêt.

Ces tutoriels devraient vous plaire

vignette fabrication de circuits imprimés facile
fabrication de circuits imprimés facile
vignette Connecter un  écran LCD en I2C
Connecter un écran LCD en I2C
vignette Arduino Uno - Capteur d'humidité au sol.
Arduino Uno - Capteur d'humidité au sol.

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers