Windows系統(tǒng) Whisper(OpenAI) 安裝指南(全局python環(huán)境)
本文將介紹如何在Windows上安裝并運行whisper或其他變體。
注意:最好使用Anaconda環(huán)境。下文均為全局Python環(huán)境,易導(dǎo)致混亂。本人未有使用Anaconda環(huán)境配置whisper的經(jīng)驗,非常抱歉。
各配置并不詳盡,本人水平有限,還請包涵。
本文中多次提及或使用GitHub,如果您無法正常連接該網(wǎng)站,請自尋鏡像站或科學(xué)方法。
本文中的PATH均指Windows環(huán)境變量PATH,您可以通過以下方式更改
右鍵“此電腦”選擇“屬性”,選擇“高級系統(tǒng)屬性”,“環(huán)境變量”。雙擊“Path”,右邊選擇“新增”,然后輸入路徑、確定即可

參測硬件:
NVIDIA GeForce RTX 2060 Super 8G
AMD Radeon RX 550 2G

目錄(推薦)
一、openai / whisper(原版)
二、whisper-ctranslate2
三、whisperX
四、Const-me / Whisper【支持AMD顯卡,有GUI】

一、openai?/ whisper (原版)
官方原版whisper的硬件推理支持與PyTorch一致,在Windows上僅支持NVIDIA CUDA,在Linux上可以使用AMD ROCm。
環(huán)境(NVIDIA GPU):CUDA、cuDNN
環(huán)境(通用):Python、PyTorch

1. 配置環(huán)境 Python與(NVIDIA)CUDA
到Python官網(wǎng)下載Python安裝包
注意:安裝時最好勾選“Add to PATH”,不勾選就需要自己添加到PATH,比較麻煩
遵循 mirrors.tuna.tsinghua.edu.cn/help/pypi/ 更換pip源為清華Tuna鏡像
(NVIDIA GPU)到PyTorch官網(wǎng)“Get Started”頁面確認可用的CUDA版本,然后到NVIDIA官網(wǎng)下載對應(yīng)的CUDA并安裝。
安裝時注意:Nsight部分可以不安裝。如果只是跑whisper只勾選Runtime都可以。

(NVIDIA GPU)在NVIDIA官網(wǎng)下載對應(yīng)CUDA版本的cuDNN,將cuDNN壓縮包保留目錄結(jié)構(gòu)解壓到CUDA安裝文件夾
注意:cuDNN需要NVIDIA開發(fā)者賬號,直接用一般NVIDIA賬號申請就可以了
2. 配置環(huán)境 PyTorch
回到PyTorch官網(wǎng)“Get Started”頁面,復(fù)制“Run this command”后文本框內(nèi)的指令,打開cmd或Powershell,粘貼,回車執(zhí)行
如果速度太慢,您可以這樣操作:復(fù)制運行時顯示的鏈接放入下載軟件(如IDM)進行下載。然后再將下載完成的whl運行 pip install "<whl文件路徑>"
該步下載的有三:torch、torchvision和torchaudio。只有torch在帶CUDA時會體積龐大。
3. 開始安裝whisper
(下一步報錯執(zhí)行這一步)前往Rust官網(wǎng)“Get started”,選擇“Download Rustup-init.exe”安裝?Rust?(www.rust-lang.org)。將Rust添加到PATH,再運行?pip install setuptools-rust
運行 pip install whisper?來安裝whisper,如果你渴望更新的功能,應(yīng)前往GitHub的Whisper項目頁面遵照Readme進行安裝。
您還需要FFmpeg以便whisper正確讀取文件,請到FFmpeg官網(wǎng)(ffmpeg.org)的“Download”頁面選擇Windows圖標,選擇“Windows build from gyan.dev”,然后在“release builds”下選擇“ffmpeg-release-full-shared.7z”。
只需要解壓Bin文件夾內(nèi)的文件,解壓出Bin文件夾下的EXE和DLL后,您需要把它們所在的路徑加入PATH
whisper第一次運行時會下載模型到模型文件夾,如果您覺得下載速度太慢,有以下方法:
打開GitHub的whisper項目whisper/__init__.py,文件里有各模型的直鏈,您可以使用IDM等下載工具進行下載,放入您指定的模型文件夾。
正確安裝之后的使用:在cmd或Powershell鍵入 whisper -h 即可查看指令幫助,常有的有
--model 指定使用的模型
--model_dir 模型存放文件夾
--device PyTorch推理所用設(shè)備(默認CUDA,可切換為CPU)
--output_dir 輸出文件夾
--output_format 輸出格式,默認全格式都輸出一份
--language 指定所要掃描的音頻使用的語言
--word_timestamps 詞級時間戳(更精確的時間戳),推薦打開
具體每個選項能能輸什么東西請看 -h,里面都有列出
一般命令:whisper --model <模型>?--model_dir "<模型所在文件夾>"?--output_dir "<輸出文件夾>" --output_format <輸出格式> --word_timestamps True "<輸入文件>"

二、whisper-ctranslate2(faster-whisper)
基于faster-whisper(CTranslate2)后端的變體,有與原版Whisper相兼容的命令行,特點是快最多4倍的推理速度,顯存使用更少。不支持AMD硬件推理。

安裝方式基本同Whisper,但不需要安裝 Rust 和 PyTorch(應(yīng)該),前面的步驟請參考上文,到安裝whisper這步時:
使用 pip install -U whisper-ctranslate2 安裝whisper-ctranslate2前端。此時pip應(yīng)該會自動安裝ctranslate2等依賴
使用時也需要下載模型(注意:和openai/whisper的.pt不兼容),如果您覺得下載速度過慢,可以從https://huggingface.co/guillaumekln手動選擇要下載的模型進行下載
命令行基本同Whisper。但是加入了
--highlight_words 以不同顏色表示whisper對該詞的猜測可能性大小
實時音頻輸入轉(zhuǎn)換支持。
使用命令時把whisper換為whisper-ctranslate2即可

三、whisperX(faster-whipser,pyannote-audio,wav 2vec2)
基于faster-whisper(CTranslate2)后端,并加入pyannote-audio以進行多說話人識別,同時還使用wav 2vec2提供更準確的詞級時間戳(存疑)。缺點是配置較為困難,只能通過git安裝。
安裝whisperX您需要一個可以正常連接GitHub的網(wǎng)絡(luò)環(huán)境,或通過鏡像先手動安裝pyannote-audio,再安裝whisperX。
需要PyTorch,N卡必須安裝CUDA和cuDNN,需要FFmpeg,請參考上文。
去Git官網(wǎng)下載Windows版Git并安裝
遵照GitHub上whisperX項目頁面指示安裝whisperX
pip install git+https://github.com/m-bain/whisperx.git
如果您無法正常訪問GitHub,請使用鏡像網(wǎng)站。
如果安裝過程中您下載pyannote-audio失敗,請前往GitHub上pyannote-audio的項目頁遵循指示安裝pyannote-audio,如有必要請使用鏡像。
pip install -qq https://github.com/pyannote/pyannote-audio/archive/refs/heads/develop.zip
您應(yīng)該提前安裝lightning和torch-audiomentations以避免不要的git clone。
pip install lightning
torch-audiomentations
值得一提的是,這玩意每個語言都要下一坨模型,所以初次配置很麻煩。直鏈下載鏈接待補。
在測試中我沒能讓它正確斷句。不知道問題出在哪里。

四、Const-me / Whisper(whisper.cpp)
基于whisper.cpp后端的變體,支持通過基于DirectCompute(DX11.0)的GPGPU進行硬件推理,所以兼容AMD顯卡,并支持多種推理負載(GPU、混合、CPU參考)。特點是兼容性特別強、環(huán)境配置簡單、顯存/運存使用量小,速度快于原版。

不需要python,使用Windows自帶的Media Foundation架構(gòu)代替了FFmpeg進行音頻讀取,基本不需要裝依賴(N卡要裝CUDA)。
https://github.com/Const-me/Whisper
有圖形化界面(Release里下載WindowsDesktop),也推薦使用圖形化界面。其CLI與openai/whisper并不兼容。
您可以從?https://huggingface.co/ggerganov/whisper.cpp/tree/main 下載您所需的模型(擴展名為.bin),也可以根據(jù)GitHub上whisper.cpp的說明手動轉(zhuǎn)換您已有的openai/whisper模型
測試內(nèi)容:蓮之空6月度Fes×LIVE@撫子祭 切片長度2m07s
在AMD Radeon RX 550 2G上成功運行全部模型。
其中Large模型用時7m49s
在NVIDIA GeForce RTX 2060 Super 8G上成功運行全部模型。
其中Large模型用時22s
輸出內(nèi)容一致
注意:whisper.cpp不支持詞級時間戳,如果用于打軸準確度稍低。

一切請以GitHub上各項目頁的安裝指示為準,本文僅供參考。
我未使用過各種漢化簡化版本。這方面的信息抱歉不能提供。
本人水平有限,心有余而力不足,只能做出這種完成度的文章。
