A deep learning-based marine sound classification system built using CNN and Streamlit.
This project classifies underwater audio into whale, ship, dolphin, or unknown using spectrogram-based learning.
Designed to handle real-world noisy ocean environments with robust unknown detection.
- 🎧 Upload or record audio directly in UI
- 🧠 CNN-based classification using Mel Spectrograms
- ⚖️ Confidence-based Unknown detection
- 🔍 Chunk-wise prediction for better accuracy
- 📊 Probability breakdown for each class
- Architecture: Custom CNN with BatchNorm, Dropout & Global Average Pooling
- Input: Log Mel Spectrograms (128 × 60)
- Classes:
- Whale 🐋
- Ship 🚢
- Dolphin 🐬
- Unknown ❓
- Loss: Weighted CrossEntropy (reduced bias toward unknown)
- Python 🐍
- PyTorch 🔥
- Librosa 🎶
- Streamlit 🌐
- NumPy
│ ├── app.py ├── marine_model.pth ├── requirements.txt ├── demo.png │ ├── models/ ├── preprocessing/ ├── data/
- High accuracy on ships and dolphins
- Improved whale detection after preprocessing tuning
- Stable unknown classification using confidence-based logic
pip install -r requirements.txt
streamlit run app.py