Giter Site home page Giter Site logo

mdfirman / citynet Goto Github PK

View Code? Open in Web Editor NEW
27.0 6.0 5.0 55.52 MB

A neural network classifier for urban soundscapes

Home Page: http://londonsounds.org/

Python 1.13% Jupyter Notebook 96.82% CSS 0.02% JavaScript 1.55% HTML 0.47% Shell 0.01%
neural-network audio-classification london ecology ecoacoustics soundscapes biodiversity deep-learning urban-ecology

citynet's Introduction

CityNet - a neural network for urban sounds

CityNet is a machine-learned system for estimating the level of biotic and anthropogenic sound at each moment in time in an audio file.

The system has been trained and validated on human-labelled audio files captured from green spaces around London.

CityNet comprises a neural network classifier, which operates on audio spectrograms to produce a measure of biotic or anthropogenic activity level.

More details of the method are available from the paper:

CityNet - Deep Learning Tools for Urban Ecoacoustic Assessment

Alison J Fairbrass, Michael Firman, Carol Williams, Gabriel J Brostow, Helena Titheridge and Kate E Jones

doi: https://doi.org/10.1101/248708

An overview of predictions of biotic and anthropogenic activity on recordings of London sounds can be seen at our website londonsounds.org.

Screenshot of urban sounds website

Requirements

The system has been tested using the dependencies in environment.yml. Our code works with python 3.

You can create an environment with all the dependencies installed using:

conda env create -f environment.yml -n citynet
conda activate citynet

How to classify a new audio file with CityNet

  • Run python demo.py to classify an example audio file.
  • Predictions should be saved in the folder demo.
  • Your newly-created file demo/prediction.pdf should look identical to the provided file demo/reference_prediction.pdf:

How to classify multiple audio files

You can run CityNet on a folder of audio files with:

python multi_predict.py path/to/audio/files

This will save summaries of what is found in each wav file found to prediction_summaries.csv.

Hardware requirements

For training and testing we used a 2GB NVIDIA GPU. The computation requirements for classification are pretty low though, so a GPU should not be required.

citynet's People

Contributors

arikkershenbaum avatar groakat avatar mdfirman avatar midafi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

citynet's Issues

Problems running on ultrasonic files

Had problems running code on files with a sampling rate of 384kHz, struggled to find where to change settings for this. It wouldn't analyse the lower frequencies. However had no issue with 48kHz files.

Theano version error (with fix)

Don't have any experience using Theano / Lasagne but I followed your dependency setup but still got an error relating to the version of Theano I was using.

I'm using WSL on Windows 10 running Anaconda with Python 2.7.13

Got it working by simply doing
pip install --upgrade https://github.com/theano/theano/archive/master.zip

Might be worth including this in the readme (if it's not just an issue specific to my setup!)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.