What hoh! A host of new replies that all concern software that’s prettier than mine. Well, I did ask for it, so thanks for the info! Finale does look pretty complex and well made, although AKoff seems like it would provide the main feature for much less cost. What follows is rather longer than I intended, so apologies in advance…
Still, I am having fun working on it, and, man hours aside, it’s free so far.
Pyroh, it’s strange but those mp3 files don’t export as waves properly from Audacity. They play fine but the exported .wav has a wave form that most closely resembles the shapes of the Ghostbuster lightning guns. In other words, it goes all over the place. However, if I play the mp3 and record the output back into the mic port, I get a normal signal. Very odd, but thanks for sending them. I can tell you that you are ‘more-or-less’ in tune. Helpful no?
Fearfaoin: Those look like great resources! I’m a mechanical engineer by training, so I missed out on DSP. I thought I was doing something clever by calculating the optimum frame size and then taking FFTs of each frame. However…“A simplistic way is to take an FFT (Fast Fourier Transform) of the signal and check whether the desired frequency is present.” Easy for him/her/it to say. Simplistic my foot.
Still, looks clever and efficient. Right now I work with pre-recorded waves as I figured they would be easier to analyze. My main problem with real-time encoding is that I’m not sure how to do it in Matlab as I don’t think I have access to the Data Acquisition Toolbox. Still, by hook or by crook, real-time processing was going to come next after I got the basic algorithm down, but that filter looks promising. I suspect that if I dissected any of the many software tuners available, I’d find something like that which allows them to quickly detect different notes.
I can now clearly detect multiple notes in sequence in an output graph, so now it’s a matter of getting the computer to recognize note transitions, for which I am currently using an amplitude threshold for the FFT power-spectrum (i.e. low amplitude frames are considered silence between notes). It’s not great, and it doesn’t work reliably yet, but it’s a start.