Table des matières:
- Étape 1: Réglage standard du ukulélé
- Étape 2: Création d'un modèle théorique purement numérique
- Étape 3: Ensuite, le circuit analogique
- Étape 4: Lecture de signaux analogiques avec l'assistant DAQ
- Étape 5: Conclusion
Vidéo: Tuner Ukelele utilisant LabView et NI USB-6008 : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Dans le cadre d'un projet d'apprentissage basé sur des problèmes pour mon cours LabVIEW & Instrumentation au Humber College (Electronics Engineering Technology), j'ai créé un accordeur d'ukulélé qui prendrait une entrée analogique (tonalité de corde d'ukulélé), trouverait la fréquence fondamentale, déciderait quelle note essayait à accorder et indiquez à l'utilisateur si la corde doit être réglée vers le haut ou vers le bas. Le périphérique que j'ai utilisé pour traduire l'entrée analogique en entrée numérique était le National Instruments USB-6008 DAQ (périphérique d'acquisition de données), et l'interface utilisateur a été implémentée avec LabVIEW.
Étape 1: Réglage standard du ukulélé
La première étape consistait à découvrir les fréquences fondamentales des notes de musique et à quelle plage les cordes du ukulélé sont généralement accordées. J'ai utilisé ces deux graphiques et j'ai décidé de faire varier ma tonalité entre 262 Hz (C) et 494 Hz (High B). Tout ce qui est inférieur à 252 Hz serait considéré comme trop faible pour que le programme puisse déchiffrer quelle note essayait d'être jouée, et tout ce qui était supérieur à 500 Hz serait considéré comme trop élevé. Le programme, cependant, indique toujours à l'utilisateur à combien de Hz ils sont éloignés de la note déchiffrable la plus proche, et si la corde doit être réglée vers le haut (note trop basse) ou vers le bas (note trop haute) pour atteindre une note disponible.
De plus, j'ai créé des plages pour chaque note, plutôt qu'une seule fréquence, afin qu'il soit plus facile pour le programme de trouver quelle note était jouée. Par exemple, le programme indiquerait à l'utilisateur qu'un do est joué si la note a une fréquence fondamentale comprise entre 252 Hz (à mi-chemin de B) et 269 Hz (à mi-chemin de C#), mais afin de décider si elle doit être réglée ou vers le bas, il comparerait toujours la note jouée à la fréquence fondamentale de C qui est de 262 Hz.
Étape 2: Création d'un modèle théorique purement numérique
Avant de plonger dans le côté analogique du projet, je voulais voir si je pouvais créer un programme LabVIEW qui ferait au moins le traitement principal d'un échantillon sonore, comme lire un échantillon audio.wav, trouver la fréquence fondamentale et créer les comparaisons requises avec le tableau des fréquences afin de déterminer si le son doit être réglé vers le haut ou vers le bas.
J'ai utilisé le SoundFileSimpleRead. VI disponible dans LabVIEW pour lire un fichier.wav à partir d'un chemin que j'ai désigné, mis le signal dans un tableau indexé et introduit ce signal dans HarmonicDistortionAnalyzer. VI afin de trouver la fréquence fondamentale. J'ai également pris le signal du SoundFileSimpleRead. VI et l'ai connecté directement à un indicateur de graphique de forme d'onde afin que l'utilisateur puisse voir la forme d'onde du fichier sur le panneau avant.
J'ai créé 2 structures de cas: une pour analyser quelle note était jouée, et l'autre pour déterminer si la corde devait être montée ou baissée. Pour le premier cas, j'ai créé des plages pour chaque note, et si le signal de fréquence fondamentale de l'HarmonicDistortionAnalyzer. VI était dans cette plage, il indiquerait à l'utilisateur quelle note était jouée. Une fois la note déterminée, la valeur de la note jouée a été soustraite de la fréquence fondamentale réelle de la note, puis le résultat a été déplacé dans le deuxième cas qui a déterminé ce qui suit: si le résultat est supérieur à zéro, la corde doit être accordée; si le résultat est faux (pas au-dessus de zéro), alors le boîtier vérifie si la valeur est égale à zéro, et si vrai, alors le programme notifierait à l'utilisateur que la note est juste; si la valeur n'est pas égale à zéro, cela signifie qu'elle doit être inférieure à zéro et que la chaîne doit être réglée. J'ai pris la valeur absolue du résultat pour montrer à l'utilisateur à combien de Hz ils sont éloignés de la vraie note.
J'ai décidé qu'un indicateur de compteur serait le meilleur pour montrer visuellement à l'utilisateur ce qui doit être fait pour que la note soit juste.
Étape 3: Ensuite, le circuit analogique
Le microphone que j'ai utilisé pour ce projet est le micro électret à condensateur CMA-6542PF. La fiche technique de ce micro est ci-dessous. Contrairement à la plupart des microphones à condensateur de ce type, je n'ai pas eu à me soucier de la polarité. La fiche technique montre que la tension de fonctionnement de ce micro est de 4,5 à 10 V, mais 4,5 V est recommandé, et sa consommation de courant est de 0,5 mA max. Il faut donc faire attention lors de la conception d'un circuit de préampli pour cela. La fréquence de fonctionnement est de 20 Hz à 20 kHz, ce qui est parfait pour l'audio.
J'ai implémenté une conception de circuit de préampli simple sur une maquette et j'ai ajusté la tension d'entrée, en m'assurant qu'il n'y avait pas plus de 0,5 mA à travers le micro. Le condensateur est utilisé pour filtrer le bruit CC qui pourrait être couplé avec les signaux électriques (sortie), et le condensateur a une polarité, alors assurez-vous de connecter l'extrémité positive à la broche de sortie du microphone.
Une fois le circuit terminé, j'ai connecté la sortie du circuit à la première broche d'entrée analogique (AI0, broche 2) de l'USB-6008 et j'ai connecté la masse de la planche à pain à la broche de masse analogique (GND, broche 1). J'ai connecté l'USB-6008 au PC avec un USB et il était temps de faire des ajustements au programme LabVIEW pour prendre en compte un signal analogique réel.
Étape 4: Lecture de signaux analogiques avec l'assistant DAQ
Au lieu d'utiliser SoundFileSimpleRead. VI et HarmonicDistortionAnalyzer. VI, j'ai utilisé DAQ Assistant. VI et ToneMeasurements. VI pour gérer l'entrée analogique. La configuration de l'Assistant DAQ est assez simple et le VI lui-même vous guide à travers les étapes. Le ToneMeasurements. VI a de nombreuses sorties à choisir (amplitude, fréquence, phase), j'ai donc utilisé la sortie fréquence qui donne la fréquence fondamentale de la tonalité d'entrée (de l'Assistant DAQ. VI). La sortie de ToneMeasurements. VI devait être convertie et placée dans un tableau avant de pouvoir être utilisée dans les structures de cas, mais le reste de la programmation/indicateurs LabVIEW est resté le même.
Étape 5: Conclusion
Le projet a été un succès mais il y avait certainement beaucoup de défauts. Lorsque j'utilisais le tuner dans une salle de classe bruyante, il était très difficile pour le programme de déterminer ce qu'était le bruit et quelle était la tonalité jouée. Cela est probablement dû au fait que le circuit du préampli est très basique et que le microphone est très bon marché. Quand il était calme, cependant, le programme fonctionnait avec une bonne fiabilité pour déterminer la note qui essayait d'être jouée. En raison de contraintes de temps, je n'ai apporté aucune modification supplémentaire, mais si je devais répéter le projet, j'achèterais un meilleur microphone et passerais plus de temps sur le circuit du préampli.
Conseillé:
Radiocommande RF 433MHZ utilisant HT12D HT12E - Faire une télécommande Rf en utilisant HT12E & HT12D avec 433mhz: 5 étapes
Radiocommande RF 433MHZ utilisant HT12D HT12E | Faire une télécommande Rf à l'aide de HT12E & HT12D avec 433 mhz : dans cette instructable, je vais vous montrer comment faire une télécommande RADIO à l'aide d'un module émetteur-récepteur 433 mhz avec encodage HT12E & Décodeur HT12D IC. Dans cette instructable, vous pourrez envoyer et recevoir des données à l'aide de COMPOSANTS très très bon marché COMME : HT
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino - Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor - Hélicoptère Rc - Avion Rc utilisant Arduino: 5 étapes (avec photos)
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino | Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor | Hélicoptère Rc | Avion Rc utilisant Arduino: Pour faire fonctionner une voiture Rc | Quadricoptère | Drone | Avion radiocommandé | Bateau RC, nous avons toujours besoin d'un récepteur et d'un émetteur, supposons que pour RC QUADCOPTER nous ayons besoin d'un émetteur et d'un récepteur à 6 canaux et que ce type de TX et RX soit trop coûteux, nous allons donc en faire un sur notre
Robot Ukelele : 15 étapes
Ukelele Robot: El proyecto consist en un sistema para tocar melodías en un Ukelele introduciendo ya sea acorde por acorde o la instrucción de tocar alguna de las melodías disponibles (en este caso la melodía se compone por los acordes C, G, Am, y F secuenciados)
Piratage du tuner TV pour lire les photos de la Terre à partir de satellites : 7 étapes (avec photos)
Piratage du tuner TV pour lire les photos de la Terre à partir des satellites : Il y a beaucoup de satellites au-dessus de nos têtes. Saviez-vous qu'en utilisant uniquement votre ordinateur, votre tuner TV et une simple antenne de bricolage, vous pouviez recevoir les transmissions d'eux ? Par exemple, des images de la terre en temps réel. Je vais vous montrer comment. Vous aurez besoin de : - 2 w
Réparer une chaîne de tuner radio vintage : 11 étapes (avec photos)
Réparer une chaîne de tuner radio vintage : Il y a déjà de très bons tutoriels sur les radios vintage, mais j'ai eu un problème spécifique : la radio s'allume la radio fait du bruit, et devient plus fort avec le bouton de volume mais tourner le bouton de réglage ne déplace pas l'aiguille ou le canal