Hi guys, I wanna build an app that works by detecting the musical note a person makes with his/her voice. Basically a "How well do you sing?" kinda thing. I have no idea if the iPhone OS includes an API for that, but I'm guessing it doesn't. Do you know of any open source code that I could use for that purpose? Thanks!
@Firestar Will do. @wootbean If I end up creating a thread like that, you have full permission to verbally kick my ass. Any further help will be welcome. Thanks!
I can't seem to dig up any iPhone specific libs but what you're probably looking for here is a fast fourier transform library. A FFT will let you take audio samples and transform them from time-domain into frequency-domain, and then finding the overall pitch is basically just sorting the values to find the dominant frequencies. There are a few open source libraries out there in C and C++, and it would likely just be a matter of porting the code to the iPhone. You may also be able to find an Audio Unit that could be made to work. Performance may be an issue, though, so you'll want to be sure to find a reasonably efficient one.
Pitch detection Measuring pitch robustly is a lot harder than just looking into the FFT. Our company has 12 years of music analysis research background and has most likely the best available solution for the problem. We are thinking of putting it out as a Cocoa touch library. Drop us a mail at [email protected] if you are intersested of licensing. Would also be benefitial to know what would be an appropriate price point for you. Yours, Teemu Karjalainen Managing Director Wavesum Oy
My hobby is embedded speech synthesis and speech analysis (see http://www.speechchips.com) so I'm aware of just how involved meaningful pitch detection is. Having a cocoa touch library would be helpful. As far as licensing goes, perhaps you could consider a no cost/small fee developer license that would allow people to evaluate and develop with the library. Once the app is ready for the appStore, the develop would then need to pay a license fee based on the size of the company. Small developers with revenue under $100k might have to pay $100-$200 while larger, established companies would have a higher license fee ($1000-$5000). I realize that your library represents a lot of work and it could be possible to license it for $10k for each use but that would leave out all but the largest developers. The approach above would be useful to you to get it out on the app store and gain recognition which could lead to other business relationships. Thanks.