---
sdk: gradio
sdk_version: 5.16.0
---
# Whisper-WebUI
A Gradio-based browser interface for [Whisper](https://github.com/openai/whisper)
# Features
- Select the Whisper implementation you want to use between:
- [openai/whisper](https://github.com/openai/whisper)
- [SYSTRAN/faster-whisper](https://github.com/SYSTRAN/faster-whisper) (used by default)
- [Vaibhavs10/insanely-fast-whisper](https://github.com/Vaibhavs10/insanely-fast-whisper)
- Generate transcriptions from various sources, including **files** & **microphone**
- Currently supported output formats: **csv**, **srt** & **txt**
- Speech to Text Translation:
- From other languages to English (This is Whisper's end-to-end speech-to-text translation feature)
- Translate transcription files using Facebook NLLB models
- Pre-processing audio input with [Silero VAD](https://github.com/snakers4/silero-vad)
- Post-processing with speaker diarization using the [pyannote](https://huggingface.co/pyannote/speaker-diarization-3.1) 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
- ## Run Locally
### Prerequisite
To run this WebUI, you need to have `git`, `python` version 3.8 ~ 3.10 & `FFmpeg`.
If you're not using an Nvida GPU, or using a different `CUDA` version than 12.4, edit the file `requirements.txt` to match your environment.
Please follow the links below to install the necessary software:
- git : [https://git-scm.com/downloads](https://git-scm.com/downloads)
- python : [https://www.python.org/downloads/](https://www.python.org/downloads/)
- FFmpeg : [https://ffmpeg.org/download.html](https://ffmpeg.org/download.html)
- CUDA : [https://developer.nvidia.com/cuda-downloads](https://developer.nvidia.com/cuda-downloads)
After installing `FFmpeg`, make sure to **add** the `FFmpeg/bin` folder to your system `PATH`
### Installation using the script files
1. Download the the repository and extract its contents
2. Run `install.bat` or `install.sh` to install dependencies (It will create a `venv` directory and install dependencies there)
3. Start WebUI with `start-webui.bat` or `start-webui.sh` (It will run `python app.py` after activating the venv)
- ## Running with Docker
1. Install and launch [Docker-Desktop](https://www.docker.com/products/docker-desktop/)
2. Get the repository
3. If needed, update the `docker-compose.yaml` to match your environment
4. Docker commands:
Build the image ( Image is about ~7GB)
```sh
docker compose build
```
Run the container
```sh
docker compose up
```
5. Connect to the WebUI with your browser at `http://localhost:7860`
# VRAM Usages
- This project is integrated with [faster-whisper](https://github.com/guillaumekln/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 size | Time | Max. GPU memory | Max. CPU memory |
|-------------------|-----------|-----------|-------|-----------------|-----------------|
| openai/whisper | fp16 | 5 | 4m30s | 11325MB | 9439MB |
| faster-whisper | fp16 | 5 | 54s | 4755MB | 3244MB |
- Whisper's original VRAM usage table for available models:
| Size | Parameters | English-only model | Multilingual model | Required VRAM | Relative 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 |
Note: `.en` models are for English only, and you can use the `Translate to English` option from the other models