{"id":44738527,"url":"https://github.com/satyaborg/cornell-birdcall-identification","last_synced_at":"2026-02-15T20:12:20.562Z","repository":{"id":129542034,"uuid":"289004065","full_name":"satyaborg/cornell-birdcall-identification","owner":"satyaborg","description":"Kaggle competition on birdcall classification.","archived":false,"fork":false,"pushed_at":"2020-08-28T14:06:15.000Z","size":100457,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-01-27T17:34:56.442Z","etag":null,"topics":["audio-processing","birdsong","classification","computer-vision","deep-learning","kaggle","pytorch","sound-classification"],"latest_commit_sha":null,"homepage":"","language":"Python","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/satyaborg.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":"2020-08-20T12:45:34.000Z","updated_at":"2022-04-13T08:42:32.000Z","dependencies_parsed_at":"2023-06-10T11:35:54.745Z","dependency_job_id":null,"html_url":"https://github.com/satyaborg/cornell-birdcall-identification","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"dbef5f69425b492ad098e26315d54368f22ae324"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/satyaborg/cornell-birdcall-identification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satyaborg%2Fcornell-birdcall-identification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satyaborg%2Fcornell-birdcall-identification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satyaborg%2Fcornell-birdcall-identification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satyaborg%2Fcornell-birdcall-identification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/satyaborg","download_url":"https://codeload.github.com/satyaborg/cornell-birdcall-identification/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satyaborg%2Fcornell-birdcall-identification/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29487982,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T19:29:10.908Z","status":"ssl_error","status_checked_at":"2026-02-15T19:29:10.419Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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"}},"keywords":["audio-processing","birdsong","classification","computer-vision","deep-learning","kaggle","pytorch","sound-classification"],"created_at":"2026-02-15T20:12:20.013Z","updated_at":"2026-02-15T20:12:20.557Z","avatar_url":"https://github.com/satyaborg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cornell Birdcall Identification 🐦\n\nRepository for Kaggle kernels, training pipeline and everything else (except raw audio data!)\n\n### Run\nRefer to `config.yaml` for required arguments and hyperparmeters.\nExecute the following to train model:\n```python\nvirtualenv -p python3 venv\nsource venv/bin/activate\npip install -r requirements.txt\npython -m train\n```\n\n### TODO\n\n#### Main tasks:\n- [x] Preprocess data: `.mp3` to mel-spectograms (saved as `.npy`) resampled @32KHz\n- [x] Implement training and validation pipeline\n- [x] Implement submission notebook\n- [x] Stratified KFold\n- [x] Implement SimpleCNN (full clip), ConvNet (5 sec segments)\n- [x] Random crop 5 seconds per clip during training\n- [x] [SpecAugment](https://arxiv.org/abs/1904.08779)\n- [x] Extend/fill clips with duration less than 5 sec (experimental!)\n- [x] [VGG16/VGG19](https://pytorch.org/hub/pytorch_vision_vgg/)\n- [ ] Test time augmentation\n- [ ] Handle class imbalance\n- [ ] Threshold moving (current default=0.5)?\n- [ ] Mixup\n- [ ] Implement Recurrent ConvNet / ConvLSTM OR Bidirectional LSTM\n- [ ] Extract secondary labels and use for training\n- [ ] Add Attention and skip connections to CNN\n- [ ] Additional metric: mAP\n\n#### Auxillary tasks:\n- [ ] Use pretrained ImageNet models (VGG, ResNet, DenseNet etc) for finetuning\n- [ ] Use [VGGish](https://github.com/harritaylor/torchvggish) (trained on [Audioset](https://research.google.com/audioset/)) to extract 128-dimensional embedding from raw audio clips (outputs @~1 sec)\n- [ ] Encode phylogeneric information\n- [ ] Create a co-occurrence matrix of birds based on location\n- [ ] [Mixed precision training](https://pytorch.org/docs/stable/notes/amp_examples.html): `fp32` to `fp16`\n- [ ] Port code to [PyTorch Lightning](https://github.com/PyTorchLightning/pytorch-lightning)\n- [ ] Add [Optuna](https://github.com/optuna/optuna) for hyperparameter tuning; Also check [Ray](https://github.com/ray-project/ray)\n- [ ] Standard sound augmentation for raw inputs to LSTM (pitch shift etc)\n- [ ] Sound Event Detection (SED)\n\n### Papers\n- [Bird Identification from Timestamped,Geotagged Audio Recordings](http://ceur-ws.org/Vol-2125/paper_181.pdf)\n- [Large-Scale Bird Sound Classification using Convolutional Neural Networks](http://ceur-ws.org/Vol-1866/paper_143.pdf)\n- [Bird Sound Recognition Using a Convolutional Neural Network](https://www.researchgate.net/publication/328836649_Bird_Sound_Recognition_Using_a_Convolutional_Neural_Network)\n\n### Reference code\n- https://github.com/koukyo1994/kaggle-birdcall-resnet-baseline-training\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatyaborg%2Fcornell-birdcall-identification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsatyaborg%2Fcornell-birdcall-identification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatyaborg%2Fcornell-birdcall-identification/lists"}