Electrosaxophone: projet de création EWI étape par étape





Introduction, ou d'où cela vient-il



La carrière d'un programmeur et ingénieur en général est une chose très intéressante, et mène souvent à la gestion de projet, comme cela m'est arrivé chez T-Systems. La gestion de projet est formidable: expérience, honneur et respect, mais il n'y a pas de place pour les activités d'ingénierie. Et les mains se souviennent! (c)



Il reste à utiliser les connaissances et les compétences acquises dans leurs projets parallèles, heureusement, il existe une telle opportunité.



De quoi vais-je parler aujourd'hui



Entre autres, je suis encore un petit saxophoniste (5-6 ans). Et tout est bon dans ce bel instrument, mais il est très bruyant. Et dès mes premiers cours, j'ai rêvé de l'apparition du même saxophone dans ma vie, mais pour pouvoir en jouer avec des écouteurs et ne pas harceler mes voisins, pour qu'il y ait une sorte d'instrument d'entraînement.



Bien sûr, il existe des instruments à vent électroniques, des produits phares - AKAI EWI et Roland Aerophone, mais, d'une part, ils sont très compromis en termes de position des doigts et d'ergonomie en général (sans oublier les coussinets d'oreille), et d'autre part, à part eux, il n'y a rien sur le marché ne l'est pas, et cela coûte 60 + k. Désolé, mais mon sax - American CONN - coûte 2 fois moins cher (très d'occasion, cependant, mais il me survivra toujours). Alors les deux m'ont étranglé - un crapaud et une soif d'activité. Nous ferons de l'électrosax.



Donc, l'énoncé du problème:



  • Fabriquer un instrument d'entraînement pour le doigté et les coussinets d'oreille du saxophoniste alto;
  • Il est bon marché à fabriquer dans un lot (potentiel) et pas très cher au stade expérimental;
  • Faites-le fonctionner sans délai entre les actions de l'utilisateur et le son résultant (un problème courant dans les appareils MIDI et l'enfer pour un musicien);
  • Faites-le petit dans le transport-stockage et copiez le saxophone alto pour les mains au travail;




Il est hautement souhaitable: 



  • Faites-en également un instrument de performance;
  • Ajouter une interface MIDI;
  • Rendre possible de jouer dedans aux "contre" depuis le téléphone ou la carte SD.


Ce qui est en stock:



  • Bras droits;
  • LETI RTF à son actif, c'est-à-dire une compréhension générale de l'électronique, mais sans grande expérience;
  • Musicalement sous-instruit et comprenant comment jouer du saxophone;
  • Environ 20 ans d'expérience dans la programmation de tout, de Visual Basic au langage exotique Magik;
  • 3- ( , ),
  • ( ) IT, Agile.




Il y a un peu plus de 2 ans, j'ai emmené avec moi en vacances un kit de démarrage Arduino UNO, quelques seringues (ne pensez pas mal), un capteur de pression BMP180 et une envie de tout essayer à ma guise.



Il s'est avéré être un design tellement drôle avec 3 boutons, mais, étonnamment, cela a fonctionné!

Quand j'ai soufflé là-bas, un son est apparu correspondant à la combinaison de boutons. Le son, bien sûr, était dynamique du système, jusque dans les oreilles d'un utilisateur inexpérimenté.







Mais l'expérience a été un succès, ce qui signifiait que tout l'oiseau serait perdu si la griffe restait coincée.

Ensuite, il y aura un certain nombre d'étapes intermédiaires, qui ne sont pas intéressées par les détails, faites défiler jusqu'à la fin, il y a des résultats et des conclusions.



Jalon 1,2 mois après le début



Le corps est un chemin de câbles et des tuyaux en plastique, la disposition des boutons sur de la fibre de verre revêtue de papier d'aluminium avec un cutter, très similaire à un jouet fabriqué dans une coopérative de garage dans les années 90. Capteur BMP180, MIDI, boutons d'horloge Arduino. Le premier embout buccal du même tuyau en plastique. Langage C, environnement de développement Arduino.



De très longs délais se sont formés (un quart à une demi-seconde), j'ai longtemps pensé que c'était dû au MIDI (j'ai utilisé MIDI-OX et Hairless MIDI). J'ai décidé de créer un son intégré.







Jalon 2,3 mois



Je suis tombé sur une carte sur le marché chinois qui sait comment hardware MIDI, sur une puce vs1053. J'ai réécrit le programme, mis le son là-bas, tout a fonctionné, les délais ont diminué, mais n'ont pas disparu.



J'ai décidé de penser à l'éternel pour l'instant et de travailler sur le design industriel.







Jalon 3,4 mois



En été, je me suis acheté une imprimante 3D pour mon anniversaire, la plus simple, Anet A6. J'ai décidé de concevoir avec lui. Au fait, j'aime toujours ce design, peut-être que l'un des outils prêts à l'emploi aura une telle apparence, mais je ne suis pas encore sûr, trop de bruit.









Étape 4: six mois



Premier son enregistré (soyez horrifié), premier modèle entièrement fonctionnel. https://www.youtube.com/watch?v=hhtxDk5x1P8



Boutons d'un clavier mécanique Cherry MX Blue (un saxophoniste familier a apprécié, dit-il, ils ressemblent à de vrais clics de touches. Cela me semblait aussi.)



Cela ressemblait à quelque chose comme ceci:







Jalon 5, 9 mois



Il s'est concentré sur la fabricabilité et la disposition des blocs: câblage imprimé (fer laser, qui est dans le sujet, peroxyde d'hydrogène et acide citrique avec sel), boucles et utilisation maximale de modules prêts à l'emploi. UNO manquait de broches pour tous les boutons, alors j'ai décidé d'aller beaucoup pour l'instant - j'ai utilisé Arduino Mega.



Le résultat a été le premier modèle que vous pouvez sortir dans la rue, jouer avec des amis, le rendre, et tout cela - sans une seule pause (c).















Entre-temps, j'ai changé le capteur de pression numérique BMP180 en un capteur analogique de Motorola, réécrivant une partie du programme. Les retards ont disparu. Absolument. En même temps, il a ajouté la possibilité de resserrer le son avec une canne à l'embout buccal, comme de vrais Saxons. Jauge de contrainte en bas à droite.







Jalon 6, année



L'Aux-in fonctionne, maintenant je peux jouer Electrosax sous les contre la nuit, et tout ce que l'observateur entend, c'est le halètement et les clics de touche de l'interprète.



(Prise jack 3,5 mm, à partir du téléphone, vous pouvez mélanger le moins dans le son de l'interprète)







Jalon 7, un an et demi (il m'ennuyait en enfer, 3 mois n'était pas particulièrement adapté)



Maintenant, il peut être plié 3 fois et se glisse même dans le sac à main d'une femme (pas le plus petit, cependant, je l'ai vérifié sur ma femme). Les composants internes ont été modifiés pour devenir encore plus modulaires, Arduino était Mega, est devenu Nano. Il y a beaucoup d'impression 3D, mais pas tous, pour le cas, un canal câblé est toujours utilisé, très pratique.







Et enfin, jusqu'ici les 2 dernières années



Ce n'est pas un point, c'est une virgule impressionnante!







Résumer les résultats intermédiaires



  • Est-il possible de créer un outil d'entraînement pour le doigté et le coussin d'oreille: oui.
  • Peut-il être fabriqué à bas prix (3-5k pour les pièces): oui.
  • Est-il possible de le faire fonctionner sans délai: oui.
  • Peut-il être fait petit dans le transport-stockage et la copie du saxophone alto pour les mains au travail: oui.
  • Est-il possible de fabriquer un instrument pour les performances: avec l'approche choisie, non. La raison en est la qualité sonore.
  • Est-il possible de créer un instrument avec une interface MIDI pour résoudre ce problème: peut-être.
  • Est-il possible de faire un instrument de performance avec une approche différente: peut-être.


Tâches non résolues:



  • Une carte MIDI DIY sur la puce vs1053 est utilisée, qui a 3 limitations:



    • Ça ne sonne pas très bien;
    • Niveau sonore élevé;
    • Niveau sonore insuffisant.
    • Il n'y a pas de meilleures cartes sur le marché.
  • MIDI: quand je l'ai fait - il y avait des problèmes avec les retards, maintenant ça s'est un peu refroidi, je veux faire un instrument avec mes propres sons. Peut-être que je reviendrai.


L'idée principale est de construire cela sur des sons réels (WAV). J'ai peur que cela arrive avec un vélo inventé il y a très longtemps appelé SoundFont, et la puissance de l'Arduino ne sera peut-être pas suffisante. Mais peut-être que je vais aussi le prendre.



Une autre idée est de réduire la quantité d'électronique et d'augmenter la quantité de programmation: par exemple, en utilisant un Raspberry PI au lieu d'un Arduino. SoundFont y est applicable par programmation. Problèmes possibles:



  • Je ne suis pas du tout fan de Linux. Comprenons, surtout en C / C ++, tout de même «comment».
  • Le Raspberry, disent-ils, n'est pas très bon avec le son, mais il a des boucliers HDMI et des cartes son. Nous allons comprendre.
  • Augmentation de la consommation d'énergie: découvrons-le à coup sûr!
  • Plus grande taille de framboise que Arduino. Je pense que cela peut être résolu, d'autant plus qu'il existe également des versions compactes de Raspberry (Zero, par exemple)


... et - étape 1 du nouveau design



Raspberry a démarré (modèle B jusqu'à présent), les premiers sons sont reçus, le langage est à nouveau C (bien que, probablement, vous puissiez utiliser quel python, mais je n'ai pas encore appris), j'utilise le synthétiseur Fluidsynth librement distribué comme bibliothèque, je commence à travailler avec GPIO. On ne sait pas encore clairement sur les retards, ils peuvent être à la jonction d'un capteur analogique et de GPIO entièrement numériques.



Merci de votre attention! S'il y a de l'intérêt pour le projet, nous nous reverrons et je parlerai de son développement futur.



Sergey Balashov,

PM chez T-Systems, était avec vous pendant les heures de travail et pendant son temps libre - un ingénieur-saxophoniste!



Vous pouvez suivre ceci et mes autres projets (en dehors de l'entreprise) ici:

https://vk.com/happy_sax



PS: Et si quelqu'un veut jammer à Saint-Pétersbourg, mais hésiter, venez aussi après la quarantaine:

https://vk.com/eclectic_jam



Je vous parlerai des jams une autre fois, peut-être pas ici, ici c'est toujours à propos de l'informatique, pas de la musique.



All Articles