Inspiration

Home security has always been a crucial issue that can be improved. While there are security cameras that can also record noises, Noise Alerter makes detecting unusual noises much more efficient and accessible.

What it does

Noise Alerter alerts the user of any loud noises in their home while they’re away, and allows them to listen to short clips of the noises as the app refreshes in real time. It requires two devices, one that you leave at home and one that you bring with you when you leave the house. The device at home detects noises louder than a certain threshold and then records a 10-second clip of the noise that can then be listened to immediately on any device.

How we built it

I coded this app entirely from scratch using Java in Android Studio. After detecting a loud sound, the device at home uploads a short audio file to Firebase Storage, which I then use to download files on the other device. I had an AlerterData class, which contains a string of the date, time, and file path. This is then used in my ListItem class, which displays all of the files at the bottom of the screen and handles the play and pause buttons. The Button class was used for the home or away button at the top of the screen. Finally, the bulk of the code is in MainView, where I drew everything onto the canvas, did all of the recording, and uploaded to and downloaded files from Firebase storage.

Challenges we ran into

There were a lot of bugs I had to fix when I tried to implement the MediaRecorder and MediaPlayer, due to issues with starting and stopping them. It was also challenging to upload and download files from Firebase, as this was my first time using Firebase.

Accomplishments that we're proud of

I’m proud that I was able to create a completely working app within the time frame, and it was especially rewarding when I finally got the download from Firebase to work.

What we learned

I learned a lot about using Firebase with Android apps, as well as how to record and play audio files using Java.

What's next for Noise Alerter

I want to enhance the app's capabilities by utilizing audio signal processing and machine learning to implement sound classification.

Share this project:

Updates