Whisper.cpp + GPU 加速全攻略:Mac M 芯片高效转录音频教程

内容预告

本文将手把手教你如何利用 GPU 加速,在 Mac M 芯片上使用 Whisper 进行音频转文字,大幅提升转录效率。

本教程涵盖:

  • Whisper.cpp 简介:为什么它适用于本地语音转写?
  • Mac M 芯片的 GPU 加速:如何使用 CoreML 提升处理速度?
  • 完整搭建流程:环境准备、项目编译、模型下载、音频格式转换等。
  • 实战优化技巧:批量转换、手动下载模型、避免常见问题等。

为爱发电,如果对你有帮助,请不吝 点赞关注,谢谢 😁


1. 背景介绍

Whisper.cpp 简介

Whisper 是 OpenAI 开源的语音识别模型,支持多语言转写,在降噪和语音识别方面表现出色。whisper.cpp 是该项目的 C/C++ 版本,可以在本地设备上高效运行,无需 Python 依赖,非常适合 轻量级部署

Mac M 芯片的 GPU 加速

Apple M1/M2/M3 芯片内置 高性能 GPUNeural Engine,但默认情况下 Whisper.cpp 不会自动利用 GPU
我们可以使用 CoreML 工具链 将 Whisper 模型转换为 CoreML 格式,从而大幅加快语音转写速度。


2. 环境准备

2.1 安装 Xcode 及命令行工具

image.png

首先,确保你已安装 Xcode 并配置好 Command Line Tools:

xcode-select --install

如果已安装,可以通过以下命令检查:

xcode-select -p

2.2 安装 Homebrew(推荐)

Homebrew 是 macOS 上的包管理工具,可用于安装必要的依赖:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install cmake ffmpeg

3. 下载 Whisper.cpp 并获取模型

3.1 克隆项目代码
git clone https://github.com/ggerganov/whisper.cpp.git
cd whisper.cpp
3.2 下载模型文件

Whisper 提供多个不同规模的模型:

Model磁盘占用内存占用(约)
tiny75 MB273 MB
base142 MB388 MB
small466 MB852 MB
medium1.5 GB2.1 GB
large2.9 GB3.9 GB

下载方式:

sh ./models/download-ggml-model.sh large-v3-turbo

如果遇到 下载速度慢,可以手动下载:

curl -L -o models/ggml-large-v3-turbo.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin

4. 配置 GPU 加速(Mac M 芯片)

4.1 安装 Python 及 Conda

推荐使用 Miniforge 作为 Conda 发行版:

brew install miniforge
conda create -n whisper_env python=3.10 -y
conda activate whisper_env
4.2 安装依赖
pip install torch==2.5.0 --extra-index-url https://download.pytorch.org/whl/cpu
pip install openai-whisper coremltools
pip install --no-deps ane-transformers

验证是否成功安装:

python -c "import torch; print(torch.__version__)"
python -c "import whisper; print(whisper.__version__)"

5. 模型转换为 CoreML 格式

运行以下命令,将 Whisper 模型转换为 CoreML 格式 以实现 GPU 加速:

./models/generate-coreml-model.sh large-v3-turbo

如果报错 coremlc: error: Model does not exist,请手动下载:

curl -L -o models/coreml-encoder-large-v3-turbo.mlpackage https://huggingface.co/ggerganov/whisper.cpp/resolve/main/coreml-encoder-large-v3-turbo.mlpackage

image.png

放在 whisper.cpp/models/ 文件夹下面
image.png


6. 编译 Whisper.cpp

6.1 使用 Makefile 构建
make clean
WHISPER_COREML=1 make -j
6.2 使用 CMake 构建
mkdir build && cd build
cmake -DWHISPER_COREML=1 ..
make -j

构建成功后,你会看到如下输出:
构建成功


7. 运行 Whisper 转录程序

以 Whisper Large V3 turbo 为例,确保输入的音频文件是 WAV 格式

./build/bin/whisper-cli -m models/ggml-large-v3-turbo.bin -f samples/jfk.wav

运行时,你会看到 GPU 资源正在被使用:
运行示意图


8. 语音格式转换(可选)

如果你的音频文件是 .mp3,可以使用 FFmpeg 转换:

ffmpeg -i steve.mp3 -ar 16000 -ac 1 -c:a pcm_s16le steve.wav

批量转换

for file in *.mp3; do ffmpeg -i "$file" -ar 16000 -ac 1 -c:a pcm_s16le "${file%.mp3}.wav"; done

如果你想让 Whisper 在 Mac 上发挥最大性能,这篇教程能帮到你!🔥

不定期更新专业知识和有趣的东西,欢迎反馈、点赞、加星
您的鼓励和支持是我坚持创作的最大动力!ღ( ´・ᴗ・` )

### Whisper 本地安装教程 #### 环境准备 为了成功在本地环境中安装并运行 Whisper,需先确认操作系统及其版本。以下是针对不同操作系统的具体安装指南。 --- #### macOS (基于 M1 Pro, macOS 13.6) macOS 用户可以按照以下步骤完成 Whisper 的安装: 1. **Python 安装** - 推荐使用 Python 3.9 或更高版本。可以通过 Homebrew 来安装最新版的 Python[^3]。 ```bash brew install python@3.9 ``` 2. **依赖库管理工具 Conda** - 使用 Anaconda 或 Miniconda 创建虚拟环境以隔离项目依赖项。 ```bash conda create -n whisper-env python=3.9 conda activate whisper-env ``` 3. **Whisper 库安装** - 在激活的虚拟环境下通过 pip 安装 `openai-whisper`。 ```bash pip install git+https://github.com/openai/whisper.git ``` 此命令会自动拉取最新的 Whisper 版本并解决其依赖关系[^1]。 4. **FFmpeg 配置** - FFmpeg 是处理音频文件的重要工具,可通过 Homebrew 轻松安装。 ```bash brew install ffmpeg echo 'export PATH="/usr/local/opt/ffmpeg/bin:$PATH"' >> ~/.zshrc source ~/.zshrc ``` 5. **验证 GPU 支持** - 对于 Apple Silicon 设备(如 M1/M2),推荐利用 MPS 后端加速推理速度。确保 PyTorch 已正确配置支持 MPS 加速。 ```python import torch print(torch.backends.mps.is_available()) # 输出 True 表明可用 ``` --- #### Windows 系统安装流程 对于 Windows 平台上的用户,则可遵循如下方法来设置开发环境: 1. **Python 和 Anaconda 下载** - 访问官方站点下载适用于 Windows 的 Python 3.11 及 Anaconda 发行包[^2]。 2. **创建新环境** - 执行以下指令建立名为 “whisper”的独立工作区: ```bash conda create -n whisper python=3.11 conda activate whisper ``` 3. **引入必要模块** - 利用 pip 命令获取所需软件包以及额外资源: ```bash pip install git+https://github.com/openai/whisper.git pip install ffmpeg-python ``` 4. **测试初始执行状况** - 尝试加载预训练模型并对样例数据进行转录分析,以此检验整体架构是否正常运作。 ```python import whisper model = whisper.load_model("base") result = model.transcribe("audio.mp3") print(result["text"]) ``` 5. **检查硬件兼容性** - 如果计算机配备 NVIDIA 显卡,请进一步核实 CUDA 是否被妥善集成到现有框架之中以便充分发挥图形处理器效能。 --- #### 自定义编译方式——whisper.cpp 除了上述两种主流途径外,还存在一种更为灵活的选择即采用 C++ 实现版本—whisper.cpp 。它允许开发者自行调整参数甚至优化性能表现而无需受限于特定平台约束条件限制: 1. 克隆仓库至本地磁盘位置; ```bash git clone https://github.com/ggerganov/whisper.cpp.git cd whisper.cpp ``` 2. 编译源码生成二进制文件; ```bash make ./main -h ``` 3. 提供输入音轨路径启动转换进程; ```bash ./main -f your_audio_file.wav ``` 以上便是关于如何从零起步搭建属于自己的 Whisper 系统实例指导说明文档全文内容总结概述完毕! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值