Skip to content

Latest commit

 

History

History
16 lines (16 loc) · 4.28 KB

README.md

File metadata and controls

16 lines (16 loc) · 4.28 KB

Inspiration

One morning our lead programmer was woken up in the middle of the night by fire alarms going off in his building. After this early morning wake up, he went to his Music and Technology class where a concept that stuck with him was introduced. The lesson for that day was on the idea that every sound has specific and unique frequencies and amplitudes for those frequencies. After thinking about it for awhile he remembered being woken up by the fire alarms and had an idea. "What if we could detect other dangerous things using Audio Classification?" From this and the opportunity of exploring this interest in HooHacks, came the idea for the DAD alarm or the Dangerous Audio Detection alarm

What it does

DAD is a safety system created to ensure quick and reliable information from Inputted Audio files. DAD gathers the unique information from those files and identifies weather the sound inside of it is a gunshot or not. From there it sends this information to a Network of DAD nodes which can be implemented across a wide area to help identify not only whether a Gunshot was detected, but also the location that gunshot originates from. Then showing that crucial information on an easily usable and understandable web interface.

How we built it

DAD is able to identify the important information out of sounds by using spectrograms and Fourier Transformation Data taken from those spectrograms. What Fourier Transformations do is allow us to identify the fundamental frequencies that make up a sound. From this we use a spectrogram to find the points in time where those frequencies had the highest amplitudes. This information is saved as an array of peak data that then is hashed and saved as a hashed value allowing for a single number to represent those peaks. Through this we are able to return weather a sound is a reference sound or not. To do all of this we chose to use Python. After finding this information it is then sent off using basic HTTP POST requests to communicate back with our network.

Challenges we ran into

One major challenge we ran into had to do with DAD's ability to recognize Audio, a process called Audio recognition. Ideally this would be done using a Machine Learning model which is able to pick up on patterns in a given training data set and predict outcomes based on newly given ones. Originally our first version of DAD for this project used a custom trained Machine Learning model which would be trained through a large data set of various possible urban sounds vs what would be positively identified as a gunshot. However, after creating one of these custom models ready to study audio, we realized the true scope of the data we were going to have it learn from. Because of this, there was no way to train this model to a point of reasonable accuracy in the 24 hour time span given. Due to this we opted for a more simple version which simply identifies if one file contains audio from a reference track. Another challenge was trying to use Twilio, although from the documentation it appears to be easy to use and implement for simple notification sending, there was an issue regarding sms/mms notification regulations preventing us from quickly in the 24 hour time span getting the needed requirements to us Twilio.

Accomplishments that we're proud of

Although we did come away disappointed in the lack of an machine learning model for DAD, we came away happy with the implementation of our node network which is able to effectively display information gathered from any DAD node.

What we learned

From this project we learned a lot about not only Audio Processing and Classification, but also about what really goes into developing front and back end applications.

What's next for Dangerous Audio Detection (DAD)

What's next for DAD is a lot of learning. Although there was a ML model created, this was made without major experience in Machine Learning. Some major future steps in not only improving DAD but furthering our knowledge as developers, would include fine tuning an ML model against even more audio data which could then very accurately classify audio. Also adding Twilio sms/mms notification features. ##Track Submission The track submission we are apply for is Data Science by Costar. We fall under this category as DAD studies patterns in audio data to predict if a gunshot was detected or not.