https://github.com/basharovv/whatsound
Neural network for classifying audio samples into categories. This was my BSc final year project.
https://github.com/basharovv/whatsound
audio-processing classification essentia extraction music neural-network pybrain
Last synced: 10 months ago
JSON representation
Neural network for classifying audio samples into categories. This was my BSc final year project.
- Host: GitHub
- URL: https://github.com/basharovv/whatsound
- Owner: basharovV
- Created: 2015-10-01T11:47:07.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-12-02T23:13:26.000Z (over 7 years ago)
- Last Synced: 2025-07-13T07:37:11.574Z (11 months ago)
- Topics: audio-processing, classification, essentia, extraction, music, neural-network, pybrain
- Language: Python
- Homepage:
- Size: 29.6 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# whatsound - a Python ML toolkit for audio classification
*whatsound* is a toolkit for training, and testing audio classification using a neural network.
- Music
- Speech
- Ambient/Noise
- Silence
This toolkit uses [Essentia](http://essentia.upf.edu/documentation/) for audio feature extraction, and [PyBrain](http://pybrain.org/) for the use of a backpropagation neural network for the training and testing of classification.
## How it works
### WS_classify.py
This is the toolkit for classification, which exposes the main classification functionality.
## Source modules
The project is split into modules fit for different purposes.
### /core
These modules are needed for audio training and classification.
#### WS_extractor.py
Extracts audio features from a stream. The [Essentia](http://essentia.upf.edu/documentation/) library is used for audio analysis.
The features which are used for extraction are:
- MFCC
- Zero crossing rate
- Key strength
- Spectral Flux
- Pitch strength
- LPC
#### WS_utils.py
Utility functions
#### WS_global_data.py
These are global parameters - settings for the neural net, training parameters, audio settings and classifier types.
#### WS_network.py
This module allows training and testing of a data set, with optional the following parameters:
- `weights` : the path to a PyBrain weights XML file
- `dataset`: the path to a directory containing audio samples split by class
- `split`: the ratio with which to split the data set between training/testing