
MAGMA (Contrôleur de synthétiseur MIDI).
read this article in english
Sommaire
- 1. Introduction
- 2. Recyclage d'un vieux clavier
- 3. Design du panneau de contrôle
- 3.1. Le RetroSynth dans MainStage
- 3.2. Panneau de contrôle
- 3.3. Panneau d'octave et molettes
- 3.4. Panneau arrière
- 3.5. Impression
- 4. Modélisation sur SketchUp
- 5. Construction
- 5.1. Panneaux et boîtier en Plexiglasa>
- 5.2. Cadre en épicéa
- 5.3. Structure en contreplaqué
- 5.4. Installation du clavier
- 5.5. Molettes de Pitch et Modulation
- 5.6. Panneau arrière
- 5.7. Câblage
- 5.8. Ajout du rétroéclairage (LEDs)
- 6. Ãlectronique: le fonctionnement
- 7. Programmation !
- 8. Fini ! ? Le résultat
- 8.1. Image variées du MAGMA dans son habitat naturel
- 8.2. Durée du projet et ressources humaines
- 8.3. Combien ça a coûté ?
- 8.4. Est-ce que ça en valait la peine ?
- 8.5. Démo en vidéo
- 9. Ãléments restants
- Appendice A : Une FlightCase maison bien sûr !
- Appendice B : Quelques dessins originaux
1. Introduction
Pour ma dernière année d'étude en piano jazz au conservatoire de Saint-Ãtienne, j'ai monté un groupe avec des amis, mais je voulais un synthétiseur afin d'élargir le spectre audio de mes sons, sachant que je joue en général sur un piano acoustique. Mais les synthétiseurs ne sont pas donnés ? notamment MiniMoog... Ãtant étudiant, je n'avais pas de quoi m'acheter un vrai synthé, c'est là que j'ai eu l'idée d'un contrôleur MIDI pour relier à MainStage sur Mac, qui a des répliques complètement dingue de plusieurs synthétiseurs vintages. Je précise que je suis juste un informaticien qui aime bien bricoler avec le bois et de l'électronique très très basique ? je ne suis pas un génie de l'électronique, j'aime juste m'amuser avec une Arduino pour faire des petits projets sympas. PS: Le nom que j'ai donné à ce contrôleur vient d'un groupe que j'adore : Magma.2. Recyclage d'un vieux clavier
Voici le vieux clavier que j'ai démonté pour ce projet, recyclé à partir d'un Casio peu-importe-son-nom avec des sons vraiment pas très beaux. Il a dû être utilisé par des enfants pour apprendre le piano il y 20 ans ? bref, le touché était quand même assez proche de celui d'un synthétiseurs, et mieux encore : il a un port MIDI-out que j'ai simplement gardé.
Le clavier original que j'ai recyclé.3. Design du panneau de contrôle
3.1. Le RetroSynth dans MainStage
Premièrement, laissez moi vous présenter le fameux 'Retro Synth' VST (ou sûrement un AU) sur MainStage, que j'ai utilisé bien avant d'avoir l'idée de ce projet, connectant à l'origine mon bon vieux Yamaha DX7.
L'affichage du 'Retro Synth' sur MainStage3.2. Panneau de contrôle
J'ai conçu le panneau de contrôle sur l'application 'Graphics'. Le plus difficile et long à été de décider quels contrôles j'allais utiliser, et à quelle endroit sur le panneau. En fin de compte j'ai utilisé je crois tous les contrôles possibles de ce VST, avec d'autres en plus (master, arpeggiator, effets, etc.). Voici la liste des sections du panneau, de gauche à droite :- SYSTEM: patch, tempo
- MODULATION: la section pseudo-modulaire du synthé : permet de brancher une molette et la vélocité sur d'autres contrôles
- MIDI EFFECTS: un arpeggiator bien pratique, un randomiser de pitch / vélocité, et un transpositeur
- VOICES: nombre de voix, accordage, pitch-bend
- GLIDE: l'effet glissando pour le mode legato
- V.C.O.: deux oscillateurs avec différentes formes d'onde et accordage
- FILTER: ce qui fait la beauté du son du Minimoog
- L.F.O: un oscillateurs basse fréquence contrôlant le filtre
- VIBRATO: un deuxième L.F.O. contrôlant le pitch
- ENVELOPES: une pour le filtre, et une autre pour l'amplitude
- MIX: on peut ajouter l'onde sinusoïdale de base, ainsi que mixer les deux autres
- AUDIO EFFECTS: Flanger, Chorus, Delay (L'overdrive ne m'intéressait pas trop à l'époque, mais je regrette un peu de ne pas l'avoir ajouter sur le panneau)
- OUTPUT: le volume principal et mute (sorties 3-4 sur ma carte son) et le volume du casque (sorties 1-2)
- PANIC! bouton permettant de terminer tout signal MIDI résiduel, en cas de pépin.
Le panneau de contrôle principal3.3. Panneau d'octave et molettes
Comme la plupart des synthétiseurs, le besoin de molettes de pitch et de modulation est plutôt évident si vous voulez ajouter de l'expressivité à votre jeu. C'est ce pourquoi j'ai créé un petit panneau qui ira à gauche du clavier. J'ai aussi ajouter un modificateur d'octave sous la forme de deux boutons et de cinq LEDs indicatives.
Le panneau d'octave / molettes3.4. Panneau arrière
Le MAGMA a les entrées / sorties suivantes, qui se trouvent sur l'arrière du boîtier:- Pédale Sustain
- Une entrée PedalBoard (j'en parlerai dans un autre article)
- Keyboard MIDI out : pour le clavier
- Controls MIDI out : pour les contrôles
- D.C. 12V : alimentation en 12V continus
Le panneau arrière3.5. Impression
Une fois sûr à 100% que j'avais une version finale des panneaux, je suis allé chez un imprimeur local et ai commandé l'impression en taille réelle de ceux-ci. Voici le résultat, avec les capuchons de potentiomètres commandés :
Le panneau imprimé
Le panneau imprimé avec des capuchons de pots.4. Modélisation sur SketchUp
Si vous lisez ceci et que vous travaillez chez l'imprimeur local mentionné plus tôt, alors c'est peut-être de votre faute si le synthé est finalement légèrement plus petit que prévu. En effet, je n'avais pas apporté de mètre pour vérifier que les dimensions de l'impression étaient 100% exactes ; mais j'aurais dû. Le panneau de contrôle était sensé faire exactement 970 mm de large, et l'impression en fait 930. Ce qui signifie que j'ai dû réduire la taille du panneau d'octave et molettes de 5cm. Je suppose que ce n'est pas si mal en fin de compte étant donné que c'est plutôt confortable pour la main gauche de na pas avoir trop d'espace entre les deux molettes. Mais je suis quand même fâché. Grrr. J'ai complètement modélisé le MAGMA M.S.C. sur SketchUp, Ce qui m'a permit de prévoir chaque détail de la construction du boîtier.
Modèle SketchUp - avec textures
Modèle SketchUp - vue semi-transparente5. Construction
Voici un historique assez détaillé de comment j'ai construit le MAGMA.5.1. Panneaux et boîtier en Plexiglass
Si vous regardez attentivement l'arrière du panneau de contrôle, vous verrez que l'arrière du boîtier est en Plexiglas Et pourquoi ça ? Parfois (souvent), les gens me disent que l'on voit tous les câbles et que c'est moche, mais l'idée était justement de le faire transparent pour de voir l'arrière des potentiomètres, la carte Arduino et les multiplexeurs (que l'on ferra plus bas), et le gros tas de câbles multicolores qui ont été utilisés sur plus de 800 soudures à la main. Je sais que c'est le bazar, ça n'a pas été usiné en Chine, mais dans le garage de mon oncle, et je voulais que les gens se rendent compte de la quantité de travail effectué pour ce contrôleur. De plus, avec les LEDs animées, c'est juste merveilleux. ;-)Bref, j'ai fait ce boîtier avec du Plexiglase 2mm que j'ai placé par dessus l'impression du panneau pour avoir les dimensions exactes, puis coupé en deux rectangles identiques, qui prendront l'impression papier du panneau en sandwich. J'ai dû raboter les bords car la scie circulaire sur table donne un résultat très brut et pas très beau sur ce matériau.
Tracé des dimensions exactes
Mon ongle coupant le Plexiglasspan>
Toujours se protéger les yeux et oreilles !
Rabotage des bords du panneau
Deux panneaux de Plexiglaserrés ensemble par un potentiomètre (et mes gros doigts de pianiste).
Positionnement du centre des trous
Marquage des trous pour un perçage plus précis
Perçage vertical à l'aide de cet adaptateur très pratique
Positionnement des PCBs (voir plus bas). On peut déjà voir les trous dans le Plexiglasspan>
Perçage des trous dans l'aluminium et le Plexiglasspan>
Vue des cornières dans l'angle du boîtier
Le boîtier du bas prêt à être riveté
Positionnement d'un rivet
Rivetage dans un angle
Le panneau de contrôle avec les potentiomètres installés
Une section de tube d'aluminium empêchant le rail de PCBs de toucher les potentiomètres
Le rail de PCBs en dessous du panneau avant, attaché à l'aide de vis passant dans les tubes.5.2. Cadre en épicéa
Le carde est fabriqué en bois d'épicéa que mon oncle m'a donné, sur lequel j'ai appliqué plusieurs couches de vernis "bois exotique" et une finition brillante pour plus de sexytude.
Première mise en place du cadre.
Le panneau latéral gauche
La structure interne vue de gauche On peut voir la planche transversale au milieu
J'ai utilisé trois grains différents de papier de verre, et puisque j'avais trois ponceuses sous la main...
Comment tailler un crayon avec une perceuse...
Avant / après ponçage
Un panneau latéral après une première couche de vernis et un ponçage fin
Les trois planches en épicéa après la dernière couche de vernis.5.3. Structure en contreplaqué
La partie frontale positionnée, prête à être collée et visée en place.
Un petit outil maison pour percer exactement à 5 mm du bord du contreplaqué
Cet outil en action
Un anneau spécial pour fraiser les trous5.4. Installation du clavier
Le clavier Casio? original a un cadre métallique très solide qui était attaché à son boîtier en plastique. J'ai juste eu à faire des blocs pour caler le clavier parfaitement dans sa structure en bois.
Comment est vissée la partie droite du clavier5.5. Molettes de Pitch et Modulation
Tout d'abord, j'ai découpé le Plexiglasour le panneau correspondant. Vous aurez besoin d'un multi-outil ou d'une petite scie pour cette étape.
Le panneau d'octave / molettes découpé dans le Plexiglassauf à gauche)
Découpe des carrés à la scie circulaire...
... et rendu de plus en plus rond en se rapprochant de la lame
Panneau d'octave / molettes5.6. Panneau arrière
5.7. Câblage
Câble interne:- commutateurs et boutons : connecter un pin à 5V, multiplexer les sorties de l'autre pin (vous aurez sans doute besoin de résistances pull-up)
- potentiomètres : connecter 5V et GND (la masse) aux pins opposés, multiplexer les sorties du pin du milieu
- LEDs associées aux boutons : connecter directement à la sortie des commutateurs via une résistance de 200? et GND
- LEDs pour les octaves et types de filtres : démultiplexer sur deux puches CD4051 (voir section suivante)
- Molettes de pitch et modulation : ce sont des potentiomètres et sont traités comme tels
- CD4051: Les multiplexeurs, démultiplexeurs connectés à la carte Arduino
- rétroéclairage LEDs [optionnel]: sur un circuit indépendant
- Pédale Sustain: dans mon cas j'ai simplement soudé la prise en extension de celle de l'ancien clavier
- sortie MIDI des contrôles : connectée à un pin TX (transmit) sur la carte Arduino
- sortie MIDI du clavier : connectée directement à la sortie midi de l'ancien clavier
Mon espace de travail durant le long processus de découpe, dénudage, et soudage de beaucoup et beaucoup de câbles.(((60 pots + 2 molettes) * 3 pins) + (27 boutons * 2 pins) + (26 LEDs * 2 pins)) * (2 extrémités de câble) = 584 soudures [1]
.
On peut bien-sûr ajouter les multiplexeurs (mux) :
((8 mux for pots LEV1) + (4 mux for boutons) + (1 mux for pots LEV2) + (2 mux for LEDs)) * (16 pins) = 240 soudures. [2]
Ainsi que les entrées / sorties de l'Arduino :
(3 * 4 pins des mux) + (6 * 1 entrés) + (1 * VCC) + (1 * GND) = 20 soudures sur l'Arduino [3]
Ce qui nous donne un total de :
[1] + [2] + [3] = 584 + 240 + 20 = 844+ soudures.
Maintenant, si on prend en compte le temps de découper (~1s), dénuder (~2s), placer (~1s) et soudage (~1s) les câbles, on obtient :
844 soudures * 5 seconds = 4220 seconds = 1h 10m 20s
Ãvidemment, ça a prit bien plus de temps qu'une petite heure (j'ai passé de 21h à 6h du matin à tout souder), car il faut absolument tout vérifier, et ça prend beaucoup de temps
Voici une vidéo où je montre comment vérifier le multiplexage et les commutateurs à l'aide de l'Arduino :
5.8. Ajout du rétroéclairage (LEDs)
J'ai ajouter le rétroéclairage plusieurs mois après avoir terminé le projet (du moins ce que je pensais), mais n'ai pas pris de photo pendant l'installation. C'est plutôt simple cependant : j'ai simplement collé des rubans de LEDs à l'intérieur des baguettes en aluminium, dans le boîtier du panneau de contrôle, qui sont commandées par une petite télécommande et une petite puce juste à côté de la carte Arduino. Désormais on peut mieux voir les câbles (comme je le souhaitais), et ça fourni un excellent rétroéclairage au panneau de contrôle, ce qui est plus pratique lorsque que l'on joue sur des scènes peu éclairées.6. Ãlectronique: le fonctionnement
6.1. Arduino
La carte Arduino est un micro-contrôleur open-source basé sur la puce ATMEGA128 ou ATMEGA328. Une plus petite version de l'Arduino UNO (version standard), l'Arduino Nano (Rev. 3) est ce que j'ai utilisé pour ce projet. C'est très simple à utiliser, et même si vous n'avez pas aucune expérience en programmation, vous pouvez faire des petits projets sympas en peu de temps. Si vous voulez en savoir plus sur cette carte, il y a une immense communauté de bricoleurs qui partagent leurs idées variées et problèmes, tels que le site Arduino Officiel Tutorials ou bien (mon favori) le site de DIY Instructables, vraiment excellent.6.2. Multiplexage / Démultiplexage
Si vous connaissez un petit peu l'Arduino, vous saurez que cette carte a un nombre limité d'entrées et de sorties (analogiques ou numériques). C'est là où le multiplexage et démultiplexage deviennent nécessaires. Voici comment ça marche : avec 3 chiffres binaires, vous pouvez conter de 0 à 7 (000, 001, 010, 011, 100, 101, 110, 111). Maintenant disons que vous avez une puce avec 8 entrées analogiques ou numériques, et une sortie ; alors en utilisant 3 contrôles A, B, C (HIGH ou LOW pour 1 ou 0), vous pouvez sélectionner l'entrée qui sera redirigée vers la sortie de la puce. Et c'est exactement comme ça que la puce CD4051 fonctionne. Si maintenant vous voulez éclairer 1 LED à la fois parmi 8, vous pouvez inverser le processus en mettant le pin "de sortie" à un voltage d'entrée de 5V, et simplement sélectionner laquelle des huit sorties disponibles vous voulez passer ces 5V, à l'aide des trois contrôles A, B et C.
Connectique de la puce CD4051Il est plutôt simple d'implémenter le multiplexage sur l'Arduino (je l'ai fait en une seule ligne de code), mais ça demande à se prendre un peu plus la tête pour la phase de soudure.
7. Programmation !
Bon, les amis ! Vous savez peut-être que je suis informaticien, alors j'ai bien apprécié cette partie. En fait, j'avais écrit tout le code avant même de recevoir les composant électroniques. Je vais vous explique l'algorithme de base, et entrer dans certains détails, en essayant d'être le plus clair possible.7.1. Code MIDI
Commençons par la racine de tout le projet : le protocole MIDI. Cette façon simple de communiquer entre les instruments sans perdre d'information existe depuis le début des années 80, et est devenue le grand standard pour tout les contrôleurs musicaux (et même des machines et contrôleurs de shows), en utilisant soit le connecteur DIN 5 pins original, soit depuis quelques années, l'USB. Un code MIDI est simplement une séquence de trois octets consécutifs (8 bits) :- un octet de statut : décrit le type de message
- un premier octet de données (note, Control-Change, ...)
- un second octet de données (vélocité, valeurs diverses)
(144 + chn, numéro de la note, vélocité) pour une note ON, et (128 + chn, numéro de la note, vélocity) pour une note OFF, avec chn étant le canal de transmission (0 - 15) que vous voulez utiliser pour transmettre les donnés. Dans notre cas, nous voulons contrôler des éléments sur l'ordinateur. Nous utilisons dont des "Control Changes" : (176 + chn, ID du contrôle, valeur pour le contrôle). C'est aussi simple que ça. Il y a juste une particularité pour la molette de pitch : (224, 0, valeur du pitch)
7.2. L'algorithme de base
7.3. Le vrai code Arduino
8. Fini ! ? Le résultat
8.1. Image variées du MAGMA dans son habitat naturel
à la maison, où il vit une grande partie de l'année...
Il est un peu plus, j'espère qu'il va bien...
Dans la nature, il a besoin de beaucoup de ressources externes pour survivre
Méditation avec son gourou8.2. Durée du projet et ressources humaines
Un petit historique du projet :- 5 Décembre 2015 : premier dessin du panneau de contrôle
- 11-19 Février 2016 : commandes des composants électroniques sur AliExpress
- 25 Mars 2016 : le design de tous les panneaux sont terminés
- 23 Avril 2016 : impression des panneaux chez l'imprimeur
- 23 Avril 2016 : début de la fabrication : découpe du Plexiglas
- 11 Mai 2016 : début des soudures (800+ soudures)
- 28 Mai 2016 : fin de la fabrication, mais il reste quelques bugs. Le MAGMA déménage chez moi.
- 5 Juin 2016 : fin du débogage. Prêt à monter en scène.
- 6 Juin 2016 : examen final de piano jazz (le délai était serré !), réussi avec une excellente note.
- 20 Novembre 2017 : rédaction de cet article en anglais
- 21 Novembre 2017 : et traduction en français
8.3. Combien ça a coûté ?
Voici un tableau détaillant le prix des matériaux :| Bois et outils | ||||
|---|---|---|---|---|
| Articles | Dimensions | Prix / pce | # Pièces | Total Prix |
| contreplaqué | 1200 x 600 x 5 | 10.5 | 1 | 10.50 |
| plexiglas | 1000 x 500 x 2.5 | 10.6 | 2 | 21.20 |
| plexiglas | 1000 x 500 x 5 | 19.9 | 1 | 19.90 |
| charnière piano | 2000 x 32 | 3.5 | 1 | 3.50 |
| colle à bois | 100g | 5.4 | 1 | 5.40 |
| chevilles | 50p | 1.99 | 1 | 1.99 |
| vis à bois | 3 | 1 | 3.00 | |
| Total | 65.49 | |||
| Ãlectronique | |||
|---|---|---|---|
| Article | Prix / pce | # Pièces | Total Prix |
| pots | 0.167 | 64 | 10.706 |
| PCBs | 0.106 | 4 | 0.424 |
| LEDs | 0.0108 | 20 | 0.216 |
| CD4051 | 0.1335 | 13 | 1.7355 |
| USB femelle | 1.19 | 1 | 1.19 |
| connecteurs 12v | 0.197 | 1 | 0.197 |
| prises jack | 0.42 | 2 | 0.84 |
| alimentations | 0.87 | 1 | 0.87 |
| résistances | 0.0176 | 10 | 0.076 |
| Arduino Nano | 1.585 | 1 | 1.585 |
| capuchons de pots (A02) | 0.305 | 60 | 18.34 |
| capuchons de pots (A03) | 2 | 1 | 2 |
| capuchons de pots (A04) | 0.317 | 1 | 0.317 |
| commutateurs | 0.187 | 13 | 2.431 |
| nappes de câble | 6.14 | 1 | 6.14 |
| boutons | 0.0855 | 15 | 1.2825 |
| petits pieds | 0.095 | 4 | 0.38 |
| Totaux | 197 | 47.44 | |
- Une planche d'Ãpicéa
- Les vernis
- Le papier de verre
- Le clavier
- Quelques transformateurs 12V
8.4. Est-ce que ça en valait la peine ?
Ah oui, complètement. Comme prévu, je l'ai utilisé pour mon examen final de piano jazz au conservatoire, et ai obtenu mon diplôme avec une excellente note. Ce n'est pas que dû au MAGMA, mais j'ai enfin pu faire un très beau solo de synthé, que le public à je pense apprécié. Le jury oui ;-)De plus, Je l'utilise pour tous les concerts de jazz et de funk depuis que je l'ai construit. Je peux jouer des sons de synthé infiniment variés (mais souvent des bonnes basses), et aussi d'autres sons bien échantillonnés tels que le Rhodes, des orges et clavinets, jusqu'à ce que j'achète mon KORG SV-1 deux ans après pour jouer les sons de piano, Rhodes, Wurlizters, etc.
J'adore absolument cette machine, et j'espère que vous aimez le design et l'idée de "la bête".
8.5. Démo en vidéo
Voici une reprise de l'extraordinaire générique de la série Stranger Things, réalisée exclusivement sur le MAGMA M.S.C. Il n'y a aucun autre son ou sample. Chaque note (les arpéggiateurs), 'battements du c?ur', et effets on été réalisés avec le MAGMA sur MainStage. Ãa donne une bonne idée de ce que l'on peut faire en temps réel. J'espère que vous apprécierez.9. Ãléments restants
- Comme je l'ai mentionné quelque part, j'ai construit un pédalier MIDI sur le même principe, mais beaucoup plus simple. En fait c'est devenu le prototype du MAGMA sans le savoir. L'astuce est que les cartes Arduino peuvent communiquer entre elle via des messages sériels. Ce qui signifie que je peut brancher ce pédalier sur le MAGMA afin de contrôler virtuellement des potentiomètres et boutons. Je n'ai jamais vraiment eu l'utilité de faire ça, mais un port USB est prêt à recevoir le pédalier, et j'ai déjà effectué certains tests concluants.
- Quand je recevrais ma carte Teensy 3.2 (un version plus avancée, rapide, et puissante de l'Arduino), j'essaierai de faire une sortie MIDI en passant par de l'USB class-compliant. Si ça marche, ça voudras dire que je pourrais brancher le MAGMA avec un simple câble USB sur le MacBook Pro, ce qui serait beaucoup plus facile et rapide à brancher, et possiblement plus sécurisé que mes vieilles cartes sons.
- Le panneau d'octave et molettes s'est craquelé, sans doute pour l'avoir vissé trop fort, il faut que j'en découpe un nouveau pour le remplacer.
- Je pense que c'est tout ! Pour le moment... J'ai d'autres projets à commencer maintenant.
Appendice A : Une FlightCase maison bien sûr !
Appendice B : Quelques dessins originaux
Voici quelques scans inversés de certains de mes dessins techniques :(utilisé pendant la soudure et la maintenance)
Remerciements.
Je voudrais remercier mon oncle pour m'avoir laissé travailler dans son garage à plein temps pendant plusieurs semaines, et qui m'a aussi beaucoup aidé, puisque qu'il a une formation et de l'expérience dans l'électronique.Et merci à vous pour avoir pris le temps de lire le récit de cette aventure.
N'hésitez pas à me contacter via l'onglet "contact" dans la barre en haut, pour toute question ou pensée, je suis toujours heureux de parler de musique, bricolage, électronique etc.
Bonne journée !
J.M.


