DeepSS
Project description
DeepSS
DeepSS is a method for automatically annotating song from raw audio recordings based on a deep neural network. DeepSS can be used with a graphical user interface, from the terminal or from with in python scripts.
If you have questions, feedback, or find bugs please raise in issue.
Installation
Pre-requisites
Anaconda: DeepSS is installed using an anaconda environment. For that, first install the anaconda python distribution (or miniconda).
CUDA libraries for using the GPU: While DeepSS works well for annotating song using CPUs, GPUs will greatly improve annotation speed and are in particular recommended for training a DeepSS network. The network is implement in the deep-learning framework Tensorflow. To make sure that Tensorflow can utilize the GPU, the required CUDA libraries need to be installed. See the tensorflow docs for details.
Libsoundfile on linux: The graphical user interface (GUI) reads audio data using soundfile, which relies on libsndfile
. libsndfile
will be automatically installed on Windows and macOS. On Linux, the library needs to be installed manually with: sudo apt-get install libsndfile1
. Note that DeepSS will work w/o libsndfile
but will only be able to load more unusual audio file formats.
Install DeepSS with or without the GUI
Create an anaconda environment called deepss
that contains all the required packages, including the GUI:
conda env create -f https://raw.githubusercontent.com/janclemenslab/deepsongsegmenter/master/env/deepss_gui.yml -n dss
If you do not need require the graphical user interface dss-gui
(for instance, for training DeepSS on a server), install the plain version:
conda env create -f https://raw.githubusercontent.com/janclemenslab/deepsongsegmenter/master/env/deepss_plain.yml -n dss
Usage
To start the graphical user interface:
conda activate dss
dss gui
The documentation at [https://janclemenslab.org/deepss/] provides for information on the usage of DeepSS:
- A quick start tutorial that walks through all steps from manually annotating song, over training a network, to generating new annotations.
- How to use graphical user interface.
- How to use DeepSS from the terminal or python scripts.
Acknowledgements
The following packages were modified and integrated into dss:
- Keras implementation of TCN models modified from keras-tcn (in
dss.tcn
) - Trainable STFT layer implementation modified from kapre (in
dss.kapre
)
See the sub-module directories for the original READMEs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.