I have to develop an app, where I must listen to sound using microphone. And whenever smoke alarm sound is detected, then the app must notify users that there is fire alarm. For that I am contemplating two possible solutions
1:) Convert smoke alarm sound to text using Speech To Text recognizer and store that text. And in the next time whenever the smoke alarm sound is received, the same Speech To Text recognizer converts it to the relevant text and if that text matches the stored text, then I assume it is alarm sound.
2:) Store the alarm sound and match the recorded sound wave to the store sound by comparing waveform. This is just my assumption as I am not expert in these areas.
So far,I have gathered that this technique of sound matching is done by audio fingerprinting
i.e. each audio has a distinct fingerprint and if we are able to match the fingerprints of two audio ,then they are considered as identical.
For that I have recently found following links
http://www.royvanrijn.com/blog/2010/06/creating-shazam-in-java/
http://masl.cis.gvsu.edu/2012/01/25/android-echoprint/
https://code.google.com/p/musicg/
which seems closer to my problem's solution.I am still trying to grasp all these,but any help from you all will be widely appreciated.