Skip to content

ntnuYuhsuan/Whisper-WebUI

 
 

Repository files navigation

Whisper-WebUI 語音轉文字工具

一個基於 Gradio 的瀏覽器介面,用於 OpenAI Whisper 語音識別模型。您可以將其作為簡易字幕生成器使用!

主介面截圖

📚 功能特色

🤖 支援多種 Whisper 實作

📁 多種輸入來源

  • 檔案上傳 - 支援音訊/影片檔案
  • YouTube 連結 - 直接從 YouTube 下載並轉錄
  • 麥克風錄音 - 即時語音轉文字

📝 支援的字幕格式

  • SRT - 標準字幕格式
  • WebVTT - 網頁影片字幕格式
  • TXT - 純文字格式(不含時間軸)

🌐 翻譯功能

  • 語音轉文字翻譯 - 支援多語言轉英文(Whisper 端到端翻譯)
  • 文字翻譯 - 使用 Facebook NLLB 模型翻譯字幕檔案
  • DeepL API 翻譯 - 高品質的專業翻譯服務

🎵 音訊預處理

  • Silero VAD - 語音活動檢測,自動移除靜音片段
  • UVR - 背景音樂分離,提升語音清晰度

👥 語者分離

🔄 處理流程圖

轉錄流程圖

🚀 安裝與執行

方法一:使用 Pinokio(推薦新手)

Pinokio 是一個簡化的應用程式管理工具,讓您輕鬆安裝和執行 Whisper-WebUI。

步驟 1:安裝 Pinokio

  1. 前往 Pinokio 官網
  2. 下載並安裝 Pinokio 軟體

步驟 2:安裝 Whisper-WebUI

  1. 開啟 Pinokio 軟體
  2. 在搜尋欄中輸入 "Whisper-WebUI"
  3. 點擊安裝按鈕

步驟 3:啟動應用

  1. 在 Pinokio 中找到已安裝的 Whisper-WebUI
  2. 點擊啟動按鈕
  3. 在瀏覽器中開啟 http://localhost:7860

方法二:使用 Docker(推薦進階用戶,我用Docker建置)

Docker 提供隔離的執行環境,確保在不同系統上都能正常運作。

前置需求

步驟 1:下載專案

git clone https://github.com/ntnuYuhsuan/Whisper-WebUI.git
cd Whisper-WebUI

步驟 2:構建 Docker 映像檔

docker compose build

⚠️ 注意:映像檔大小約 7GB,請確保有足夠的磁碟空間和網路頻寬

步驟 3:啟動容器

docker compose up

步驟 4:存取 Web 介面

在瀏覽器中開啟 http://localhost:7860

Docker 配置說明

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 構建流程:

  1. 構建階段:安裝 Python 依賴套件
  2. 執行階段:設定 FFmpeg 和執行環境
  3. 環境變數:配置 CUDA 路徑和 Python 虛擬環境

方法三:本地安裝

前置需求

⚠️ 重要:安裝 FFmpeg 後,請將 FFmpeg/bin 資料夾加入系統 PATH!

步驟 1:下載專案

git clone https://github.com/ntnuYuhsuan/Whisper-WebUI.git
cd Whisper-WebUI

步驟 2:安裝依賴

Windows 用戶:

install.bat

Linux/Mac 用戶:

./install.sh

步驟 3:啟動應用

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),系統會自動下載到對應目錄。

🔌 REST API

If you're interested in deploying this app as a REST API, please check out /backend.

📋 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 UVR
  • Add fast api script
  • Add CLI usages
  • Support real-time transcription for microphone

Translation 🌐

Any PRs that translate the language into translation.yaml would be greatly appreciated!

📖 使用教學

基本轉錄流程

  1. 選擇模型:根據您的硬體配置選擇合適的 Whisper 模型 model_select
  2. 上傳檔案:支援音訊(mp3, wav, m4a)和影片(mp4, avi, mov)格式
  3. 設定參數
    • 語言:自動偵測或手動指定(支援中文 chinese)
    • 任務類型:轉錄或翻譯
    • 輸出格式:SRT、WebVTT 或 TXT
  4. 開始處理:點擊「開始轉錄」按鈕
  5. 下載結果:處理完成後下載字幕檔案

進階功能

  • YouTube 轉錄:直接貼上 YouTube 連結進行轉錄
  • 語者分離:自動識別不同語者並標記
  • 音訊預處理:使用 VAD 移除靜音,使用 UVR 分離背景音樂 VAD_enable
  • 翻譯功能:支援多語言翻譯和專業翻譯服務

🆘 常見問題

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

About

A Web UI for easy subtitle using whisper model.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.5%
  • Jupyter Notebook 2.5%
  • Other 2.0%