{"id":28095432,"url":"https://github.com/adamelkholyy/hpc-nemo","last_synced_at":"2026-02-27T07:33:37.469Z","repository":{"id":261030394,"uuid":"883044104","full_name":"adamelkholyy/hpc-nemo","owner":"adamelkholyy","description":"Fork for running Whisper transcriptions with Nemo diarization on University of Exeter's ISCA Supercomputer. Includes slurm scripts and custom environment for HPC compatability.","archived":false,"fork":false,"pushed_at":"2025-08-29T09:35:06.000Z","size":572,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-29T13:30:31.178Z","etag":null,"topics":["asr","gpu-computing","hpc-clusters"],"latest_commit_sha":null,"homepage":"https://www.exeter.ac.uk","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adamelkholyy.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}},"created_at":"2024-11-04T09:30:41.000Z","updated_at":"2025-08-29T09:35:09.000Z","dependencies_parsed_at":"2024-11-20T22:48:41.372Z","dependency_job_id":"e0e170db-0d4f-44ce-9fcd-3e3ce2ebbe5d","html_url":"https://github.com/adamelkholyy/hpc-nemo","commit_stats":null,"previous_names":["adamelkholyy/nemo","adamelkholyy/hpc-nemo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adamelkholyy/hpc-nemo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamelkholyy%2Fhpc-nemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamelkholyy%2Fhpc-nemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamelkholyy%2Fhpc-nemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamelkholyy%2Fhpc-nemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamelkholyy","download_url":"https://codeload.github.com/adamelkholyy/hpc-nemo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamelkholyy%2Fhpc-nemo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29887563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T05:38:26.446Z","status":"ssl_error","status_checked_at":"2026-02-27T05:38:25.235Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["asr","gpu-computing","hpc-clusters"],"created_at":"2025-05-13T16:00:18.233Z","updated_at":"2026-02-27T07:33:37.463Z","avatar_url":"https://github.com/adamelkholyy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ISCA Transcription + Diarization Tool\n\nThis project is a fork of @MahmoudAshraf97's [whisper diarization tool](https://github.com/MahmoudAshraf97/whisper-diarization), heavily modified for use on the University of Exeter ISCA's High Performance Computing Server. All due credit goes to the authors of the original project, without which this would not have been possible. This fork includes extra CLI args, transcript anonymisation, major refactoring, and many other additional features on top of the original project.\n\n## Setup\nTo install the required modules you can either use pip\n```\npip install -r requirements.txt -c constraints.txt\n```\nor poetry\n```\npoetry install\n```\nPoetry is highly recommended as all of the module versions have been locked and are guaranteed to work. The requirements.txt file depends on other git repositories which do not freeze their modules, meaning dependency conflicts are likely. \n\n## Usage\nTo use the tool, simply run the following command\n```\npython diarize.py --audio my_audiofile.mp3\n```\nAnd the tool will output two files in the same directory as your audio file:\n- a timestamped .srt file\n- a diarized .txt file\n\nYou may also specify a directory with `--audio` in order to diarize every file in the specified folder.\n\n## Optional arguments\n`diarize.py` takes a number of optional arguments\n```\nusage: import argparse.py [-h] -a AUDIO [--no-stem] [--suppress_numerals] [--whisper-model MODEL_NAME] [--batch-size BATCH_SIZE] [--language LANGUAGE] [--device DEVICE] [--parallel] [--anonymise] [--num-speakers NUM_SPEAKERS] [--domain-type {telephonic,meeting,general}]\n\noptions:\n  -h, --help            Show this help message and exit.\n  -a AUDIO, --audio AUDIO\n                        Name of the target audio file.\n  --no-stem             Disables source separation. This helps with long files that don't contain a lot of music.\n  --suppress_numerals   Suppresses Numerical Digits.This helps the diarization accuracy but converts all digits into written text.\n  --whisper-model MODEL_NAME\n                        Select which Whisper model to use. Default is large-v3.\n  --batch-size BATCH_SIZE\n                        Batch size for batched inference, reduce if you run out of memory, set to 0 for non-batched inference.\n  --language LANGUAGE   Language spoken in the audio, specify None to perform language detection.\n  --device DEVICE       If you have a GPU use 'cuda', otherwise 'cpu'. Leave blank for automatic detection.\n  --parallel            Enable parallel NeMo diarization during Whisper transcription.\n  --anonymise           Anonymise files after diarization and transcription. Default is False.\n  --num-speakers NUM_SPEAKERS\n                        Specify number of speakers in audio. Default is 0 for automatic detection.\n  --domain-type {telephonic,meeting,general}\n                        Type of diarization model to use. Options are as follows (default is 'telephonic') - 'telephonic': Suitable for telephone recordings involving 2-8 speakers in a session and may not show the best performance on the other types of acoustic conditions or\n                        dialogues - 'meeting': Suitable for 3-5 speakers participating in a meeting and may not show the best performance on other types of dialogues - 'general': Optimized to show balanced performances on various types of domain. VAD is optimized on multilingual     \n                        ASR datasets and diarizer is optimized on DIHARD3 development set\n```\nThe most useful of these optional arguments is perhaps `--anonymise`, which fully anonymises the diarized transcript, redacting any names, dates, people, places, etc. from the text. `--no-stem` and `--suppress-numerals` are generally recommended, unless you are dealing with audio containing a lot of background music. It is highly recommended to specify the language using the `--language` argument, however NeMo and Whisper will simply auto-detect the language if unspecified (although this results in longer computation time). ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamelkholyy%2Fhpc-nemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamelkholyy%2Fhpc-nemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamelkholyy%2Fhpc-nemo/lists"}