All Projects → m-kortas → Sound-based-bird-species-detection

m-kortas / Sound-based-bird-species-detection

Licence: other
Sound-based Bird Classification - using AI, acoustics and ornithology to classify birds in the environment, an environmental awareness project (Web Application, Flask, Python)

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to Sound-based-bird-species-detection

sonopy
A simple audio feature extraction library
Stars: ✭ 72 (+28.57%)
Mutual labels:  sound, spectrogram, audio-processing
gensound
Pythonic audio processing and generation framework
Stars: ✭ 69 (+23.21%)
Mutual labels:  sound, audio-processing
Triton
🐳 Scripps Whale Acoustics Lab 🌎 Scripps Acoustic Ecology Lab - Triton with remoras in development
Stars: ✭ 25 (-55.36%)
Mutual labels:  sound, audio-processing
SpleeterRT
Real time monaural source separation base on fully convolutional neural network operates on Time-frequency domain.
Stars: ✭ 111 (+98.21%)
Mutual labels:  spectrogram, audio-processing
Spectrographic
Turn an image into sound whose spectrogram looks like the image.
Stars: ✭ 147 (+162.5%)
Mutual labels:  sound, audio-processing
UnitySoundManager
Sound manager with 3 tracks, language system, pooling system, Fade in/out effects, EventTrigger system and more.
Stars: ✭ 55 (-1.79%)
Mutual labels:  sound, audio-processing
Audio cat dog classification
Classification of WAV files from cats and dogs
Stars: ✭ 16 (-71.43%)
Mutual labels:  sound, audio-processing
pydiogment
📣 Python library for audio augmentation
Stars: ✭ 64 (+14.29%)
Mutual labels:  sound, audio-processing
Linux Audio Adjustments
Audio Tweaks for Debian Based RPi
Stars: ✭ 140 (+150%)
Mutual labels:  sound, audio-processing
Img Encode
Encode an image to sound and view it as a spectrogram - turn your images into music
Stars: ✭ 157 (+180.36%)
Mutual labels:  sound, audio-processing
GIMLeT
GIMLeT – Gestural Interaction Machine Learning Toolkit
Stars: ✭ 33 (-41.07%)
Mutual labels:  sound
diy-synths
List of open-source synths 🎹
Stars: ✭ 56 (+0%)
Mutual labels:  sound
DDSoundWave
根据语音绘制波浪动画
Stars: ✭ 16 (-71.43%)
Mutual labels:  sound
Shape-Your-Music
A web application for drawing music.
Stars: ✭ 106 (+89.29%)
Mutual labels:  sound
Spec ResNet
Spectrogram is selected as preprocessing feature of audio clips and a feature representation method based on deep residual network (Spec-ResNet) is proposed to detect audio steganography.
Stars: ✭ 21 (-62.5%)
Mutual labels:  spectrogram
garrysmod-chatsounds
Community Uploaded Ingame Chat Reaction Sounds
Stars: ✭ 68 (+21.43%)
Mutual labels:  sound
sonant-x-live
Tracker web application to compose music in a brower
Stars: ✭ 82 (+46.43%)
Mutual labels:  sound
FluX
A convenient way of processing digital signals in F#
Stars: ✭ 17 (-69.64%)
Mutual labels:  audio-processing
android-vad
This VAD library can process audio in real-time utilizing GMM which helps identify presence of human speech in an audio sample that contains a mixture of speech and noise.
Stars: ✭ 64 (+14.29%)
Mutual labels:  audio-processing
MusicVisualizer
A music visualizer based on the ATMEGA328P-AU
Stars: ✭ 30 (-46.43%)
Mutual labels:  audio-processing

Sound-based bird recognition Web Application

About the project

The project, created in 2020 by a group of women from the local Polish chapter of Women in Machine Learning & Data Science (WiMLDS), was designed to be a training project & collaboration on a real-life problem which machine learning can help to solve.

The web application has been developed by Magdalena Kortas (backend - Deep Learning, Python and Flask) and Aleksandra Zachariasz (frontend - Flask, CSS, JS, HTML5 and graphic design).

Are you curious about how the AI solution has been built? Check our Medium article.

Data download

Analysis and modelling of Polish birds songs. Recordings were downloaded from the

  • xeno-canto.org which is a website dedicated to sharing bird sounds from all over the world (480k, September 2019).

Data can be dowloaded using this jupyter notebook file .

Bird have high interspecies variance - same bird species singing in different countries might sound completely different. We searched for 33 classes of birds, but we used it only if there was over 50 recording per class, we used it for our training. In total, we provide experiments with two ways:

1) for 19 classes of birds - recorded in Poland, Germany, Slovakia, Czech and Lithuania.

  • 1 . Found 418 files for Parusmajor ( 1 )
  • 2 . Found 59 files for Passerdomesticus ( 3 )
  • 3 . Found 107 files for Luscinialuscinia ( 4 )
  • 4 . Found 111 files for Phoenicurusphoenicurus ( 7 )
  • 5 . Found 446 files for Erithacusrubecula ( 8 )
  • 6 . Found 80 files for Phoenicurusochruros ( 10 )
  • 7 . Found 134 files for Sittaeuropaea ( 16 )
  • 8 . Found 105 files for Alaudaarvensis ( 17 )
  • 9 . Found 216 files for Phylloscopustrochilus ( 19 )
  • 10 . Found 564 files for Turdusphilomelos ( 21 )
  • 11 . Found 314 files for Phylloscopuscollybita ( 22 )
  • 12 . Found 365 files for Fringillacoelebs ( 23 )
  • 13 . Found 65 files for Sturnusvulgaris ( 24 )
  • 14 . Found 329 files for Emberizacitrinella ( 25 )
  • 15 . Found 58 files for Columbapalumbus ( 26 )
  • 16 . Found 204 files for Troglodytestroglodytes ( 27 )
  • 17 . Found 53 files for Cardueliscarduelis ( 30 )
  • 18 . Found 97 files for Chlorischloris ( 31 )
  • 19 . Found 667 files for Turdusmerula ( 33 )

2) for 27 classes - recorded worldwide

Data preprocessing

The data should be prepared. Each song is cut into 5 second recordings and preprocessed into melspectrograms. The purpose is to normalize dataset to have same size along the whole dataset in one run, and to denoise recordings. Morover, the data is filtered with a high-pass filter. Data can be preprocessed using this jupyter notebook file .

Dataset split

This file divides our dataset into train, validation and test set in ratio 8:1:1. We can't use preprogrammed functions to do that, because we have divided each of our files into other smallers (i.e. one sound to six images). Putting images made out of same mp3 file might lead to the data leakage and make our results not trustworthy and biased.

Training

We approached the problem of song classification with Convolutional Neural Networks. We have tested it with:

  • Xception
  • MobileNets
  • EfficientNets
  • Handcrafted CNN's
  • Other
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].