项目介绍:Whisper-WebUI
Whisper-WebUI 是一个基于 Gradio 的浏览器界面工具,旨在为 OpenAI 的 Whisper 提供用户友好的前端界面。用户可以将其用作简易的字幕生成器,以便从不同的音源生成和翻译字幕。
功能特点
- 多种 Whisper 实现选择:用户可以选择使用以下三种实现中的任意一种:openai/whisper、SYSTRAN/faster-whisper(默认使用)和 Vaibhavs10/insanely-fast-whisper。
- 字幕生成:支持从多种音源生成字幕,如文件、YouTube 和麦克风。
- 支持的字幕格式:包括 SRT、WebVTT 和简单文本文件(仅文本无时间轴)。
- 语音到文本翻译:可以将其他语言的语音翻译为英文,这是 Whisper 的端到端语音翻译特性。
- 文本到文本翻译:通过 Facebook NLLB 模型和 DeepL API 翻译字幕文件。
- 音频预处理:使用 Silero VAD 进行语音活动检测,和通过 UVR 分离背景音乐。
- 后处理:借助 pyannote 模型进行说话人识别。
安装及运行指南
使用 Pinokio 运行
- 安装 Pinokio 软件。
- 打开软件,搜索并安装 Whisper-WebUI。
- 启动 Whisper-WebUI,连接到
http://localhost:7860
。
使用 Docker 运行
- 安装并启动 Docker-Desktop。
- 克隆项目仓库:
git clone https://github.com/jhj0517/Whisper-WebUI.git
- 构建镜像:
docker compose build
- 启动容器:
docker compose up
- 在浏览器中访问
http://localhost:7860
。
本地运行
先决条件
您的环境需要安装 git
、Python(版本 3.10 至 3.12)和 FFmpeg。若未使用 Nvidia GPU 或 CUDA 版本不同,需要调整 requirements.txt
。
自动安装步骤
- 克隆项目仓库:
git clone https://github.com/jhj0517/Whisper-WebUI.git
- 运行
install.bat
或install.sh
安装依赖。 - 使用
start-webui.bat
或start-webui.sh
启动 WebUI。
VRAM 使用情况
项目默认集成了 faster-whisper,以优化 VRAM 的使用效率和转录速度。以下是不同实现的显存和速度对比:
实现 | 精度 | 光束大小 | 时间 | 最大 GPU 内存 | 最大 CPU 内存 |
---|---|---|---|---|---|
openai/whisper | fp16 | 5 | 4m30s | 11325MB | 9439MB |
faster-whisper | fp16 | 5 | 54s | 4755MB | 3244MB |
可用模型
Whisper 原生模型在 VRAM 使用方面的对比如下:
大小 | 参数数 | 英文模型 | 多语言模型 | 所需 VRAM | 相对速度 |
---|---|---|---|---|---|
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 | 不适用 | large | ~10 GB | 1x |
待办事项
- 添加 DeepL API 翻译
- 添加 NLLB 模型翻译
- 集成 faster-whisper
- 集成 insanely-fast-whisper
- 只集成 whisperX 的说话人识别功能
- 添加 UVR 的背景音乐分离预处理
- 开发 fast api 脚本
- 支持麦克风的实时转录
翻译
欢迎通过 PR 提交 translation.yaml 的语言翻译改进!