ACCORDEUR DE GUITARE AUTOMATIQUE – PROJET PEIP2A

Bienvenue à toutes et tous sur le blog du projet d’accordeur de guitare Automatique !

Ce projet s’adresse à tous les passionnés de musique et plus particulièrement d’instruments à cordes ! En effet, les cordes de nos instruments ont une fâcheuse tendance à se détendre modifiant ainsi le son de nos instruments préférés (guitare, basse, ukulele, etc…). L’accordage est donc une compétence essentielle pour tout bon musicien.

Cependant, tout le monde n’a pas l’oreille absolue!

C’est ici que notre projet prend tout son sens. L’objectif est de rendre totalement automatique l’accordage d’une guitare. De la captation et l’analyse de fréquence jusqu’à l’action mécanique d’ajustement des cordes.

Premiers pas en terre inconnue…

Les prémices de notre projet ont surtout été une recherche d’informations sur le fonctionnement du système d’accordage d’une guitare classique et les éléments qui le compose.

Nous avons aussi commencé à prendre en main le logiciel de programmation Arduino (un logiciel qu’aucun d’entre nous ne savait utiliser auparavant). Car nous n’étions pas seuls dans cette épopée, notre fidèle Arduino UNO serait là pour assurer toute la partie commande électronique du projet.

Notre projet fait appel à de nombreuses compétences dans des domaines aussi variés que le traitement du signal, l’analyse et la conception de systèmes mécaniques ou encore l’analyse de données. Nous avions pu aborder brièvement certaines de ces notions en cours cependant les appliquer dans un projet concret est une autre paire de manches. Nous avons donc décidé de décomposer les tâches de notre projet afin d’avoir un plan d’attaque!

Partie analyse fréquentielle

La musique et tous les sons existants se traduisent physiquement par des fréquences. Dans notre projet il est donc important de comprendre que chaque cordes/notes est associée à une fréquence distincte.

https://2.bp.blogspot.com/-p5dtCeP6Q4w/WLF8Ncy9iTI/AAAAAAAAGJo/rmRC4Q4YClc8SqNgeJNxupM9PQCnddrtgCK4B/s1600/Guitar%2BStrings%2BFrequency%2BChart.JPG

Bien que fièrement armé de nos bagages théoriques acquis en cours de mathématiques du signal, la partie analyse fréquentielle ne fut pas de tout repos. Nous avons essuyé plusieurs échecs de codes et de techniques de traitement de signal les unes après les autres : Transformée de Fourier, Fast Fourier Transformé, Zero Crossing

Notre code final est principalement basé sur une technique d’Autocorrélation auquel nous avons ajouté de nombreux seuils et intervalles afin d’éviter les valeurs erronées que le programme pourrait capter par erreur. En effet, même avec un code de captation optimal, plusieurs éléments parasites peuvent fausser les résultats et les valeurs acquis par notre fidèle micro Amplificateur MAX 4466!

Partie Affichage et Architecture

Après avoir terminé la partie d’analyse fréquentielle, il fallait maintenant concevoir une architecture permettant à la machine de transmettre ses résultats avec l’utilisateur. Nous avons opté pour une interface simple d’affichage sur un LCD I2C 4*16.

Afin de compléter l’architecture de notre accordeur, nous avons ajouté 6 leds indiquant la corde que nous souhaitons accorder ainsi que 2 boutons pressoirs afin de sélectionner celle-ci. (A tout cet ensemble viennent s’ajouter 3 leds de différentes couleurs dont le but est de renseigner le niveau d’accordage (Trop accordé/OK/Pas assez accordé).

Partie mécanique

Après avoir accompli les premières étapes du projet, le prochain défi de notre périple fut donc la partie système mécanique/moteur ou comment faire tourner les chevilles de réglages de la guitare.

CAO support chevilles de réglages

Le premier défi a été de modifier le fonctionnement du moteur à notre disposition. En effet, notre servo motor était un moteur de position. En d’autres termes, le moteur ne pouvait pas tourner à 360° et devait retourner à sa position initiale afin d’effectuer un nouveau serrage/desserrage.

Miuzei Servo Rc 25kg Servomoteur Digital Standard 180 Metal Waterproof Compatible avec Arduino Pour Voiture Rc 1/10 1/8 1/12 Bras Robot Modelisme Voilier

Avec beaucoup de courage et un peu de soudure, nous avons réussi à contourner les restrictions de positionnement de notre servo motor liés à sa carte électronique.

Finalement, nous avons associé les programmes liés à la partie fréquentielle et la partie contrôle moteur grâce à une Arduino Motor Shield. Cette association demande un regard attentif sur la datasheet du motor shield afin d’éviter les conflits de broches liés aux pins utilisés par défauts par le motor shield.

Conclusion

Brouillon montage
Montage final

Ça y est, c’est la fin de notre voyage. L’accordeur est fonctionnel et prêt à accorder les cordes les plus coriaces! Il ne reste plus qu’à vous faire une petite démonstration de ses capacités.

Démo moteur accordeur automatique

Bien que fonctionnel, ce projet offre de nombreuses perspectives de progression et d’amélioration. Tout d’abord, la possibilité de proposer l’accordage d’autres instruments à cordes (ukulele, basse, violon, etc…). Des questions de fréquences et de puissance mécanique seront alors à prendre en compte. Nous pouvons aussi émettre la possibilité d’accorder toutes les cordes d’une guitare en les grattant toutes en même temps comme dans la vidéo suivante :

Nous offrons ces idées dans le cas où de nouveaux étudiants voudraient reprendre le flambeau en s’appuyant sur notre travail.

Merci d’avoir suivi notre aventure/blog !

Ackhavong Kesian

Arlot Tom

Le Callet Ewen

La guitare augmentée

Dans le cadre du projet de conception, nous avons choisi de travailler sur la guitare augmentée. Nous sommes deux étudiants de deuxième année à Polytech Angers. Étant tous les deux musiciens, nous nous sommes naturellement tournés vers ce projet.

Présentation du projet

Dans le monde de la musique, il arrive souvent que les instruments soient amplifiés : guitare, basse, batterie, trompette, voix… Il existe de nombreuses pédales d’effet, permettant de modifier le son de l’instrument. Ces pédales ont des réglages, souvent grâce à un potentiomètre, où on peut gérer le niveau d’effet donné au son. Le potentiomètre étant petit, il faut le faire varier à la main.
Pour éviter d’interrompre un morceau pour changer le son, nous avons pensé à un système permettant de changer le niveau d’effet en effectuant un mouvement spécifique.
Dans ce projet, nous avons renforcé le travail de groupe et nous avons appris la programmation Arduino.

Etapes du projet

  1. Système mécatronique
  2. Profilé aluminium

    Système mécatronique avec les profilés aluminium


    Pour commencer, nous avons cherché à construire un système permettant à un servomoteur de faire tourner un potentiomètre. Après plusieurs essais infructueux, nous avons découvert les Makerbeams. Nous avons mis en place un système de courroie reliant les servomoteurs avec les pédales. Pour cela, nous avons calculé le rapport de réduction entre l’amplitude du servomoteur et l’amplitude du potentiomètre de la pédale. Nous avons modélisé les roues dentées et les avons imprimées grâce à une imprimante 3D. Nous avons donc mis les servomoteurs sur les profilés aluminium Makerbeams pour pouvoir tendre la courroie.

  3. Arduino
  4. Nous avons utilisé des micro ordinateurs Arduino pour transmettre l’orientation que prend la guitare au servomoteur. Le capteur fourni par notre professeur possède un gyroscope et un accéléromètre. Pour l’utilisation que nous lui voulions, nous avons utilisé seulement le gyroscope. Après avoir cherché comment le capteur marche, nous avons codé un programme qui prenait l’angle selon un axe particulier, et nous avons pris en compte la différence d’angle pour envoyer aux servomoteurs.

Travail réalisé


Nous avons mis ci-dessus un essai de notre prototype. Fonctionnel, ce prototype peut être amélioré, sur l’esthétique pas exemple.

Difficultés rencontrées

  • Trouver le système mécatronique
  • Nous avons mis du temps à concevoir et à mettre en place un prototype avant de découvrir les profilés aluminium Makersbeams. Nous avons fixé les servomoteurs sur ceux-ci. Les profilés aluminium ont pour avantage d’être amovibles et fixables, ce qui nous permet de tendre la courroie et de maintenir la tension.

  • Trouver le fonctionnement du capteur
  • https://store-cdn.arduino.cc/uni/catalog/product/cache/1/image/500x375/f8876a31b63532bbba4e781c30024a0a/a/0/a000070_iso.jpg

    Capteur gyroscope accéléromètre

    Notre professeur référent nous a fourni un capteur gyroscope et accéléromètre Arduino, le 9 Axis Motion Shield. Nous avons cherché à savoir quel type de données il renvoyait et sous quelle forme. Nous avons donc cherché la documentation relative à ce capteur Arduino. Le site arduino.cc nous fournissait une documentation technique mais ne renseignait rien quant aux données transférées. Nous avons ensuite trouvé un site nous donnant une librairie et un programme permettant d’envoyer les données du gyroscope et de l’accéléromètre. Nous avons donc sélectionné les données souhaitées, les avons traitées avant de brancher le capteur à un autre micro ordinateur Arduino.

Conclusion
Durant ces quatre mois de travail sur ce projet, nous sommes partis d’un cahier des charges décrivant les fonctions que devrait remplir le prototype. Nous avons donc cherché à mettre en œuvre des moyens suffisants pour répondre au mieux au cahier des charges. Comme le montre la vidéo ci-dessus, nous avons réussi à mettre en place un prototype fonctionnel.Ce projet nous a permis de mettre en pratique ces deux ans d’apprentissage théorique et de nous faire une idée du travail que l’on attend d’un ingénieur.