Soundbay

An intuitive and comprehensive Python-based framework for training deep learning models and apply them in bioacoustic research.
https://github.com/deep-voice/soundbay

Category: Biosphere
Sub Category: Marine Life and Fishery

Last synced: about 2 hours ago
JSON representation

Repository metadata

Deep Learning Framework for Bioacoustics

README.md

Deep Learning Framework for Bioacoustics

Soundbay is an intuitive and comprehensive Python-based framework for training deep learning models and apply them in bioacoustic research. We focus our efforts on marine mammals communication, however, we believe the framework is applicable to a broader scope.

Installation

Before installing, please verify you have a working Python environment, with pytorch, torchvision and torchaudio installed according to your local hardware.
More info on installing pytorch, torchaudio and torchvision can be found in the guide.
Make sure to use python 3.8-3.12 (as of mid-2025 python 3.13 can cause dependency issues)

git clone https://github.com/deep-voice/soundbay
cd soundbay

Installation of the packages:

pip install -e .

Or

pip install -r requirements.txt

sox is also required and can be installed using:

sudo apt update
sudo apt install sox

Usage

Experiment management philosophy

The framework utilizes Hydra package for configuration and experiments management, we highly encourage you to refer their tutorials
We provide modular recipes inside conf to run experiments and to reproduce well established algorithms.
We have three levels of parameters control:

  • run-summarizing config files
  • parameters groups, represented by a row in the defaults of the config file
  • the lowest level of parameters, detailed in the parameter group config file.

Each row in a run configuration file calls a (hopefully) stand-alone group of parameters which can be switched to another one easily, enabling us to run many different experiments without boilerplate.

Data structure

Path to the datafolder should be passed as an argument for training. The data folder or subfolders should contain .wav files.
A .csv file should accompany the data, serve as metadata from which the training pipeline takes samples with their corresponding labels.
A toy example is available for data and the respective annotations

Training Example

Running train and inference commands are done from src.
Run the following command for a toy problem training:

python soundbay/train.py

The toy run uses the default configuration with its default parameters.
Parameters overriding and config file changes are available, please refer Hydra tutorial for more details.
For example,

python soundbay/train.py --config-name runs/main_unit_norm data.batch_size=8 +data.optim=jasco_vgg_19 experiment.manual_seed=4321

Runs training with a config file under conf/runs/main_unit_norm, overriding the batch_size parameter in data, manual_seed in experiment, and the group parameter optim with jasco_vgg_19 instead of the default.

inference Example

To run the predictions of the model on a single audio file use the inference script:

python soundbay/inference.py --config-name runs/inference_single_audio experiment.checkpoint.path=<PATH/TO/MODEL> data.test_dataset.file_path=<PATH/TO/FILE>

To run the predictions of the model on a labeled test partition use:

python soundbay/inference.py --config-name runs/main_inference experiment.checkpoint.path=<PATH/TO/MODEL> data.test_dataset.data_path=<PATH/TO/DATA> data.test_dataset.metadata_path=<PATH/TO/METADATA> 

License

This library is licensed under the GNU Affero General Public License v3.0 License.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 971
Total Committers: 21
Avg Commits per committer: 46.238
Development Distribution Score (DDS): 0.728

Commits in past year: 18
Committers in past year: 5
Avg Commits per committer in past year: 3.6
Development Distribution Score (DDS) in past year: 0.667

Name Email Commits
z30g0d z****d@g****m 264
Noam Bressler n****r@g****m 156
mosheman5 m****5@g****m 149
amitgalor18 a****8@g****m 111
moshe m****e@d****i 81
deepvoicemachine i****o@d****m 63
rafaelsul123 r****3@g****m 34
noa-weiss n****s@g****m 30
ilank i****v@g****m 22
Tomer Nahshon t****r@g****m 10
shaing10 5****0 10
Danielle Hausler 7****r 7
DorBernsohn d****n@g****m 7
asafmazuz a****z@h****m 6
uvmend u****d@g****m 6
Ohad Zohar o****d@d****i 4
Oz Kilim o****m@h****k 4
Ubuntu u****u@i****l 2
Shai NG 9****y 2
yogevmatalon y****n@g****m 2
Shaked Hiba s****1@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 5 days ago

Total issues: 1
Total pull requests: 39
Average time to close issues: 9 minutes
Average time to close pull requests: 23 days
Total issue authors: 1
Total pull request authors: 8
Average comments per issue: 0.0
Average comments per pull request: 0.38
Merged pull request: 28
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 9
Past year average time to close issues: N/A
Past year average time to close pull requests: 7 days
Past year issue authors: 0
Past year pull request authors: 6
Past year average comments per issue: 0
Past year average comments per pull request: 0.33
Past year merged pull request: 4
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/deep-voice/soundbay

Top Issue Authors

  • shaing10 (1)

Top Pull Request Authors

  • danielle-hausler (9)
  • Z30G0D (8)
  • shaing10 (8)
  • mosheman5 (8)
  • DorBernsohn (2)
  • amitgalor18 (2)
  • uvmend (1)
  • shakediel (1)

Top Issue Labels

Top Pull Request Labels

  • ci-test (31)
  • enhancement (2)
  • bug (1)

Dependencies

requirements.txt pypi
  • PyQt5 >=5.14.0
  • beautifulsoup4 >=4.9.1
  • boto3 >=1.20.0
  • future-fstrings >=1.0.0
  • hydra-core ==1.0.6
  • joblib >=1.0.0
  • librosa >=0.7.0
  • lxml >=4.4.0
  • matplotlib >=2.0.0
  • numba >=0.54.0
  • numpy <1.21.0
  • omegaconf >=2.0.0
  • pandas >=1.0.3
  • pytest >=5.4.1
  • scikit-learn >=0.22.1
  • soundfile >=0.10.2
  • tqdm >=4.0.0
  • wandb >=0.12.0

Score: 6.70808408385307