Table des matières:

Tuner Ukelele utilisant LabView et NI USB-6008 : 5 étapes
Tuner Ukelele utilisant LabView et NI USB-6008 : 5 étapes

Vidéo: Tuner Ukelele utilisant LabView et NI USB-6008 : 5 étapes

Vidéo: Tuner Ukelele utilisant LabView et NI USB-6008 : 5 étapes
Vidéo: TCP vs UDP Comparison 2024, Novembre
Anonim
Tuner Ukelele utilisant LabView et NI USB-6008
Tuner Ukelele utilisant LabView et NI USB-6008
Tuner Ukelele utilisant LabView et NI USB-6008
Tuner Ukelele utilisant LabView et NI USB-6008

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é

Réglage standard du ukulélé
Réglage standard du ukulélé
Réglage standard du ukulélé
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

Créer un modèle théorique purement numérique
Créer un modèle théorique purement numérique
Créer un modèle théorique purement numérique
Créer 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

Ensuite, le circuit analogique
Ensuite, le circuit analogique
Ensuite, le circuit analogique
Ensuite, le circuit analogique
Ensuite, le circuit analogique
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

Lecture de signaux analogiques avec l'assistant DAQ
Lecture de signaux analogiques avec l'assistant DAQ
Lecture de signaux analogiques avec l'assistant DAQ
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

Conclusion
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é: