{"id":20936324,"url":"https://github.com/extrange/transcription-bot","last_synced_at":"2025-05-13T21:31:05.307Z","repository":{"id":115161498,"uuid":"586120234","full_name":"extrange/transcription-bot","owner":"extrange","description":"Audio transcribing with Whisper, over Telegram","archived":false,"fork":false,"pushed_at":"2024-09-25T10:06:01.000Z","size":5771,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T08:11:14.356Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/extrange.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":"2023-01-07T02:20:22.000Z","updated_at":"2024-11-19T10:32:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5c55561-4f02-4d61-b4e3-8c3eac8b3169","html_url":"https://github.com/extrange/transcription-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Ftranscription-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Ftranscription-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Ftranscription-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Ftranscription-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/extrange","download_url":"https://codeload.github.com/extrange/transcription-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254030910,"owners_count":22002670,"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-11-18T22:19:05.698Z","updated_at":"2025-05-13T21:31:01.314Z","avatar_url":"https://github.com/extrange.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Transcription Bot\n\nTelegram bot which transcribes audio/voice messages/videos into high quality text, using [`faster-whisper`] on CPU, at about 3x realtime speed.\n\nBenchmark for a 464s file (CPU only):\n\n| Model                        | Processing Time (s) | With VAD (s) |\n| ---------------------------- | ------------------- | ------------ |\n| Transformers Base            | 275                 | -            |\n| BetterTransformer w/ Optimum | 193                 | -            |\n| faster-whisper               | 166                 | 106          |\n\n## Getting Started\n\nClone this repo:\n\n```bash\ngit clone https://github.com/extrange/transcription-bot.git\n```\n\n[Create a Telegram bot][botfather] and obtain the API key (it looks like `110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw`)\n\nBuild the container:\n\n```bash\ndocker compose build\n```\n\nRun the app once with `docker compose up` and enter your API key when prompted.\n\nTo run in the background, do `docker compose up -d`.\n\nLogin credentials will be stored in a `\u003cname\u003e.session` file for future runs.\n\n## Testing\n\n`coverage run --branch -m pytest \u0026\u0026 coverage html`\n\n## Notes\n\n`MY_CHAT_ID` is the chat id of your own private chat with the bot. It's used to alert you when users use your bot. To obtain it you can either print the output of `message.chat.id` or use [@RawDataBot][rawdatabot].\n\n[`faster-whisper`]: https://github.com/guillaumekln/faster-whisper\n[botfather]: https://core.telegram.org/bots/features#creating-a-new-bot\n[rawdatabot]: https://t.me/RawDataBot\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrange%2Ftranscription-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fextrange%2Ftranscription-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrange%2Ftranscription-bot/lists"}