{"id":18004721,"url":"https://github.com/oscarknagg/raw-audio-gender-classification","last_synced_at":"2025-08-10T23:49:36.863Z","repository":{"id":96853744,"uuid":"133156258","full_name":"oscarknagg/raw-audio-gender-classification","owner":"oscarknagg","description":"Machine learning experiment to perform gender classification from raw audio.","archived":false,"fork":false,"pushed_at":"2018-09-01T20:59:38.000Z","size":4013,"stargazers_count":23,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T08:14:32.117Z","etag":null,"topics":["audio","convolutional-neural-networks","gender-classification","machine-learning","pytorch","speech"],"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/oscarknagg.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-12T15:01:06.000Z","updated_at":"2024-08-23T07:24:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1eb8b01-03fd-4223-8ce7-fa59c2e6235c","html_url":"https://github.com/oscarknagg/raw-audio-gender-classification","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oscarknagg/raw-audio-gender-classification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarknagg%2Fraw-audio-gender-classification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarknagg%2Fraw-audio-gender-classification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarknagg%2Fraw-audio-gender-classification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarknagg%2Fraw-audio-gender-classification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oscarknagg","download_url":"https://codeload.github.com/oscarknagg/raw-audio-gender-classification/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarknagg%2Fraw-audio-gender-classification/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269809059,"owners_count":24478513,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"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"}},"keywords":["audio","convolutional-neural-networks","gender-classification","machine-learning","pytorch","speech"],"created_at":"2024-10-30T00:15:34.456Z","updated_at":"2025-08-10T23:49:36.802Z","avatar_url":"https://github.com/oscarknagg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# raw-audio-gender-classification\n\nThis project contains the code to train a gender classification model that takes raw audio as inputs.\n\nThe weights of the model from the article can be found in the `models/` directory.\n\nSee my Medium article for more discussion.\n\n## Instructions\n#### Requirements\nMake a new virtualenv and install requirements from `requirements.txt` with\n```\npip install -r requirements.txt\n```\nThis project was written in Python 2.7.12 so I cannot guarantee it works on\nany other version.\n\n#### Run tests\n\n```\npython -m unittest tests\n```\n\n#### Data\nGet training data here: http://www.openslr.org/12\n- train-clean-100.tar.gz\n- train-clean-360.tar.gz\n- dev-clean.tar.gz\n\nPlace the unzipped training data into the `data/` folder so the file structure is as follows:\n```\ndata/\n    LibriSpeech/\n        dev-clean/\n        train-clean-100/\n        train-clean-360/\n        SPEAKERS.TXT\n```\n\nPlease use the `SPEAKERS.TXT` supplied in the repo as I've made a few corrections to the one found at openslr.org.\n\n#### Training\n\nRun `run_experiment.py` with the default parameters to train the model with the performance discussed in the article.\n\n## Processing audio\n\nRun `process_audio.py`, specifying the model and audio file to use. The audio file must be a `.flac` file.\n\nThis script makes many predictions on different fragments of the target audio file and saves the results to\n`data/results.csv`.\n\nI used this script to produce the data for the video embedded in the Medium article.\n\n\n## Notebooks\n\nI have uploaded two notebooks with this project.\n\n`Model_Performance_Investigation` gives a breakdown of the performance of the model over the different speakers in the\nLibriSpeech dataset.\n\n`Interview_Segmentation` is where I analysed the results of the `process_audio.py` script on an interview between Elton\nJohn and Kirsty Wark.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarknagg%2Fraw-audio-gender-classification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foscarknagg%2Fraw-audio-gender-classification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarknagg%2Fraw-audio-gender-classification/lists"}