I think I appreciate that you are 'helping', but your nick says more than your answer.
I really do want help on this project and I came here for it and seem to be only belittled, like I am taking crazy pills or something.
Instructables are written by people with an inflated view of their own ability and knowledge. That page is no exception. Hang around here long enough and you see a steady parade of people who can not get bad projects to work. Forget trying to learn anything new from instructables.
Ouch!
Well, the code was modified by people on this board to only be better. Should I ignore that as well?
The problem with that one is that the waveform is already digitized and stored as a file,
Yes, hence the question on my original post.
it is not possible to digitize at that rate and do any processing on a Uno.
?? I see other FFT sketches that interpret 8 or more channels in real-time..
Then read it again and read what you wrote. For all intents and purposes pitch and frequency are exactly the same thing.
Uh, no. Pitch is what we attribute the the frequency a musical instrument's note is playing. Is the pitch of a bamboo flute the same as a barisax? No. Now, the FREQUENCY of notes that happen to match would be the same as it is measureable. But an A on the bamboo flute is not the same as the A on the barisax.
You are getting confused by what a tuner does, which is to perform a FFT and measure one of the harmonics and measure its frequency and from that tell you the note over an octave range.
That is exactly what I said a tuner does! It gives you the Pitch (note) reference to your chosen tuning frequency, NOT the exact frequency of the note you are playing.
It does that because that bit is easy as you don't have to struggle to find the fundamental of a note. The harmonic content and relative amplitude of these harmonics continuously varies over the duration of the note with the harmonic that is the biggest one changing. A tuner doesn't even begin to consider this as after all it is not what you want to know when using a tuner.
Yes, but my point is: somewhere in the magic of the box that is a 'tuner', it is determining what the frequency is being played and comparing it to a reference frequency for tuning. If you choose A440Hz and play A3, it has to measure that it is 220hz, correct? I want to show that frequency, not that it is in tune with A440hz and is pitch A3 (what tuner do now).
Which is the what but not the why.
Who cares why I want to do this?
Normally this is so it can be converted into a stream of MIDI messages for creating other sounds. While they have got better at this over the years a device that does this is still not 100%
I have no interest in this, this project will act as a very specific tuner that shows frequency instead of pitch. If I am on a piano and I play G0, I want it to show 24.5Hz not 'G'. If I play D3, I want it to show 146.83Hz not 'D'. If I play F5, I want it to show 698.46Hz not 'F'. Does that make sense?
"I have tuners that cost $7,"
Which as we said will not do what you want.
Yes, but (again) my point is a $7 piece of electronics is somehow determining the frequency being played to show you the pitch of the note, either through FFT or autocorrelation or something. Certainly this is possible with some flavor of Arduino (or combination of arduinos).
or phone apps that cost $1, how are they able to accomplish this?
There are two ways they accomplish this and both apply:-
- They are not very good
- They run on a processor that has at least 1G of free memory and a clock speed in excess of 1GHz
You want to do this on a processor with 2K of memory and a 16MHz clock!
I'm not sure I ever said Uno, although both tutorials use one.
I have a feeling the $7 tuner I have does not use anything near the power of an Uno.
One tuner I have uses a ATMega3216AU, would that work?
I do not want to make a phone app, I want this to be a dedicated device.