URL: https://linuxfr.org/news/electronique-sous-gnu-linux-15-ans-de-libre-plus-tard Title: Électronique sous GNU/Linux — 15 ans de Libre plus tard Authors: HLB tankey, Davy Defaud, ZeroHeure et palm123 Date: 2020-04-08T23:07:45+02:00 License: CC by-sa Tags: libre, mao, kicad, arduino, freecad, odroid et synthétiseur Score: 4 Ça fait plus de quinze ans que mon ordi tourne sous GNU/Linux, que je profite des dépêches de _LinuxFr.org_ et puis, là, je me suis dit : bon sang, que de chemin parcouru par le Libre et les libristes. Je venais tout juste de terminer un projet complet, balayant toutes les étapes de conception à l’utilisation, alors ça y est, il fallait raconter, partager… Premier petit aparté pour signaler que je suis électronicien de métier (matériel et logiciel embarqué), que j’utilise les mêmes logiciels au boulot et que cet article serait le même si je présentais un projet de ma boîte, mais mon patron serait moins partant pour un tel déballage ! [![Connected Fuyes](https://equilibriste.org/index.php/s/pFyo66GkpmDkeiN/preview)](https://equilibriste.org/index.php/s/pFyo66GkpmDkeiN/preview) _La première version fonctionnelle._ ---- [Dépôt GitLab](https://gitlab.com/HLeBoucher/bandomidi) [Le projet sur Hackaday](https://hackaday.io/project/170753-bandomidi) [Banque de son de bandonéon Bleymehls](http://joergbleymehl.de/en/bandochords/soundfont/) [MuseScore](https://musescore.org/fr) [KiCad](https://www.kicad-pcb.org/) [Interview du développeur principal de KiCad](http://blog.snapeda.com/2019/10/28/an-interview-with-wayne-stambaugh-of-kicad/) ---- # L’histoire Il y a un moment déjà, je me suis mis au bandonéon, qui est l’accordéon du tango. C’est un instrument qui peut être très sonore : pendant quelques années j’ai possédé une cabine acoustique (une sorte de cabine téléphonique pour faire des prises de voix par exemple), et puis j’ai déménagé, je l’ai revendue et je me suis de nouveau senti coincé par la vie en appartement. Il fallait que je trouve une solution pour m’exercer chez moi sans gêner les voisins. Il existe des systèmes [MIDI](https://fr.wikipedia.org/wiki/Musical_Instrument_Digital_Interface "Musical Instrument Digital Interface") qui s’adaptent sur des accordéons mais je n’ai rien trouvé de spécifique au bandonéon. Je me suis donc lancé dans ce projet pour continuer à jouer discrètement l’hiver chez moi (l’été, je m’installe au soleil). # La réalisation Il y a plusieurs façons de détecter le déclenchement d’une note : la plus chic, celle qui ne modifie pas l’instrument, est l’installation d’aimants sur les touches et de capteurs magnétiques en face. Le bandonéon est un instrument très compact et la conception de circuits imprimés _ad hoc_ a été nécessaire. J’ai conçu un ensemble de cartes, main droite, main gauche, intégrant les capteurs à [effet Hall](https://fr.wikipedia.org/wiki/Effet_Hall), de quoi les alimenter et un composant « tampon » qui stocke l’état de chaque capteur, c’est‑à‑dire de chaque touche. À cela, j’ai ajouté une carte Arduino Micro qui lit l’état des boutons et génère les évènements [MIDI](https://fr.wikipedia.org/wiki/Musical_Instrument_Digital_Interface "Musical Instrument Digital Interface") correspondants. ![Schéma électronique sous KiCad](https://gitlab.com/HLeBoucher/bandomidi/-/raw/master/documents/article/img/11b_schematic_KiCAD_zoom.png)  _Schéma électronique sous KiCad_ ![Circuit imprimé sous KiCad](https://gitlab.com/HLeBoucher/bandomidi/-/raw/master/documents/article/img/11c_PCB_KiCAD_zoom.png)  _Circuit imprimé sous KiCad_ Les schémas sont en blanc (Eeschema) et les circuits imprimés en noir (Pcbnew). Sinon ça ne pourrait pas fonctionner… [![Vue 3D du circuit imprimé sous KiCad](https://gitlab.com/HLeBoucher/bandomidi/-/raw/master/documents/article/img/bandoMIDI_v1-1_left_hand.jpg)](https://gitlab.com/HLeBoucher/bandomidi/-/raw/master/documents/article/img/bandoMIDI_v1-1_left_hand.jpg)  _Vue 3D du circuit imprimé depuis KiCad._ Le bandonéon est l’un des rares instruments stéréophoniques : les sonorités de la main droite sont différentes de celles de la main gauche car ce côté‑ci possède une petite caisse de résonance. Pour cette raison, et aussi pour éviter de passer du câble à l’intérieur soufflet, j’ai donc installé un module Arduino de chaque côté, générant donc deux instruments MIDI. [![Magnet sensor](https://equilibriste.org/index.php/apps/files_sharing/publicpreview/oBKfSXKs79Ern9B?x=1920&y=603&a=true&file=02_PCB_installed2.jpg)](https://equilibriste.org/index.php/apps/files_sharing/publicpreview/oBKfSXKs79Ern9B?x=1920&y=603&a=true&file=02_PCB_installed2.jpg)  _Les aimants sont installés à l’aide de Patafix._ Côté ordinateur, les modules Arduino sont détectés comme des instruments MIDI, fluidsynth (sans JACK) s’occupe de faire le lien entre ces appareils MIDI et une banque de sons. On a souvent dit (moi aussi…) du mal de la gestion du son sous GNU/Linux. Eh bien, j’ai été stupéfait de voir que la mise en œuvre a été très simple et que mes modules Arduino ont causé du premier coup ! J’ai simplement câblé mes périphériques MIDI sur [MuseScore](https://musescore.org/fr), un éditeur de partitions, avec lequel je fais des transcriptions (repique d’un morceau à l’oreille). Là encore, chapeau : utilisation simple, logiciel stable, résultat nickel, bravo le Libre ! Pour jouer simplement, de manière autonome, je me suis fait un synthétiseur portable dédié. Je fais tourner [[FluidSynth]] sur un [Odroid C1+](https://fr.wikipedia.org/wiki/Odroid) avec une cape Hi‑Fi qui sort en connecteurs RCA direction l’ampli. Et ça fonctionne. Je ne sais pas qui peut être intéressé par ce projet, qu’importe, j’ai tout mis en ligne sur GitLab. # Au taf Les différences avec le boulot (petite structure d’environ 25 personnes, dont 8 développeurs) : - pour le système d’exploitation, aucune : j’utilise la dernière Ubuntu ; - pour le schéma et le routage, aucune : j’utilise KiCad, pour des circuits qui font jusqu’à quatre couches avec des microcontrôleurs et un peu de HF — que de progrès depuis la première version que j’ai utilisée où la fonction « annuler » n’existait pas (_sic_) ; c’est complet, efficace, la gestion de schémas et routages sur d’anciennes versions réserve malheureusement quelques surprises ; - pour la mécanique, aucune : j’utilise aussi [FreeCAD](https://www.freecadweb.org/), essentiellement pour de la visualisation, mais aussi pour concevoir de petites pièces de test, généralement de l’impression 3D ; - sur Arduino : le code est un peu sale pour moi qui ai l’habitude du C embarqué, avec des bibliothèques bien rangées, un programmateur/débogueur fiable, etc. ; mais pour ce genre de choses simples, c’est tout à fait suffisant — il m’arrive d’ailleurs d’utiliser des modules Arduino au boulot dans le cadre de tests : rapides à mettre en œuvre, si je veux tester un composant, un capteur, c’est vite câblé et j’ai rapidement des réponses à mes questions ; - pour le logiciel embarqué, j’utilise les outils de ST Micro ou de Silicon Labs, essentiellement TrueStudio, qui est un Eclipse adapté aux microcontrôleurs ST, et je couple ça à une sonde Segger ; c’est lourd, pas libre, mais ça tourne en natif sur mon poste Ubuntu. Même chose pour mon multimètre numérique de chez OTII : il y a un paquet Debian. Ça n’est pas libre, mais le simple fait que ça tourne sous GNU/Linux, c’est vraiment un changement incroyable par rapport à tous les outils (Microchip, WinAVR…) qui pompaient GCC pour ne le faire tourner que sur du proprio. # D’autres projets Le projet s’est un peu étalé (comme au boulot, finalement !) et, entretemps, d’autres idées, par ailleurs libres, ont été publiées : - un bandonéon complètement MIDI en impression 3D, par des étudiants uruguayens : [Bandonberry sur GitHub](https://github.com/jebentancour/Bandonberry "Sur GitHub") ; - un concertina anglais, [sur _Hackaday_](https://hackaday.com/2019/08/18/midi-controller-in-a-concertina-looks-sea-shanty-ready/ "Sur Hackaday"). # La suite Aucune. Pour le moment, je joue ! Bien sûr, c’est améliorable, et comme c’est libre, avec un peu de chance, ce sera fait par d’autres. [![L’instrument et le synthétiseur Odroid](https://equilibriste.org/index.php/apps/files_sharing/publicpreview/SkcLJ4Fej3xoMWc?x=1920&y=603&a=true&file=13_Odroid_full_system.jpg)](https://equilibriste.org/index.php/apps/files_sharing/publicpreview/SkcLJ4Fej3xoMWc?x=1920&y=603&a=true&file=13_Odroid_full_system.jpg) _De l’USB sur une mécanique des années 60._