i want to compare two simple tunes played on piano. the idea is an educative musical challenge type app. for example the app would present the user with a stave of music,say a simple melody of 5 seconds. the user must then recite the melody and if its a close enough match they win, if not they loose. im simplifying things here but i hope its clear what i want to achieve, is there some kind of sdk i 开发者_运维技巧could look into?
I'm not aware of a SDK for comparing sound like you need. It's going to be hard to find one for Java. You'd probably have to write something on your own and it doesn't sound trivial from what I've read. You might be able to find something you can call out to from Java though, like pHash that has Java bindings.
See these questions:
- Audio fingerprinting library (java)
- Audio fingerprinting system in Java
- Comparing sound files if not completely identical
These links might also be useful:
- Acoustic fingerprint
- How Shazam Works
Java provides you with its Sound API's, take advantage of it; Have a look at SoundAPI. Before going to the details of this API's, better run the sample demo(found in this link) and look whether it can help you.
Let me know if I have misunderstood your question.
MusicG, it is very cool Java library especially for Acoustic fingerprinting. I have used it in my past project.
http://code.google.com/p/musicg/
精彩评论