一個基於 Gradio 的瀏覽器介面,用於 OpenAI Whisper 語音識別模型。您可以將其作為簡易字幕生成器使用!
- openai/whisper - 原始 OpenAI Whisper 實作
- SYSTRAN/faster-whisper - 預設使用,更快的推理速度
- Vaibhavs10/insanely-fast-whisper - 極速版本
- 檔案上傳 - 支援音訊/影片檔案
- YouTube 連結 - 直接從 YouTube 下載並轉錄
- 麥克風錄音 - 即時語音轉文字
- SRT - 標準字幕格式
- WebVTT - 網頁影片字幕格式
- TXT - 純文字格式(不含時間軸)
- 語音轉文字翻譯 - 支援多語言轉英文(Whisper 端到端翻譯)
- 文字翻譯 - 使用 Facebook NLLB 模型翻譯字幕檔案
- DeepL API 翻譯 - 高品質的專業翻譯服務
- Silero VAD - 語音活動檢測,自動移除靜音片段
- UVR - 背景音樂分離,提升語音清晰度
- pyannote - 自動識別不同語者
- 需要 HuggingFace 帳號並手動接受使用條款:
Pinokio 是一個簡化的應用程式管理工具,讓您輕鬆安裝和執行 Whisper-WebUI。
- 前往 Pinokio 官網
- 下載並安裝 Pinokio 軟體
- 開啟 Pinokio 軟體
- 在搜尋欄中輸入 "Whisper-WebUI"
- 點擊安裝按鈕
- 在 Pinokio 中找到已安裝的 Whisper-WebUI
- 點擊啟動按鈕
- 在瀏覽器中開啟
http://localhost:7860
Docker 提供隔離的執行環境,確保在不同系統上都能正常運作。
- 安裝 Docker Desktop
- 確保 Docker 正在執行
git clone https://github.com/ntnuYuhsuan/Whisper-WebUI.git
cd Whisper-WebUI
docker compose build
⚠️ 注意:映像檔大小約 7GB,請確保有足夠的磁碟空間和網路頻寬
docker compose up
在瀏覽器中開啟 http://localhost:7860
docker-compose.yaml 主要設定:
services:
whisper-webui:
container_name: whisper-webui
build: .
image: jhj0517/whisper-webui:latest
# 掛載本地目錄到容器
volumes:
- ./models:/Whisper-WebUI/models # 模型檔案
- ./outputs:/Whisper-WebUI/outputs # 輸出檔案
- ./configs:/Whisper-WebUI/configs # 設定檔案
# 網路埠設定
ports:
- "7860:7860"
# GPU 支援(NVIDIA)
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [ gpu ]
Dockerfile 構建流程:
- 構建階段:安裝 Python 依賴套件
- 執行階段:設定 FFmpeg 和執行環境
- 環境變數:配置 CUDA 路徑和 Python 虛擬環境
⚠️ 重要:安裝 FFmpeg 後,請將FFmpeg/bin
資料夾加入系統 PATH!
git clone https://github.com/ntnuYuhsuan/Whisper-WebUI.git
cd Whisper-WebUI
Windows 用戶:
install.bat
Linux/Mac 用戶:
./install.sh
Windows 用戶:
start-webui.bat
Linux/Mac 用戶:
./start-webui.sh
本專案預設整合 faster-whisper,提供更好的 VRAM 使用效率和轉錄速度。
實作方式 | 精度 | Beam Size | 時間 | 最大 GPU 記憶體 | 最大 CPU 記憶體 |
---|---|---|---|---|---|
openai/whisper | fp16 | 5 | 4分30秒 | 11325MB | 9439MB |
faster-whisper | fp16 | 5 | 54秒 | 4755MB | 3244MB |
如需使用其他 Whisper 實作,請使用 --whisper_type
參數指定實作名稱。
如需使用微調模型,請手動將模型檔案放置在 models/Whisper/
目錄中。
您也可以在「模型」下拉選單中輸入 HuggingFace 儲存庫 ID(例如:deepdml/faster-whisper-large-v3-turbo-ct2),系統會自動下載到對應目錄。
If you're interested in deploying this app as a REST API, please check out /backend.
- 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 UVR
- Add fast api script
- Add CLI usages
- Support real-time transcription for microphone
Any PRs that translate the language into translation.yaml would be greatly appreciated!
- 選擇模型:根據您的硬體配置選擇合適的 Whisper 模型
- 上傳檔案:支援音訊(mp3, wav, m4a)和影片(mp4, avi, mov)格式
- 設定參數:
- 語言:自動偵測或手動指定(支援中文 chinese)
- 任務類型:轉錄或翻譯
- 輸出格式:SRT、WebVTT 或 TXT
- 開始處理:點擊「開始轉錄」按鈕
- 下載結果:處理完成後下載字幕檔案
Q: 為什麼轉錄速度很慢? A: 請確認是否使用 GPU 加速,並選擇 faster-whisper 實作。
Q: 如何改善轉錄準確度? A: 使用更大的模型(如 large-v3),並啟用音訊預處理功能。
Q: 支援哪些語言? A: Whisper 支援 99 種語言,包括中文(chinese)、英文、日文、韓文等。
Q: 如何設定 GPU 加速? A: 確保已安裝 CUDA 和對應的 PyTorch 版本,Docker 用戶請確認 nvidia-docker 已正確安裝。
本專案採用 MIT 授權條款,詳見 LICENSE 檔案。
歡迎提交 Issue 和 Pull Request 來改善這個專案!
English Version: README_EN.md