MUSIQUECONCERTSVIDÉOS
JEUX VIDÉOSD.I.Y.CONTACT
fr | en
MAGMA (Contrôleur de synthétiseur MIDI).


read this article in english

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é.
Tout le travail est désormais de créer un panneau de contrôle et un boîtier pour contenir cette chose.

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 MainStage

3.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 : Voici la version final de ce panneau de contrôle :
Le panneau de contrôle principal

3.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 / molettes

3.4. Panneau arrière

Le MAGMA a les entrées / sorties suivantes, qui se trouvent sur l'arrière du boîtier: J'ai designé un panneau arrière simple avec ces ports, et bien-sûr, un joli nom : "MAGMA - Midi Synth Controller"
Le panneau arrière

3.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.
Je n'ai pas pris de photo du panneau d'octave et molettes, mais vous voyez à quoi ça ressemble.

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-transparente

5. 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
Si vous vous demandez sûrement comment les deux plaques de Plexiglasnglobant le panneau papier tiennent ensemble, regardez simplement l'image ci-dessous : c'est les composants électromécaniques (pots et boutons) qui viennent serrer le sandwich de Plexiglas
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>
Ensuite, j'ai fait les autres faces du boîtier avec du Plexiglase 4 mm, tenus ensembles par des cornières en aluminium et des rivets. Vous vous demandez sans doute : "des rivets sur du Plexiglas Ça ne casse pas ??", et si, ça a cassé. Mais c'était sur le bas du boîtier (ça ne se remarque même pas), donc j'ai réparer mon erreur en collant les parties cassés, et plus important : j'ai compris pourquoi ! L'astuce est simplement de percer les trous le plus perpendiculairement possible à la plaque. Ainsi, quand les rivets s'écrasent, la pression est uniformément distribuée, et plus de casse ! C'est pas passé loin...
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
Comme nous allons le voir plus tard (6.2.), j'ai eu besoin d'un certain nombre de multiplexeurs sur PCBs. Ils sont attachés au panneau avant avec des petites sections de tube d'aluminium et vis, montés sur la plaque arrière du sandwich de Plexiglascette phrase est bien compliquée mais c'est tout bête).
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.
Malheureusement je n'ai pas plus de photos de ça, j'ai prendrais au prochain nettoyage / révision.

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.
La planche transversale qui sépare le panneau de contrôle du piano a un léger biseau qui correspond à la courbe des panneaux latéraux, comme vous pouvez voir sur le modèle SketchUp :
Le panneau latéral gauche
La structure interne vue de gauche
On peut voir la planche transversale au milieu
Beaucoup de ponçage a été nécessaire pour rendre ces trois panneaux plus beaux à regarder.
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 peu de vernis, et c'est prêt !
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 trous

5.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 clavier

5.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)
Ensuite, la partie la plus stressante de la fabrication : les molettes de pitch et modulation. Je les ai fabriqués à partir de trois couches de Plexiglas4 + 2 + 4 = 10 mm), que j'ai découpé de trois carrés à trois cercles à la scie circulaire sur plateau, en rapprochant les pièces de plus en plus près de la lame (voir plus bas), puis en collant ces pièces ensemble au pistolet à colle, et aplani et poncé en montant le tout sur la perceuse à colonne (ce que je ne recommande pas de faire).
Découpe des carrés à la scie circulaire...
... et rendu de plus en plus rond en se rapprochant de la lame
Cette méthode n'est pas recommandée aux enfants et je ne vous conseille pas de l'effectuer sauf si vous êtes très à l'aise avec la scie plateau. Concernant le mécanisme de la molette de pitch, la vidéo ci-dessous l'explique plus simplement qu'une longue phrase compliquée :
Voici une photo du panneau avec les molettes et les boutons :
Panneau d'octave / molettes

5.6. Panneau arrière

5.7. Câblage

Câble interne: Entrées /Sorties :
Mon espace de travail durant le long processus de découpe, dénudage, et soudage de beaucoup et beaucoup de câbles.
Juste pour le plaisir :
(((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 CD4051
Bien-sûr, vous avez dû voir que j'avais 60 potentiomètres et près de 30 boutons, avec un total de sorties après multiplexage 8 + 4 = 12 câbles, ce qui est toujours trop d'entrées que la l'Arduino n'en a, sachant qu'il y a aussi 3 pins de pris pour contrôler en dérivation les puces CD4051. J'ai donc pris les 8 sorties résultant du multiplexage des potentiomètres, et les ai elles-mêmes multiplexer à l'aide de trois nouveaux pins de contrôle (disons D, E et F) connectés à l'Arduino, le résultat étant qu'il n'y a plus qu'un seul fil pour lire l'ensemble des potentiomètres ! Plutôt cool non ?
Il 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) : Comme vous pouvez le voir, le protocole MIDI est assez simple. Pour jouer des notes, on utilise le message (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...
Voici le système digestif du MAGMA
La chirurgie est parfois inévitable...
Il aime la présence d'autres amis synthés
Un petit selfie
La bouche grande ouverte, prêt à parler !
Il peut facilement se mettre debout sur ses deux pâtes arrière
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
Et quelques jours, tous les mois, il aime monter sur scène...
Méditation avec son gourou
Grosse scène ce soir !
Faire bronzette au festival "Jazz à Vienne"

8.2. Durée du projet et ressources humaines

Un petit historique du projet : J'ai estimé avoir passé quelque chose comme 300 ou 400 heures sur le projet complet, du premier dessin à la dernière soudure. Le design des panneaux et les soudures sont ce qui a pris le plus de temps.

8.3. Combien ça a coûté ?

Voici un tableau détaillant le prix des matériaux :
Bois et outils
ArticlesDimensionsPrix / pce# PiècesTotal Prix
contreplaqué1200 x 600 x 510.5110.50
plexiglas1000 x 500 x 2.510.6221.20
plexiglas1000 x 500 x 519.9119.90
charnière piano2000 x 323.513.50
colle à bois100g5.415.40
chevilles50p1.9911.99
vis à bois313.00
Total65.49
Électronique
ArticlePrix / pce# PiècesTotal Prix
pots0.1676410.706
PCBs0.10640.424
LEDs0.0108200.216
CD40510.1335131.7355
USB femelle1.1911.19
connecteurs 12v0.19710.197
prises jack0.4220.84
alimentations0.8710.87
résistances0.0176100.076
Arduino Nano1.58511.585
capuchons de pots (A02)0.3056018.34
capuchons de pots (A03)212
capuchons de pots (A04)0.31710.317
commutateurs0.187132.431
nappes de câble6.1416.14
boutons0.0855151.2825
petits pieds0.09540.38
Totaux19747.44
Sachant que j'ai eu gratuitement : Le coût total du MAGMA s'élève autours de 113?. Le coût d'un contrôleur MIDI avec 16 potentiomètres et 8 boutons est d'environ, et un contrôleur aussi complet n'existe simplement pas. Un synthétiseur analogique avec les mêmes capacités coûte entre 800? et 4000?, donc c'était plutôt une bonne affaire ! Bien sûr, si vous rajoutez 400 heures de travail au SMIC, vous ajoutez quelque chose comme 3600-4000?, ce qui veut dire que si quelqu'un m'en commande un, je devrai lui demander au moins 4000?. Aïe...

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

Appendice A : Une FlightCase maison bien sûr !

Une flightcase vraiment très solide, 10 mm de contreplaqué, couvert de simili-cuir
Un bel endroit pour faire voyager mon MAGMA, avec en plus du stockage pour les pédales, tranfos et câbles.

Appendice B : Quelques dessins originaux

Voici quelques scans inversés de certains de mes dessins techniques :
Le circuit de multiplexage
L'emplacement des potentiomètres vu de derrière
(utilisé pendant la soudure et la maintenance)
Quelques notes algorithmiques

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.