{"id":352728,"name":"Soundbay","description":"An intuitive and comprehensive Python-based framework for training deep learning models and apply them in bioacoustic research.","url":"https://github.com/deep-voice/soundbay","last_synced_at":"2026-05-19T09:30:22.269Z","repository":{"id":37513126,"uuid":"347755290","full_name":"deep-voice/soundbay","owner":"deep-voice","description":"Deep Learning Framework for Bioacoustics","archived":false,"fork":false,"pushed_at":"2026-04-29T20:01:37.000Z","size":104615,"stargazers_count":32,"open_issues_count":7,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-05-02T01:02:13.797Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deep-voice.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-14T21:11:31.000Z","updated_at":"2026-04-29T19:56:41.000Z","dependencies_parsed_at":"2023-02-19T01:45:59.951Z","dependency_job_id":"9dddabd8-2e7e-40e3-91ac-01709356f0ed","html_url":"https://github.com/deep-voice/soundbay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deep-voice/soundbay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deep-voice","download_url":"https://codeload.github.com/deep-voice/soundbay/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32926039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"online","status_checked_at":"2026-05-12T02:00:06.338Z","response_time":102,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"deep-voice","name":"deep-voice","uuid":"80794249","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/80794249?v=4","repositories_count":1,"last_synced_at":"2023-03-05T06:03:14.818Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/deep-voice","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T07:08:57.934Z","updated_at":"2023-03-05T06:03:14.820Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deep-voice","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deep-voice/repositories"},"packages":[],"commits":{"id":11726146,"full_name":"deep-voice/soundbay","default_branch":"master","total_commits":971,"total_committers":21,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":46.23809523809524,"dds":0.7281153450051494,"past_year_total_commits":18,"past_year_total_committers":5,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.6,"past_year_dds":0.6666666666666667,"last_synced_at":"2026-05-16T08:01:42.790Z","last_synced_commit":"5fdac3ca958a1da2032cbd35e71e143c11239e5f","created_at":"2026-04-24T13:26:28.717Z","updated_at":"2026-05-16T08:01:37.966Z","committers":[{"name":"z30g0d","email":"zeogod@gmail.com","login":"Z30G0D","count":264},{"name":"Noam Bressler","email":"noamzbr@gmail.com","login":"noamzbr","count":156},{"name":"mosheman5","email":"mosheman5@gmail.com","login":"mosheman5","count":149},{"name":"amitgalor18","email":"amitgalor18@gmail.com","login":"amitgalor18","count":111},{"name":"moshe","email":"moshe@deepdub.ai","login":"moshedeep","count":81},{"name":"deepvoicemachine","email":"info@deepvoicefoundation.com","login":"deepvoicemachine","count":63},{"name":"rafaelsul123","email":"rafaelsul123@gmail.com","login":"rafaelsul123","count":34},{"name":"noa-weiss","email":"noaweiss@gmail.com","login":"noa-weiss","count":30},{"name":"ilank","email":"ilankozlov@gmail.com","login":"Ilank1","count":22},{"name":"Tomer Nahshon","email":"tomer@get-grin.com","login":"tomer-grin","count":10},{"name":"shaing10","email":"58989637+shaing10","login":"shaing10","count":10},{"name":"Danielle Hausler","email":"74451897+danielle-hausler","login":"danielle-hausler","count":7},{"name":"DorBernsohn","email":"dor.bernsohn@gmail.com","login":"DorBernsohn","count":7},{"name":"asafmazuz","email":"asafmazuz@hotmail.com","login":"AsafMazuz","count":6},{"name":"uvmend","email":"uvmend@gmail.com","login":"uvmend","count":6},{"name":"Ohad Zohar","email":"ohad@deepdub.ai","login":"ohad-deepdub","count":4},{"name":"Oz Kilim","email":"ozkilim@hotmail.co.uk","login":"ozkilim","count":4},{"name":"Ubuntu","email":"ubuntu@ip-172-31-21-28.ec2.internal","login":null,"count":2},{"name":"Shai NG","email":"96973571+sngImagry","login":"sngImagry","count":2},{"name":"yogevmatalon","email":"yogevmatalon@gmail.com","login":"yogevmatalon","count":2},{"name":"Shaked Hiba","email":"shaked921@gmail.com","login":"shakediel","count":1}],"past_year_committers":[{"name":"uvmend","email":"uvmend@gmail.com","login":"uvmend","count":6},{"name":"amitgalor18","email":"amitgalor18@gmail.com","login":"amitgalor18","count":5},{"name":"Tomer Nahshon","email":"33577556+Z30G0D","login":"Z30G0D","count":4},{"name":"shaing10","email":"10shai.ng@gmail.com","login":"shaing10","count":2},{"name":"deepvoicemachine","email":"info@deepvoicefoundation.com","login":"deepvoicemachine","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-18T00:00:12.307Z","repositories_count":6236430,"commits_count":885014961,"contributors_count":34917877,"owners_count":1154552,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"deep-voice/soundbay","html_url":"https://github.com/deep-voice/soundbay","last_synced_at":"2026-05-14T07:00:35.261Z","status":"active","issues_count":1,"pull_requests_count":39,"avg_time_to_close_issue":528.0,"avg_time_to_close_pull_request":1977131.3,"issues_closed_count":1,"pull_requests_closed_count":30,"pull_request_authors_count":8,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.38461538461538464,"merged_pull_requests_count":28,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":627935.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"created_at":"2025-08-29T11:48:45.490Z","updated_at":"2026-05-14T07:00:35.268Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/deep-voice%2Fsoundbay/issues","issue_labels_count":{},"pull_request_labels_count":{"ci-test":31,"enhancement":2,"bug":1},"issue_author_associations_count":{"COLLABORATOR":1},"pull_request_author_associations_count":{"COLLABORATOR":39},"issue_authors":{"shaing10":1},"pull_request_authors":{"danielle-hausler":9,"Z30G0D":8,"shaing10":8,"mosheman5":8,"DorBernsohn":2,"amitgalor18":2,"uvmend":1,"shakediel":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-16T00:00:24.458Z","repositories_count":14612732,"issues_count":34201565,"pull_requests_count":112019098,"authors_count":11263807,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"ci-test":6},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"COLLABORATOR":9},"past_year_issue_authors":{},"past_year_pull_request_authors":{"amitgalor18":2,"shaing10":2,"Z30G0D":2,"danielle-hausler":1,"mosheman5":1,"uvmend":1},"maintainers":[{"login":"danielle-hausler","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/danielle-hausler"},{"login":"shaing10","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/shaing10"},{"login":"Z30G0D","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Z30G0D"},{"login":"mosheman5","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mosheman5"},{"login":"DorBernsohn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DorBernsohn"},{"login":"amitgalor18","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/amitgalor18"},{"login":"shakediel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/shakediel"},{"login":"uvmend","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/uvmend"}],"active_maintainers":[{"login":"amitgalor18","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/amitgalor18"},{"login":"shaing10","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/shaing10"},{"login":"Z30G0D","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Z30G0D"},{"login":"danielle-hausler","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/danielle-hausler"},{"login":"mosheman5","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mosheman5"},{"login":"uvmend","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/uvmend"}]},"events":{"total":{"DeleteEvent":11,"MemberEvent":1,"PullRequestEvent":58,"ForkEvent":1,"WatchEvent":11,"IssueCommentEvent":7,"PushEvent":196,"PullRequestReviewEvent":59,"PullRequestReviewCommentEvent":58,"CreateEvent":45},"last_year":{"DeleteEvent":1,"PullRequestEvent":27,"WatchEvent":3,"IssueCommentEvent":1,"PushEvent":68,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":5,"CreateEvent":11}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-12T16:20:50.046Z","updated_at":"2022-07-12T16:20:50.046Z","repository_link":"https://github.com/deep-voice/soundbay/blob/master/requirements.txt","dependencies":[{"id":168378019,"package_name":"numba","ecosystem":"pypi","requirements":"\u003e=0.54.0","direct":true,"kind":"runtime","optional":false},{"id":168378020,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003c1.21.0","direct":true,"kind":"runtime","optional":false},{"id":168378021,"package_name":"librosa","ecosystem":"pypi","requirements":"\u003e=0.7.0","direct":true,"kind":"runtime","optional":false},{"id":168378022,"package_name":"tqdm","ecosystem":"pypi","requirements":"\u003e=4.0.0","direct":true,"kind":"runtime","optional":false},{"id":168378023,"package_name":"hydra-core","ecosystem":"pypi","requirements":"==1.0.6","direct":true,"kind":"runtime","optional":false},{"id":168378024,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=5.4.1","direct":true,"kind":"runtime","optional":false},{"id":168378025,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"\u003e=0.22.1","direct":true,"kind":"runtime","optional":false},{"id":168378026,"package_name":"omegaconf","ecosystem":"pypi","requirements":"\u003e=2.0.0","direct":true,"kind":"runtime","optional":false},{"id":168378027,"package_name":"soundfile","ecosystem":"pypi","requirements":"\u003e=0.10.2","direct":true,"kind":"runtime","optional":false},{"id":168378028,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=1.0.3","direct":true,"kind":"runtime","optional":false},{"id":168378029,"package_name":"wandb","ecosystem":"pypi","requirements":"\u003e=0.12.0","direct":true,"kind":"runtime","optional":false},{"id":168378030,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"\u003e=4.9.1","direct":true,"kind":"runtime","optional":false},{"id":168378031,"package_name":"joblib","ecosystem":"pypi","requirements":"\u003e=1.0.0","direct":true,"kind":"runtime","optional":false},{"id":168378032,"package_name":"lxml","ecosystem":"pypi","requirements":"\u003e=4.4.0","direct":true,"kind":"runtime","optional":false},{"id":168378033,"package_name":"PyQt5","ecosystem":"pypi","requirements":"\u003e=5.14.0","direct":true,"kind":"runtime","optional":false},{"id":168378034,"package_name":"future-fstrings","ecosystem":"pypi","requirements":"\u003e=1.0.0","direct":true,"kind":"runtime","optional":false},{"id":168378035,"package_name":"boto3","ecosystem":"pypi","requirements":"\u003e=1.20.0","direct":true,"kind":"runtime","optional":false},{"id":168378036,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=2.0.0","direct":true,"kind":"runtime","optional":false}]}],"score":6.70808408385307,"created_at":"2026-04-24T13:26:29.754Z","updated_at":"2026-05-19T09:30:22.271Z","avatar_url":"https://github.com/deep-voice.png","language":"Jupyter Notebook","category":"Biosphere","sub_category":"Marine Life and Fishery","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cimg src=\"figs/logo_deepvoice.png\" width=\"400\"/\u003e\n\n## Deep Learning Framework for Bioacoustics\nSoundbay 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.\n\n## Installation\nBefore installing, please verify you have a working Python environment, with pytorch, torchvision and torchaudio installed according to your local hardware.\u003cbr\u003e\nMore info on installing pytorch, torchaudio and torchvision can be found in the [guide](https://pytorch.org/get-started/locally/).\nMake sure to use python 3.8-3.12 (as of mid-2025 python 3.13 can cause dependency issues)\n\n```sh\ngit clone https://github.com/deep-voice/soundbay\ncd soundbay\n```\nInstallation of the packages:\n```sh\npip install -e .\n```\n\nOr\n```sh\npip install -r requirements.txt\n```\n\n[sox](http://sox.sourceforge.net/) is also required and can be installed using:\n```\nsudo apt update\nsudo apt install sox\n``` \n\n## Usage\n\n### Experiment management philosophy \nThe framework utilizes Hydra package for configuration and experiments management, we highly encourage you to refer their [tutorials](https://hydra.cc/docs/tutorials/intro/)\nWe provide modular recipes inside [conf](soundbay/conf/) to run experiments and to reproduce well established algorithms.\nWe have three levels of parameters control:\n- run-summarizing config files\n- parameters groups, represented by a row in the defaults of the config file\n- the lowest level of parameters, detailed in the parameter group config file.\n\nEach 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.\n\n\n### Data structure\nPath to the datafolder should be passed as an argument for training. The data folder or subfolders should contain `.wav` files. \nA `.csv` file should accompany the data, serve as metadata from which the training pipeline takes samples with their corresponding labels.\nA toy example is available for [data](tests/assets/data) and the respective [annotations](tests/assets/annotations/sample_annotations.csv)\n\n### Training Example\n\nRunning train and inference commands are done from src.\nRun the following command for a toy problem training:\n```sh\npython soundbay/train.py\n```\nThe toy run uses the default configuration with its default parameters. \nParameters overriding and config file changes are available, please refer Hydra tutorial for more details.\nFor example,\n```sh\npython soundbay/train.py --config-name runs/main_unit_norm data.batch_size=8 +data.optim=jasco_vgg_19 experiment.manual_seed=4321\n```\nRuns 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. \n\n### inference Example\nTo run the predictions of the model on a single audio file use the inference script:\n```sh\npython soundbay/inference.py --config-name runs/inference_single_audio experiment.checkpoint.path=\u003cPATH/TO/MODEL\u003e data.test_dataset.file_path=\u003cPATH/TO/FILE\u003e\n```\nTo run the predictions of the model on a labeled test partition use:\n```sh\npython soundbay/inference.py --config-name runs/main_inference experiment.checkpoint.path=\u003cPATH/TO/MODEL\u003e data.test_dataset.data_path=\u003cPATH/TO/DATA\u003e data.test_dataset.metadata_path=\u003cPATH/TO/METADATA\u003e \n```\n\n## License\n\nThis library is licensed under the GNU Affero General Public License v3.0 License.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/352728","html_url":"https://ost.ecosyste.ms/projects/352728"}