4 ms·
You beat me to it! I've been working on similar thing, so I'm a bit jealous that you published this before me! Then again it makes me happy that I'm not the onl
by rijoja 8y ago
You beat me to it! I've been working on similar thing, so I'm a bit jealous that you published this before me! Then again it makes me happy that I'm not the only one with far out ideas like this!
My approach is a tad different though. My approach works by using the microphone. And I have the code to extract notes from a microphone via a FFT. Allowing for typing with say a guitar.
Extracting single notes works quite well. I haven't gotten around to test chords just yet, but I think I have the fundamentals there.
I'm a bit short on musical knowledge and instruments so so far I've only tested it with my voice (ugh), synthesized sounds and partially filled water bottles.
Also I have a suggestion for a graphical interface that would make the learning curve easier and making it language/alphabet independent.
Please reply to this comment if you are interested in integrating this.
- jackxbritton 8y agoBeen doing some pitch detection recently myself, but I went for an average magnitude difference function over an FFT. My understanding is that FFTs are a bit more intensive than autocorrelation-like solutions, but they work better with polytonal signals. Typing seems suited to single-tone instruments - did you consider using AMDF (or a similar function)?
- rijoja 8y agoTo be honest all of this is on the border of my knowledge horizon. No I've never heard of AMDF but I will check it out for sure. In the long run as I wrote I am aiming to support chords so that'll be necessery. Would AMDF make the response time quicker? For what purpose are you doing pitch detection?
- Adam13531 8y agoSounds like a fun project! RE: integration with what I did - I'm hoping to release the source code one day, then you'd most likely be free to use that code however you want (I'll probably MIT-license it). But as for my involvement, I'd like to be done with this project.