A modern web application for real-time bird species classification from audio recordings using deep learning models.
- Upload and process audio files (supports .wav, .mp3, and .flac formats)
- Multiple pre-trained models to choose from:
- MobileNetV2-based models (Chroma and CQT variants)
- VGG16-based models (Chroma and CQT variants)
- Real-time audio feature visualization:
- Mel Spectrogram
- Constant-Q Transform (CQT)
- Mel-frequency Cepstral Coefficients (MFCC)
- Chromagram
- Window-based prediction system for temporal analysis
- Responsive and intuitive user interface
- Efficient processing with background noise handling
The system can classify 21 different categories including:
- Acrocephalus arundinaceus
- Acrocephalus melanopogon
- Acrocephalus scirpaceus
- Alcedo atthis
- Anas platyrhynchos
- And many more...
- Clone the repository:
git clone https://github.com/yourusername/bird-species-classifier.git
cd bird-species-classifier
- Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the required packages:
pip install flask numpy pandas librosa matplotlib seaborn tensorflow scikit-learn flask-session
- Create the necessary directories:
mkdir uploads
mkdir static/css
mkdir static/js
mkdir templates
mkdir models
- Place your trained models in the
models
directory with the following naming convention:
- ChromaMNV21.keras
- ChromaMNV22.keras
- CQTMNV23.keras
- CQTMNV24.keras
- ChromaVGG1.keras
- ChromaVGG2.keras
- CQTVGG3.keras
- CQTVGG4.keras
- Start the Flask application:
python app.py
-
Open your web browser and navigate to
http://localhost:5000
-
Upload an audio file and select a model for classification
-
View the predictions and analyze the audio features for each time window
- Flask web framework
- TensorFlow for model inference
- Librosa for audio processing
- NumPy and Pandas for data handling
- Matplotlib for feature visualization
- Pure HTML, CSS, and JavaScript
- Responsive design with modern UI components
- Real-time feature visualization
- Interactive window selection
bird-species-classifier/
├── app.py # Flask application
├── static/
│ ├── css/
│ │ └── test.css # Styles
│ └── js/
│ └── trial.js # Frontend logic
├── templates/
│ └── index.html # Main page template
├── models/ # Trained models
└── uploads/ # Temporary file storage
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors and testers
- Bird sound datasets providers
- Deep learning model architecture developers