Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

PIC Note-Naming Device

Status
Not open for further replies.
Hi all, I want to create something that will be able to "listen" through an audio input and tell me what note (musical scale, y'know) is being produced. Preferably, this would be displayed on a single 7segment LED display. I have been thinking of a PIC microcontroller. What I think I might want to do is have a 'refernce' resonation (set to the note, C, for example) and then have the PIC look at the input and determine wether the input resonation is longer PWM (or whatever it's called) or shorter. If its shorter, it 'adds' time onto the refernce to make the semitone up (C# for example). If it matches, a pulse is sent out (later used to indicate the note on a 7segment display), if not, it keeps increasing (or decreasing) until it does.

Am I on the right track here? If so, how do I put it all together? All comments appriciated, thanks.
 
Mike,

This is not quite what you want but it is close. If you research what is done here you will find what you want to do.
http://elm-chan.org/works/akilcd/report_e.html
Play the movie files at the bottom of the page.
This thing must work over 8 octaves.
It the display worked over 1 octave you can pick out notes.
I would use a BIGer computer chip like an ARM or a small DSP.
I am very interested in your project and hope you can make it work.
 
The only problem is that almost all audio, and certainly almost all music, is polyphonic - more than one note at a time - this completely messes up your frequency reading plan!.
 
hmmm ... so many problems and I havent even started :D

Ok, I have another question then. Say I want to compare an input signal to a reference. Only if they exactly match, do I get a result. Is this possible through PIC code? (Or conventional devices?)

For example:

INPUT: __,---,__,---,__,---,__
REF. : ___,---,__,---,__,---,__
= a signal/pulse

but

INPUT: ___,--,___,--,___,--,___
REF. : __,---,__,---,__,---,__

= No pulse/signal

on the latter, although the waves combine some of the time, it is not all of the time, therefore it does not 'match'

I hop this isnt too confusing or vague, thanks
 
Here's an approach which keeps track of zero-crossings to determine pitch. Doesn't look very compute intensive:

**broken link removed**

And here's a video of it in action:

**broken link removed**
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top