※ 本文轉寄自 ptt.cc, 文章原始頁面
看板AI_Art
標題

[分享] openai_whisper / faster-whisper /webui

時間
最新2023-07-26 06:09:00
留言7則留言,3人參與討論
推噓5 ( 502 )
whisper這是openai公開的語音辨識模型 非常強大相信不少人已經聽過或使用過了 沒聽過也沒關係這邊做個使用介紹 這裡主要要介紹的是 whisper與faster-whisper 還有whisper-webui(網頁版本) openai/whisper https://github.com/openai/whisper guillaumekln/faster-whisper https://github.com/guillaumekln/faster-whisper aadnk/whisper-webui https://huggingface.co/spaces/aadnk/whisper-webui ___________________________ 一. whisper OpenAI相信大家都知道 他是開發ChatGPT的組織 除了GPT外也有推出其他公開的模型 whisper是在2022年9月首次發佈的 是一種通用的語音辨識模型 目前提供六種級距的模型(視GPU等級選擇) 越大的模型效果越好但也較耗資源 https://i.imgur.com/UWXod1R.png
[分享] openai_whisper / faster-whisper /webui
https://i.imgur.com/S6AYJE8.png
[分享] openai_whisper / faster-whisper /webui
large-v2模型是在2022年底才推出的 參數與原本的large模型一樣 但是效果更好了,詳細可參考底下討論說明 https://github.com/openai/whisper/discussions/661 下圖是whisper以large-v2模型 驗證的單詞錯誤率(Word Error Rate) 越上面的語言錯誤率越低 我自己常使用英文、日文、中文 辨識的都還不錯 https://i.imgur.com/hKKn2mm.png
[分享] openai_whisper / faster-whisper /webui
在github上面還有介紹Python呼叫使用方式 有興趣的可以看看,這裡就先略過了 ___________________________ 二. faster-whisper guillaumekln使用CTranslate2重新實作出OpenAI的Whisper模型 github上說明同精度下速度比openai/whisper 快 4 倍, 並且使用更少的記憶體,在CPU和GPU上使用8-bit量化可以進一步提高效率。 https://i.imgur.com/r9Uf0Fj.png
[分享] openai_whisper / faster-whisper /webui
這使得large-v2模型在低VRAM上也能使用 在github上面也有介紹Python呼叫使用方式 有興趣的可以看看,這裡同樣略過 ___________________________ 三. whisper-webui 再來是讓所有人都能輕易使用的webui介面版本 這是aadnk在2022年10月於whisper的discussions中 發文說明製作了whisper的WebUI版本 支援使用VAD 加強英語以外的語言 而且最厲害的是還整合了yt-dlp套件 支援貼上youtube連結自動語音辨識 我測試時發現nicovideo也支援(不過載入的很慢) Whisper WebUI with a VAD for more accurate non-English transcripts (Japanese) 帶有 VAD 的 Whisper WebUI 可獲取更準確的非英語成績單(日語)#397 https://github.com/openai/whisper/discussions/397 作者也有在Hugging Face中公開直接可以使用的版本 有兩種,原版whisper-webui與faster-whisper-webui https://huggingface.co/spaces/aadnk/whisper-webui https://huggingface.co/spaces/aadnk/faster-whisper-webui 因為huggingface免費版本是用CPU跑的 所以作者有限制影片長度 原版whisper僅能10分鐘(600s) faster-whisper放寬至30分鐘(1800s) 若是在自己電腦上跑就能設置不限長度 啟動app.py時要加上[--input_audio_max_duration -1] 下圖是webui執行時的畫面 有沒有發現與stable-diffusion-webui風格很相似呢? 因為webui其實是python的公開套件gradio 很多AI模型都可以搭配gradio來製作出易於使用的版本 https://i.imgur.com/KaizWqr.png
[分享] openai_whisper / faster-whisper /webui
作者也有製作Win10/11的whisper-webui安裝步驟 https://reurl.cc/DAL32E ___________________________ 四. 安裝步驟說明 底下是我自己安裝webui時 紀錄的粗略步驟 推薦使用faster-whisper-webui 另外我只知道N卡的安裝方式... 1. CUDA Toolkit 12.2 CUDA Toolkit 12.2 Download Installer for Windows 10 x86_64 https://developer.nvidia.com/cuda-downloads 這是N卡的CUDA開發套件,不少模型都會需要用到這個 如果系統已經有安裝了,可以略過 2. git clone faster-whisper-webui & 建立python虛擬環境 要先安裝git版本控管工具 然後找個你喜好的位置安裝 faster-whisper-webui 用git相關工具或cmd命令提示字元都可以 git clone "https://huggingface.co/spaces/aadnk/faster-whisper-webui" PS. 檢視程式後會發現whisper-webui與faster-whisper-webui都一致 主要差別在於requirements.txt需求套件不同 能在執行app.py時,使用[--whisper_implementation]來決定whisper實作方式 --whisper_implementation faster-whisper 另外也都有附上兩種版本的套件相依管理檔案 requirements-whisper.txt requirements-fasterWhisper.txt 3. 建立python虛擬環境 先安裝Python 3.10.12 (或是系統已有安裝的直接使用) python從3.4版本開始支援建立虛擬環境 好處是每個專案之間不會版本干擾 壞處是每個專案檔案都超大 這邊為whisper建立venv的虛擬環境 cd path\faster-whisper-webui\ python -m venv venv venv\Scripts\activate 執行activate後,才會進入虛擬環境,前面會加上venv名稱(如下) (venv) path\faster-whisper-webui> 4. 安裝pytorch 在windows上主要有兩種安裝方式: Conda與pip 我習慣使用pip,這個安裝完python後就有 Conda除了python外還要再安裝Conda管理系統 如果是使用Conda,前一步驟就會在Conda中做掉 這邊僅說明pip方式,我選擇安裝CUDA 11.8 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 5. 用pip 安裝fasterWhisper 需要的套件 pip install -r requirements.txt 6. 執行app.py 在cmd命令提示字元中 cd path\faster-whisper-webui\ set COMMANDLINE_ARGS= --whisper_implementation faster-whisper --input_audio_max_duration -1 python app.py %COMMANDLINE_ARGS% 上面[COMMANDLINE_ARGS=]後面不能斷行,這邊因為太長了才斷行顯示 7. 自製修改版本 其實我自己也有從aadnk作者 那邊fork一份做了些修改 *首先我加入了webui.bat 這是參考stable-diffusion-webui的程式修改的 我只要執行webui.bat就能啟動app.py了 *Chinese自動繁體中文 whisper的一個缺點就是辨識的中文幾乎是簡體的 要使用prompt提示他要使用繁體中文 如果每次使用都要手動調整也是很煩人 我就加入了判斷,選擇Chinese時 自動將initial_prompt 加上 "繁體: " * 變更yt-dlp的youtube預設下載格式 原版本輸入youtube影片連結時 僅會下載聲音檔案【bestaudio】 我修改為【bestvideo[ext=mp4]+bestaudio[ext=m4a]】 這樣就會下載完整影片檔案 *再來是我加入了一些新arguments: --vad_max_merge_size: 啟動時可以自動帶入自訂的Max Merge Size (s). --language: 啟動時可以自動帶入自訂的語言 --save_downloaded_files: 原版本貼上的影片url,在辨識完畢後,會自動移除, 加上這個後會將影片移動至指定的輸出位置(--output_dir XXX) --merge_subtitle_with_sources: 設定這個後,在影片語音辨識完成後,會將產生的字幕srt檔案 使用ffmpeg自動與影片檔案合併,並且移動至指定的輸出位置(--output_dir XXX) 設置後會取代save_downloaded_files功能 --autolaunch: 這個就是執行後,會自動在瀏覽器開啟[http://127.0.0.1:7860/] avans06/whisper-webui https://huggingface.co/spaces/avans06/whisper-webui -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.20.228 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/AI_Art/M.1689866228.A.CBA.html

7 則留言

v86861062, 1F
推推

Vulpix, 2F
看起來很棒,之後來用~

Vulpix, 3F
另外想問一下關於tts有沒有類似的,嗯,可以自己訓練模型

Vulpix, 4F
並拿來用的專案?類似的東西網路上好像很多,但看不懂。
tts確實有不少 因為我僅有聽日文小說的需求 前陣子我有在huggingface搜尋後 找到RinneVoiceSet聲音模型 這個是使用COEIROINK-GPU這個軟體來發音的 不過因為只能說日文 用途非常有限呢 COEIROINK-GPU https://coeiroink.com/download RinneAi/RinneVoiceSet https://huggingface.co/RinneAi/RinneVoiceSet
※ 編輯: avans (111.71.20.228 臺灣), 07/21/2023 00:52:17
還有一個比較新的 支援多國語系的tts 雖然我沒用過 youtube上有不少介紹 也可參考看看 https://github.com/suno-ai/barkhttps://huggingface.co/spaces/suno/bark
※ 編輯: avans (111.71.20.228 臺灣), 07/21/2023 01:06:24

Vulpix, 5F
bark聽起來好可愛(重點誤)可是好像都沒看到自己訓練的。

Vulpix, 6F
因為也不想用其他人的聲音,想歌聲或說話都用自己的聲線。

andersonhaha, 7F
推 感謝分享