-A sound analysis program written in java for the motorola i265 phone.
-This program will record different siren/alarm sounds, create an acoustic fingerprint for each unique alarm sound, and use these fingerprints to recognize the presence of that sound in the future.
-Minimal user interaction desired and the program will run at all times.
-User will select a category (intrusion, fire, medical emergency, or other) by pressing button 1, 2, 3, or 4. The phone will beep once.
-Within 10 seconds the user will activate the corresponding siren.
-The program then listens for any noise above 65dB, indicating the presence of the siren, and begins recording for 5 seconds.
-The 5 second sample is used to make the fingerprint (based off the unique frequencies, volumes, and their relation to each other).
-When the fingerprint successfully has been generated it is stored in the category previously selected (1,2,3, or 4) and the phone beeps again once.
-the user may now record another siren in that same category or a different category by pressing 1,2,3, or 4.
-up to 3 unique fingerprints may be stored in each category. (total of 12 fingerprints)
-buttons 5,6,7, and 8 will delete the contents of categories 1,2,3, and 4 respectively. When one of these buttons is pushed the phone should beep 3 times.
-if the user presses a button who's category is full (already has 3 stored fingerprints), the phone will beep twice indicating that category is full.
-after the user has completed entering sirens into their categories the program continues to run in "listening mode"
-in "listening mode" any sound exceeding 65dB will activate the program and it will start recording for 5 seconds. The program makes a fingerprint of the sound and then compares it to the already stored fingerprints.
-if there is a match (within a certain degree of variance) the program will send a text message indicating which category's fingerprint has been detected (1 or intrusion, 2 or fire, 3 or medical emergency, 4 or other).
Minimalist style. I need absolutely nothing as far as what the user will see. The user only needs to hear one beep, two beeps, or three beeps. I just need the program to be simple, smooth, and fast.
There are various logarithms and formulas available online to calculate the frequency and dB of the sound. There is even some ok freeware. Google sound analysis or digital sound analysis.
Most importantly is that I need a fingerprint that will be unique enough to differentiate itself from similar sounds, but have enough variance to recognize itself when the sound is present again. The program may need to eliminate white noise or other possible sounds (i.e. - People talking or yelling, babies crying, the sound of fire, windows breaking, etc.)
Also, the phone will be completely stationary at all times, therefore the frequencies and volumes of the sirens recorded should be almost exactly the same at all times because the alarm/siren devices will be at the same distance at all times.
Time frame: 1-2 weeks, but the sooner the better.