{"id":13640616,"url":"https://github.com/Gadersd/whisper-burn","last_synced_at":"2025-04-20T02:34:17.407Z","repository":{"id":183303970,"uuid":"669911116","full_name":"Gadersd/whisper-burn","owner":"Gadersd","description":"A Rust implementation of OpenAI's Whisper model using the burn framework","archived":false,"fork":false,"pushed_at":"2024-05-06T18:40:32.000Z","size":403,"stargazers_count":249,"open_issues_count":15,"forks_count":27,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-08-03T01:17:14.971Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gadersd.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}},"created_at":"2023-07-23T20:36:57.000Z","updated_at":"2024-08-02T21:23:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e4fea9f-fe5b-4292-8525-ba2ca1b1f30d","html_url":"https://github.com/Gadersd/whisper-burn","commit_stats":null,"previous_names":["gadersd/whisper-burn"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gadersd%2Fwhisper-burn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gadersd%2Fwhisper-burn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gadersd%2Fwhisper-burn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gadersd%2Fwhisper-burn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gadersd","download_url":"https://codeload.github.com/Gadersd/whisper-burn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223816666,"owners_count":17207898,"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":[],"created_at":"2024-08-02T01:01:12.849Z","updated_at":"2024-11-09T10:31:28.589Z","avatar_url":"https://github.com/Gadersd.png","language":"Rust","funding_links":[],"categories":["Rust","Summary","Frameworks","Machine Learning"],"sub_categories":[],"readme":"# Whisper Burn: Rust Implementation of OpenAI's Whisper Transcription Model\n\n**Whisper Burn** is a Rust implementation of OpenAI's Whisper transcription model using the Rust deep learning framework, Burn.\n\n## License\n\nThis project is licensed under the terms of the MIT license.\n\n## Model Files\n\nThe OpenAI Whisper models that have been converted to work in burn are available in the whisper-burn space on Hugging Face. You can find them at [https://huggingface.co/Gadersd/whisper-burn](https://huggingface.co/Gadersd/whisper-burn).\n\nIf you have a custom fine-tuned model you can easily convert it to burn's format. Here is an example of converting OpenAI's tiny en model. The tinygrad dependency of the dump.py script should be installed from source not with pip.\n\n```\n# Download the tiny_en tokenizer\nwget https://huggingface.co/Gadersd/whisper-burn/resolve/main/tiny_en/tokenizer.json\n\ncd python\nwget https://openaipublic.azureedge.net/main/whisper/models/d3dd57d32accea0b295c96e26691aa14d8822fac7d9d27d5dc00b4ca2826dd03/tiny.en.pt\npython3 dump.py tiny.en.pt tiny_en\nmv tiny_en ../\ncd ../\ncargo run --release --bin convert tiny_en\n```\n\nHowever, if you want to convert a model from HuggingFace an extra conversion step is needed.\n\n```\n# Download the repo and convert it to .pt\npython3 python/convert_huggingface_model.py openai/whisper-tiny tiny.pt\n\n# Now it can be dumped\npython3 python/dump.py tiny.pt tiny\ncargo run --release --bin convert tiny\n\n# Don't forget the tokenizer\nwget https://huggingface.co/openai/whisper-tiny/resolve/main/tokenizer.json\n```\n\n#### 1. Clone the Repository\n\nClone the repository to your local machine using the following command:\n\n```\ngit clone https://github.com/Gadersd/whisper-burn.git\n```\n\nThen, navigate to the project folder:\n\n```\ncd whisper-burn\n```\n\n#### 2. Download Whisper Tiny English Model\n\nUse the following commands to download the Whisper tiny English model:\n\n```\nwget https://huggingface.co/Gadersd/whisper-burn/resolve/main/tiny_en/tiny_en.cfg\nwget https://huggingface.co/Gadersd/whisper-burn/resolve/main/tiny_en/tiny_en.mpk.gz\nwget https://huggingface.co/Gadersd/whisper-burn/resolve/main/tiny_en/tokenizer.json\n```\n\n#### 3. Run the Application\n\n**Requirements**\n\n- The audio file must be have a sample rate of 16k and be single-channel.\n- `sox`. For Mac `brew install sox`\n\n```\nsox audio.wav -r 16000 -c 1 audio16k.wav\n```\nNow transcribe.\n\n```\n# with tch backend (default)\ncargo run --release --bin transcribe tiny_en audio16k.wav en transcription.txt\n\n# or with wgpu backend (may be unstable for large models)\ncargo run --release --features wgpu-backend --bin transcribe tiny_en audio16k.wav en transcription.txt\n```\n\nThis usage assumes that \"audio16k.wav\" is the audio file you want to transcribe, and \"tiny_en\" is the model to use. Please adjust according to your specific needs.\n\nEnjoy using **Whisper Burn**!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGadersd%2Fwhisper-burn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGadersd%2Fwhisper-burn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGadersd%2Fwhisper-burn/lists"}