Skip to content
This repository was archived by the owner on Nov 11, 2025. It is now read-only.

johnpgliebe/whale_call

Repository files navigation

Bioaccoustic Classification of Marine Mammals

This work sample was my final project for the CSCI-E63 "Big Data" course at the Harvard Extension School and was completed over a span of three weeks (nights and weekends). The assignment was to develop a tutorial-like demonstration of a particular technology or area of application. I wanted to develop an artificial neural network classifier and apply it to a problem area in the natural sciences. I chose this subject area based on my interests in marine mammals and accoustics. Although the application found here is limited to classify the calls of 6 species of baleen whales, I had proposed the title originally thinking I might also classify the calls of other types of marine mammals, but reduced the scope for tractability.

image

Despite a small sample size due to the course submission limits, the results shown in the IPYNB are quite good, and would be even better with larger samples. Computation of the final submission was performed on an Amazon Web Services P2xlarge server with CUDA 9.

Two code contributions may be found here:

1. SplitWav.py

is used to create the training and testing data sets from pairs of .wav files and their accompanying text files. The text files contain scientist-annotated start and end times for the occurrence of whale calls for the corresponding .wav file. Each .wav file may be several minutes (up to an hour) in length, and there are long intervals of "noise" in between the labeled calls.

2. Marine_Mammal_Sound_Classification_NN.ipynb

is a backpropagation neural network (NN) classifier written in a Python implementation of TensorFlow. The architecture of the NN is described in the Jupyter Notebook. It makes extensive use of the Librosa library for extracting features from audio files, and Matplotlib for plotting spectrograms.

About

A demo using a neural network to classify whale species based on sounds

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published