Skip to content

Whisper_CPP 语音识别集成

这是什么?

Whisper_CPP 是 OpenAI Whisper 模型的 C++ 高性能实现版本,通过 pythonnet 和 Whisper.net 库与 pyVideoTrans 集成。相比原生 Python 实现,Whisper_CPP 具有更快的推理速度和更低的内存占用。

核心优势

  • 原生 C++ 实现,运行效率高
  • 支持 CUDA(NVIDIA)和 Vulkan(AMD)GPU 加速
  • 无需安装复杂的 Python 依赖
  • 模型文件格式为 GGML,体积更小

支持的模型

Whisper_CPP 使用 GGML 格式模型文件(.bin 扩展名),支持以下模型:

模型文件参数量显存需求识别效果推荐场景
ggml-tiny.bin39M~1GB一般快速测试
ggml-base.bin74M~1GB较好日常简单场景
ggml-small.bin244M~2GB多语言识别
ggml-medium.bin769M~5GB很好高精度识别
ggml-large-v1.bin1550M~10GB大模型 v1
ggml-large-v2.bin1550M~10GB很好大模型 v2
ggml-large-v3.bin1550M~10GB最佳最高精度
ggml-large-v3-turbo.bin1550M~10GB最佳且更快推荐首选

推荐ggml-large-v3-turbo.bin 在保持最高精度的同时速度更快,是大多数用户的首选。

环境要求

Windows 系统

  • Windows 10/11 64位
  • 如需 GPU 加速:
    • NVIDIA 显卡:需要安装对应版本的 CUDA Toolkit(支持 CUDA 11.x 或 12.x)
    • AMD 显卡:需要支持 Vulkan 的驱动程序

macOS 系统

  • macOS 12.0 或更高版本
  • 支持 Apple Silicon (M1/M2/M3) 和 Intel 处理器

安装步骤

步骤一:下载 whisper-cli 主程序

根据你的操作系统和硬件情况,选择对应的预编译版本:

下载地址https://github.com/ggml-org/whisper.cpp/releases/tag/v1.8.2

系统配置下载文件说明
Windows(无 NVIDIA 显卡)whisper-bin-x64.zipCPU 版本
Windows(有 NVIDIA 显卡,CUDA 12.x)whisper-cublas-12.4.0-bin-x64.zipCUDA 12 GPU 加速版
Windows(有 NVIDIA 显卡,CUDA 11.x)whisper-cublas-11.8.0-bin-x64.zipCUDA 11 GPU 加速版
macOSwhisper-v1.8.2-xcframework.zipApple 原生框架版

步骤二:解压并整理文件

  1. 将下载的压缩包解压到一个不含中文和空格的简短路径下

    推荐路径D:\whispercppC:\whispercpp

    注意:路径中包含中文或空格可能导致程序运行异常,请务必避免。

  2. 解压后确认目录中包含 whisper-cli.exe 文件

  3. 确保依赖文件夹结构正确:

    whispercpp/
    ├── whisper-cli.exe           (主程序)
    ├── deps/
    │   ├── Whisper.net.dll       (.NET 绑定)
    │   └── native/
    │       └── whisper.cpp 原生库文件
    └── models/
        └── ggml-*.bin            (模型文件,需自行下载)

步骤三:下载模型文件

从以下地址下载 GGML 格式模型文件:

下载后将 .bin 文件放入 Whisper_CPP 安装目录的 models 文件夹内。

步骤四:在 pyVideoTrans 中配置

  1. 打开 pyVideoTrans 软件
  2. 点击菜单栏 → 语音识别设置Whisper_CPP
  3. 点击"选择 whisper-cli"按钮
  4. 在文件浏览窗口中找到解压后的 whisper-cli.exe 文件
  5. 点击确定保存配置

关键参数说明

Whisper_CPP 支持以下可调参数,可根据需要在源码中调整:

参数名默认值说明
no_speech_threshold-0.8语音检测阈值,值越小越灵敏
logprob_threshold-1.0对数概率阈值,用于过滤低置信度结果
condition_on_previous_texttrue是否参考前文进行识别,开启可提高上下文连贯性

常见问题

问题可能原因解决方法
whisper-cli.exe 无法启动缺少 VC++ 运行库安装 Microsoft Visual C++ Redistributable
提示找不到模型文件模型未下载或路径错误.bin 模型文件放入 models/ 目录
GPU 加速未生效CUDA/Vulkan 环境未配置安装对应版本的 CUDA Toolkit 或更新显卡驱动
识别速度很慢使用了 CPU 版本下载对应的 CUDA 加速版本并正确配置
识别结果不准模型太小或语言设置错误使用更大的模型,确认语言设置正确
路径包含中文报错程序路径不支持中文将 whisper-cli 移动到不含中文的路径下