{"id":29193369,"url":"https://github.com/novacuum/bat_syllable_type_classifier","last_synced_at":"2025-07-02T02:09:13.111Z","repository":{"id":91402488,"uuid":"346107456","full_name":"novacuum/bat_syllable_type_classifier","owner":"novacuum","description":"  The aim of this project is to investigate the possibilities and limitations of using deep neural networks to classify bat syllable types of pups of the greater sac-winged bat Saccopteryx bilineata. ","archived":false,"fork":false,"pushed_at":"2023-02-03T13:01:49.000Z","size":68178,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2023-11-09T13:04:17.138Z","etag":null,"topics":["bat","classify","neural-network","syllable","voice"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/novacuum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-03-09T18:38:08.000Z","updated_at":"2023-11-09T13:04:19.636Z","dependencies_parsed_at":"2023-11-09T13:14:25.115Z","dependency_job_id":null,"html_url":"https://github.com/novacuum/bat_syllable_type_classifier","commit_stats":null,"previous_names":["novacuum/bat_syllable_type_classifier"],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/novacuum/bat_syllable_type_classifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novacuum%2Fbat_syllable_type_classifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novacuum%2Fbat_syllable_type_classifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novacuum%2Fbat_syllable_type_classifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novacuum%2Fbat_syllable_type_classifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novacuum","download_url":"https://codeload.github.com/novacuum/bat_syllable_type_classifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novacuum%2Fbat_syllable_type_classifier/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263061402,"owners_count":23407606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["bat","classify","neural-network","syllable","voice"],"created_at":"2025-07-02T02:09:12.658Z","updated_at":"2025-07-02T02:09:13.090Z","avatar_url":"https://github.com/novacuum.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bat syllable type classifier\nThe project is hosted at https://github.com/simon-at-fugu/bat_syllable_type_classifier.git\nIt is based on The *Bird Voice Server* bachelor project of Gilles Waeber, student at the *Haute École d'Ingénierie et d'Architecture de Fribourg (HEIA-FR)*, realized at the *Human Interface Laboratory* in *Kyushu University*.\nThis project contains the Software use for the master thesis *Automated classification of syllable types in vocal sequences of pups of the greater sac-winged bat Saccopteryx bilineata* by Simon Hiller\n\n## What this is about\nThe aim of this project is to investigate the possibilities and limitations of using deep neural networks to classify bat syllable types of pups of the greater sac-winged bat *Saccopteryx bilineata*.\n\n## Structure\n- `data` contains the data, as separate git projects and results\n- `experiments` playground based on notebooks\n- `src` contains the different softwares\n- `docker` contains docker files from *Bird Voice Server*\n- `bin` batch files used for UBELIX\n\n## Installation\nRequirements:\n- Conda: download at [docs.conda.io](https://docs.conda.io/en/latest/miniconda.html)\n- Python 3.8 or newer: download at [python.org](https://www.python.org/).\n- SoX (*Sound eXchange): download at [sox.sourceforge.net](http://sox.sourceforge.net/).\n\nThe HWRecog software was used for HoG extraction but is now replaced by OpenCV\n\n- Download and install miniconda (Python 3) from https://docs.conda.io/en/latest/miniconda.html (or using scoop)\n- Download and install SoX from http://sox.sourceforge.net/ (or using apt/scoop)\n- Download and install Java 8+, e.g. from https://www.java.com/download/ (or using apt/scoop)\n\n```sh\nsudo apt install sox default-jre  # Ubuntu (conda has to be install manually)\nscoop install miniconda3 sox openjdk  # Windows\n\nconda create -n bat_syllable_type_classifier  # create environment\nconda activate bat_syllable_type_classifier  # switch to birdvoice environment\nconda install numpy scipy  # required: computation\nconda install tqdm filelock mutagen notebook nbconvert # required: utilities\npip install tensorflow-gpu librosa wavinfo tensorboard # ANN framework \u0026 audio tools\nconda install opencv matplotlib seaborn scikit-learn opencv # optional: for graphs\n\nconda install scikit-image # optional: for heatmaps only\n# install innvestigate\npip install git+https://github.com/simon-at-fugu/innvestigate.git@updates_towards_tf2.0\n\n\nconda develop path/to/src  # add source directory to the environment path (not need for ubelix)\n```\n\n### Install SOX on UBELIX\n```sh\ncd ~/dl/\n\nwget http://downloads.sourceforge.net/libpng/libpng-1.6.16.tar.xz\ntar xf libpng-1.6.16.tar.xz\ncd ~/dl/libpng-1.6.16/\n./configure --prefix=$HOME/app/libpng-1.6.16\nmake -s \u0026\u0026 make install\n\ncd ~/dl/\nwget https://nchc.dl.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.gz\ntar xvfz sox-14.4.2.tar.gz\ncd ~/dl/sox-14.4.2/\n./configure LDFLAGS=\"-L$HOME/app/libpng-1.6.16/lib\" CPPFLAGS=\"-I$HOME/app/libpng-1.6.16/include\" --prefix=$HOME/app/sox-14.4.2\n```\n\n### Datasets\nThe datasets without the audio files are public available:\n- simple call test: https://github.com/simon-at-fugu/simple_call_test\n- simple call sequence: https://github.com/simon-at-fugu/simple_call_seq\n\n## Run experiments\nOn the ubelix you can use the shell files in ./bin/.\nFirst init the environment with:\n```sh\n. load_ubelix_env.sh\n```\nThen call one of these batch files:\n- *sbatch_sct.sh*: execute all simple call test experiments\n- *sbatch_scs.sh*: execute all simple call sequence experiments\n- *sbatch job_notebookrunner.sh*: execute notebook base report generation for all results (notebook location is: ./data/results/report/)\n- *sbatch job_scs_predict.sh*: execute prediction job\n\nOtherwise, you can start the test experiments as follows:\n### Test experiments\nRun one of the simple call test experiments:\n```sh\n$PROJECT_DIR = 'path/to/this/project/'\nexport BSC_DATASET_NAME='simple_call_test' #define which dataset to use\ncd $PROJECT_DIR/src/\npyhton scripts/sct.py -v=$variant -i=$index\n```\n\nWhere:\n- $variant: name of the test experiment (e.g. padding)\n- $index: index of the configuration from 0 to 3\n\n### Sequence experiments\nRun one of the simple call sequence experiments:\n```sh\n$PROJECT_DIR = 'path/to/this/project/'\nexport BSC_DATASET_NAME='simple_call_seq'  #define which dataset to use\ncd $PROJECT_DIR/src/\npyhton scripts/scs.py -v=r3 -i=$index\n```\n\nWhere:\n- $index: index of the configuration from 0 to 3\n\n### Generate result books (notebooks)\n\n```sh\n$PROJECT_DIR = 'path/to/this/project/'\nrm $PROJECT_DIR/data/results/report/*.html #delete already generated files (not needed)\ncd $PROJECT_DIR/src/\npyhton scripts/notebookrunner.py\n```\n\n# Results\nThe experiment specific data like the stored model are located in the dataset folder under `data/`\nThe experiment results files and notebook report files are located in the folder `data/results/`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovacuum%2Fbat_syllable_type_classifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovacuum%2Fbat_syllable_type_classifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovacuum%2Fbat_syllable_type_classifier/lists"}