Inspiration
Every safety app assumes you can reach and unlock your phone however that is not true if you're being followed, surprised, or incapacitated. ScreamGuard removes that manual step: it's a hands-free acoustic monitor that listens for distress and can alert others automatically.
What it does
ScreamGuard listens to audio and flags an emergency only when volume, pitch, and suddenness thresholds all cross together, which then reduces false alarms from any single loud or sharp sound. On detection: pulls live GPS, renders it on a map, generates an alert message, and logs the incident to a separate security dashboard with CSV export.
How I built it
- DSP: librosa → RMS energy, spectral centroid, zero-crossing rate
- Noise suppression: STFT spectral subtraction, noise profile estimated per-clip
- Detection: tri-threshold logic — all three signals must agree, not just one
- Visualization: mel-spectrogram + waveform derivative to surface transient spikes
- Geolocation: browser Geolocation API + PyDeck, with GPS-denied fallback
- Dual view: user monitor + security dashboard (incident log, CSV export)
Challenges I ran into
Tuning three thresholds to not fire on textbook drops or laughter; getting spectral subtraction to denoise without distorting signal.
Accomplishments that I'm proud of
Solo, sub-10-hour build. A real anti-false-positive design (tri-signal, not single-threshold), not just a checkbox feature. GPS with a working no-permission fallback so the demo never breaks.
What I learned
- Incorporating the derivative plot and finding the rate of change across the frequency over time.
- How to make a spectrogram plot using Short-Time Fourier Transform
- The formulas for Zero-Crossing Rate (Noise Turbulence), Spectral Centroid (Frequency Pitch Baricenter), and Root Mean Square (RMS) Energy (Volume).
What's next for ScreamGuard
Trained classifier on real labeled audio, not synthetic tones. Feed the derivative signal into detection itself, not just the visualization.
Log in or sign up for Devpost to join the conversation.