https://github.com/jhj0517/Whisper-WebUI Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} jhj0517 / Whisper-WebUI Public * * Notifications You must be signed in to change notification settings * Fork 149 * Star 921 A Web UI for easy subtitle using whisper model. License Apache-2.0 license 921 stars 149 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 32 * Pull requests 1 * Actions * Projects 0 * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights jhj0517/Whisper-WebUI This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 469 Commits .github .github models models modules modules notebook notebook outputs outputs ui ui .dockerignore .dockerignore .gitignore .gitignore Dockerfile Dockerfile Install.bat Install.bat Install.sh Install.sh LICENSE LICENSE README.md README.md app.py app.py requirements.txt requirements.txt screenshot.png screenshot.png start-webui.bat start-webui.bat start-webui.sh start-webui.sh user-start-webui.bat user-start-webui.bat View all files Repository files navigation * README * Apache-2.0 license Whisper-WebUI A Gradio-based browser interface for Whisper. You can use it as an Easy Subtitle Generator! Whisper WebUI Notebook If you wish to try this on Colab, you can do it in here! Feature * Select the Whisper implementation you want to use between : + openai/whisper + SYSTRAN/faster-whisper (used by default) + Vaibhavs10/insanely-fast-whisper * Generate subtitles from various sources, including : + Files + Youtube + Microphone * Currently supported subtitle formats : + SRT + WebVTT + txt ( only text file without timeline ) * Speech to Text Translation + From other languages to English. ( This is Whisper's end-to-end speech-to-text translation feature ) * Text to Text Translation + Translate subtitle files using Facebook NLLB models + Translate subtitle files using DeepL API * Pre-processing audio input with Silero VAD. * Post-processing with speaker diarization using the pyannote model. + To download the pyannote model, you need to have a Huggingface token and manually accept their terms in the pages below. 1. https://huggingface.co/pyannote/speaker-diarization-3.1 2. https://huggingface.co/pyannote/segmentation-3.0 Installation and Running Prerequisite To run this WebUI, you need to have git, python version 3.8 ~ 3.10, FFmpeg. And if you're not using an Nvida GPU, or using a different CUDA version than 12.1, edit the requirements.txt to match your environment. Please follow the links below to install the necessary software: * git : https://git-scm.com/downloads * python : https://www.python.org/downloads/ ( If your python version is too new, torch will not install properly.) * FFmpeg : https://ffmpeg.org/download.html * CUDA : https://developer.nvidia.com/cuda-downloads After installing FFmpeg, make sure to add the FFmpeg/bin folder to your system PATH! Automatic Installation 1. Download Whisper-WebUI.zip with the file corresponding to your OS from v1.0.0 and extract its contents. 2. Run install.bat or install.sh to install dependencies. (This will create a venv directory and install dependencies there.) 3. Start WebUI with start-webui.bat or start-webui.sh 4. To update the WebUI, run update.bat or update.sh And you can also run the project with command line arguments if you like to, see wiki for a guide to arguments. * Running with Docker 1. Build the image docker build -t whisper-webui:latest . 2. Run the container with commands * For bash : docker run --gpus all -d \ -v /path/to/models:/Whisper-WebUI/models \ -v /path/to/outputs:/Whisper-WebUI/outputs \ -p 7860:7860 \ -it \ whisper-webui:latest --server_name 0.0.0.0 --server_port 7860 * For PowerShell: docker run --gpus all -d ` -v /path/to/models:/Whisper-WebUI/models ` -v /path/to/outputs:/Whisper-WebUI/outputs ` -p 7860:7860 ` -it ` whisper-webui:latest --server_name 0.0.0.0 --server_port 7860 VRAM Usages This project is integrated with faster-whisper by default for better VRAM usage and transcription speed. According to faster-whisper, the efficiency of the optimized whisper model is as follows: Implementation Precision Beam Time Max. GPU Max. CPU size memory memory openai/whisper fp16 5 4m30s 11325MB 9439MB faster-whisper fp16 5 54s 4755MB 3244MB If you want to use an implementation other than faster-whisper, use --whisper_type arg and the repository name. Read wiki for more info about CLI args. Available models This is Whisper's original VRAM usage table for models. Size Parameters English-only Multilingual Required Relative model model VRAM speed tiny 39 M tiny.en tiny ~1 GB ~32x base 74 M base.en base ~1 GB ~16x small 244 M small.en small ~2 GB ~6x medium 769 M medium.en medium ~5 GB ~2x large 1550 M N/A large ~10 GB 1x .en models are for English only, and the cool thing is that you can use the Translate to English option from the "large" models! TODO * [*] Add DeepL API translation * [*] Add NLLB Model translation * [*] Integrate with faster-whisper * [*] Integrate with insanely-fast-whisper * [*] Integrate with whisperX ( Only speaker diarization part ) * [ ] Add background music separation pre-processing with MVSEP-MDX23 * [ ] Add fast api script * [ ] Support real-time transcription for microphone About A Web UI for easy subtitle using whisper model. Topics python open-source ai web-ui pytorch gradio whisper Resources Readme License Apache-2.0 license Activity Stars 921 stars Watchers 9 watching Forks 149 forks Report repository Releases 1 tags Sponsor this project * ko_fi ko-fi.com/jhj0517 Packages 0 No packages published Contributors 6 * * * * * * Languages * Python 94.1% * Jupyter Notebook 3.0% * Batchfile 1.9% * Other 1.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.