当前位置:首页|资讯|Whisper|GitHub|OpenAI

Windows系统 Whisper(OpenAI) 安装指南(全局python环境)

作者:yyflll发布时间:2023-08-14

本文将介绍如何在Windows上安装并运行whisper或其他变体。

注意:最好使用Anaconda环境。下文均为全局Python环境,易导致混乱。本人未有使用Anaconda环境配置whisper的经验,非常抱歉。

各配置并不详尽,本人水平有限,还请包涵。

本文中多次提及或使用GitHub,如果您无法正常连接该网站,请自寻镜像站或科学方法。

本文中的PATH均指Windows环境变量PATH,您可以通过以下方式更改

  • 右键“此电脑”选择“属性”,选择“高级系统属性”,“环境变量”。双击“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。

环境(NVIDIA GPU):CUDA、cuDNN

环境(通用):Python、PyTorch

各模型体积、显存占用和速度表现

1. 配置环境 Python与(NVIDIA)CUDA

  • 到Python官网下载Python安装包

    注意:安装时最好勾选“Add to PATH”,不勾选就需要自己添加到PATH,比较麻烦


  • 遵循 mirrors.tuna.tsinghua.edu.cn/help/pypi/ 更换pip源为清华Tuna镜像


  • (NVIDIA GPU)到PyTorch官网“Get Started”页面确认可用的CUDA版本,然后到NVIDIA官网下载对应的CUDA并安装。

    安装时注意:Nsight部分可以不安装。如果只是跑whisper只勾选Runtime都可以。

查看当前PyTorch支持的CUDA版本
  • (NVIDIA GPU)在NVIDIA官网下载对应CUDA版本的cuDNN,将cuDNN压缩包保留目录结构解压到CUDA安装文件夹

    注意:cuDNN需要NVIDIA开发者账号,直接用一般NVIDIA账号申请就可以了

2. 配置环境 PyTorch

  • 回到PyTorch官网“Get Started”页面,复制“Run this command”后文本框内的指令,打开cmd或Powershell,粘贴,回车执行

    如果速度太慢,您可以这样操作:复制运行时显示的链接放入下载软件(如IDM)进行下载。然后再将下载完成的whl运行 pip install "<whl文件路径>"

    该步下载的有三:torch、torchvision和torchaudio。只有torch在带CUDA时会体积庞大。

3. 安装 FFmpeg

  • 到FFmpeg官网(ffmpeg.org)的“Download”页面选择Windows图标,选择“Windows build from gyan.dev”,然后在“release builds”下选择“ffmpeg-release-full-shared.7z”。

    只需要解压Bin文件夹内的文件,解压出Bin文件夹下的EXE和DLL后,您需要把它们所在的路径加入PATH

4. 安装whisper

  • (下一步报错执行这一步)前往Rust官网“Get started”,选择“Download Rustup-init.exe”安装 Rust (www.rust-lang.org)。将Rust添加到PATH,再运行 pip install setuptools-rust


  • 运行 pip install whisper 来安装whisper,如果你渴望更新的功能,应前往GitHub的Whisper项目页面遵照Readme进行安装。


  • whisper第一次运行时会下载模型到模型文件夹,如果您觉得下载速度太慢,有以下方法:

    打开GitHub的whisper项目whisper/__init__.py,文件里有各模型的直链,您可以使用IDM等下载工具进行下载,放入您指定的模型文件夹。

正确安装之后的使用:在cmd或Powershell键入 whisper -h 即可查看指令帮助,常有的有

  • --model 指定使用的模型

  • --model_dir 模型存放文件夹

  • --device PyTorch推理所用设备(默认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硬件推理。

faster-whisper与openai/whisper及whisper.cpp的对比

安装方式基本同Whisper,但不需要安装 Rust 和 PyTorch(应该),前面的步骤请参考上文,到安装whisper这步时:

  • 使用 pip install -U whisper-ctranslate2 安装whisper-ctranslate2前端。此时pip应该会自动安装ctranslate2等依赖

  • 使用时也需要下载模型(注意:和openai/whisper的.pt不兼容),如果您觉得下载速度过慢,可以从https://huggingface.co/guillaumekln手动选择要下载的模型进行下载

命令行基本同Whisper。但是加入了

  • --highlight_words 以不同颜色表示whisper对该词的猜测可能性大小

  • 实时音频输入转换支持。

使用命令时把whisper换为whisper-ctranslate2即可

三、whisperX(faster-whipser,pyannote-audio,wav 2vec2)

基于faster-whisper(CTranslate2)后端,并加入pyannote-audio以进行多说话人识别,同时还使用wav 2vec2提供更准确的词级时间戳(存疑)。缺点是配置较为困难,只能通过git安装。

安装whisperX您需要一个可以正常连接GitHub的网络环境,或通过镜像先手动安装pyannote-audio,再安装whisperX。

需要PyTorch,N卡必须安装CUDA和cuDNN,需要FFmpeg,请参考上文。

  • 去Git官网下载Windows版Git并安装


  • 遵照GitHub上whisperX项目页面指示安装whisperX

    pip install git+https://github.com/m-bain/whisperx.git

    如果您无法正常访问GitHub,请使用镜像网站。


  • 如果安装过程中您下载pyannote-audio失败,请前往GitHub上pyannote-audio的项目页遵循指示安装pyannote-audio,如有必要请使用镜像。

    pip install -qq https://github.com/pyannote/pyannote-audio/archive/refs/heads/develop.zip


  • 您可以提前安装lightning和torch-audiomentations。

    pip install lightning torch-audiomentations

这玩意每个语言都要下一坨模型,所以初次配置很麻烦。直链下载链接待补。

在测试中我没能让它正确断句。不知道问题出在哪里。

四、Const-me / Whisper(whisper.cpp)

基于whisper.cpp后端的变体,支持通过基于DirectCompute(DX11.0)的GPGPU进行硬件推理,所以兼容AMD显卡,并支持多种推理负载(GPU、混合、CPU参考)。特点是兼容性特别强、环境配置简单、显存/运存使用量小,速度快于原版。

whisper.cpp各模型的运存使用情况

不需要python,使用Windows自带的Media Foundation架构代替了FFmpeg进行音频读取,基本不需要装依赖(N卡要装CUDA)。

https://github.com/Const-me/Whisper

有图形化界面(Release里下载WindowsDesktop),也推荐使用图形化界面。其CLI与openai/whisper并不兼容。

您可以从 https://huggingface.co/ggerganov/whisper.cpp/tree/main 下载您所需的模型(扩展名为.bin),也可以根据GitHub上whisper.cpp的说明手动转换您已有的openai/whisper模型


测试内容:莲之空6月度Fes×LIVE@抚子祭 切片长度2m07s

  • 在AMD Radeon RX 550 2G上成功运行全部模型。

    其中Large模型用时7m49s

  • 在NVIDIA GeForce RTX 2060 Super 8G上成功运行全部模型。

    其中Large模型用时22s

输出内容一致

注意:whisper.cpp不支持词级时间戳,如果用于打轴准确度稍低。

一切请以GitHub上各项目页的安装指示为准,本文仅供参考。

我未使用过各种汉化简化版本。这方面的信息抱歉不能提供。

本人水平有限,心有余而力不足,只能做出这种完成度的文章。

本文章遵循 CC BY-NC-SA 4.0 许可共享



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1