Skip to main content
PromptQuorumPromptQuorum
主页/本地LLM进阶/本地语音识别2026:Whisper.cpp vs faster-whisper — 基准测试、安装配置、GPU加速
Voice, Speech & Multimodal

本地语音识别2026:Whisper.cpp vs faster-whisper — 基准测试、安装配置、GPU加速

·10分钟阅读·Hans Kuepper 作者 · PromptQuorum创始人,多模型AI调度工具 · PromptQuorum

whisper.cpp与faster-whisper — 两大本地Whisper运行时 — 在各自的目标平台上均具有决定性优势。 在Apple Silicon(M系列Mac)上,配合Metal加速的whisper.cpp是2026年最快的本地STT方案 — M5 Pro上large-v3可达约10倍实时速度。 在NVIDIA GPU服务器和Python管道方面,采用CTranslate2 int8量化的faster-whisper是更好的选择,在RTX 4070上large-v3可达约12倍实时速度,VRAM仅需2.5 GB。两款工具均使用相同的OpenAI Whisper模型权重(tiny至large-v3);区别仅在于运行时优化和集成方式,与转录精度无关。在纯CPU硬件上,两者均可运行tiny和base模型 — faster-whisper通过int8略有优势(约20倍vs约15倍实时速度)。

whisper.cpp和faster-whisper是2026年本地离线语音转文字的两大主流实现。whisper.cpp是纯C/C++移植版本,支持Apple Metal、CUDA、Vulkan和CPU,适用于Apple Silicon、嵌入式系统和实时语音应用。faster-whisper是基于CTranslate2的Python库,通过int8量化在NVIDIA GPU上实现约4倍于原始Whisper的吞吐量。本指南涵盖安装方法、性能基准测试、实时转录配置以及各平台的横向对比。

关键要点

  • whisper.cpp是Apple Silicon的最佳本地STT选择。 该C/C++移植版利用Core ML和Apple Metal进行硬件加速 — M5 Pro上large-v3约10倍实时速度,无需Python依赖。
  • faster-whisper是NVIDIA GPU和Python管道的最佳本地STT选择。 CTranslate2 int8量化将VRAM减少约40%,吞吐量比原始OpenAI实现提升约4倍 — RTX 4070上large-v3约12倍实时速度,VRAM仅约2.5 GB。
  • 两款工具均使用OpenAI相同的Whisper模型权重。 WER(词错误率)完全相同 — 区别仅在于运行时性能和集成方式,与转录精度无关。
  • Whisper large-v3在英语上提供最佳精度,WER为2.5%。 对于大多数生产用例,Whisper small(3.4% WER,2 GB RAM)或medium(2.9% WER,5 GB RAM)提供更好的速度精度平衡。
  • 两款工具均可实现实时转录 — whisper.cpp通过--stream参数,faster-whisper通过内置VAD(语音活动检测)管道。根据模型大小,实际延迟比实时语音慢0.5至2秒。
  • whisper.cpp支持CPU、Metal、CUDA和Vulkan — 是跨平台嵌入式部署(Raspberry Pi、Windows GPU、ARM服务器)的唯一选择。faster-whisper仅支持CPU和CUDA(Mac上无Metal支持)。
  • 对于Raspberry Pi 5和嵌入式Linux,whisper.cpp tiny和base在CPU上是具备实时能力的模型 — tiny运行速度从容超过实时,base在-t 4下约为实时。small模型(3.4% WER)在Pi 5上低于实时,最适合批处理任务。所有推理均在CPU(ARM NEON)上进行 — Pi没有可用于Whisper的GPU路径。

快速概览

  • 两款工具: 均基于OpenAI的开源Whisper模型(MIT许可证)。精度相同 — 运行时不同。
  • whisper.cpp: 由ggerganov用C/C++编写。支持CPU(AVX2/NEON)、CUDA、Metal(Apple)、Vulkan。无需Python。
  • faster-whisper: 基于CTranslate2的Python库。支持CPU(int8)和CUDA。不支持Apple Metal。
  • Whisper模型规格: tiny(39M)、base(74M)、small(244M)、medium(769M)、large-v3(1.55B)。均使用ggml / CTranslate2格式。
  • 大多数用例的最佳模型: Whisper small — 3.4% WER,2 GB RAM内运行,现代CPU上6倍实时速度。
  • RTX 4070基准(large-v3): faster-whisper约12倍实时速度;whisper.cpp CUDA约8倍实时速度。faster-whisper在NVIDIA上胜出。
  • M5 Pro基准(large-v3): whisper.cpp Metal约10倍实时速度;faster-whisper纯CPU约3倍实时速度。whisper.cpp在Apple上胜出。

为什么选择本地语音识别?

云端STT服务(Google Speech-to-Text、AWS Transcribe、Azure Speech)按音频分钟收费 — 通常$0.006至$0.024/分钟 — 并将音频发送至远程服务器。对于隐私敏感应用(医疗听写、法律录音、记者采访、企业会议),本地转录可完全消除数据暴露风险。

  • 隐私保护: 音频永不离开您的设备。本地处理无需第三方数据处理协议。
  • 零成本: 无按分钟计费。每周转录8小时会议的开发者,相比云端STT定价可节省$120至480/月。
  • 离线使用: 在飞机上、安全设施内、网络不稳定区域均可使用。无需管理API密钥。
  • 低延迟: 无上传/下载往返延迟。对于实时语音界面,本地处理将STT延迟从云端的300至800ms降低至50至300ms。
  • 可定制: 可针对特定领域词汇进行微调。运行适合您硬件的任意模型规格。
  • Home Assistant集成: 本地运行的Whisper意味着唤醒词和语音命令永不离开您的家庭网络。请参阅Home Assistant中的本地Whisper →了解完全替代云端STT的插件设置。

Whisper模型规格 — 两款工具的基础

whisper.cpp和faster-whisper均使用相同的Whisper模型权重,分别转换为各自的格式(whisper.cpp使用GGML,faster-whisper使用CTranslate2)。根据您的VRAM/RAM预算和精度要求选择模型规格。

模型参数量VRAM / RAM英语WER速度系数(相对RTX 4070实时)
tiny39M~1 GB7.6%~32×
base74M~1 GB5.0%~16×
small244M~2 GB3.4%~6×
medium769M~5 GB2.9%~2×
large-v31.55B~10 GB2.5%1×(基准)
distil-large-v3~756M~4 GB~2.6%~6×

WER(词错误率)数据来自LibriSpeech干净测试集上的Whisper论文。数值越低越好。速度系数为RTX 4070上faster-whisper int8的数据。distil-large-v3数据来自Distil-Whisper论文。

Distil-Whisper:更快的替代方案

distil-whisper/distil-large-v3是large-v3的蒸馏变体,参数量减少约50%,WER与原版相差约1%以内,运行速度提升约6倍。** 当转录速度比精度更重要时,这是正确的选择。distil-large-v3可与faster-whisper(原生CTranslate2支持)和whisper.cpp(通过GGML格式转换)配合使用,可集成到您已使用的任何运行时。

  • 参数量: ~756M — 约为large-v3 1.55B参数的一半,VRAM需求约4 GB而非约10 GB。
  • 速度: RTX 4070上约6倍实时速度(相比large-v3的1倍基准)— 速度与medium模型相当,精度接近large-v3水平。
  • WER: 英语约2.6% — 仅比large-v3的2.5%高约0.1%。在实际语音中,差异几乎听不出来。
  • 兼容性: 与faster-whisper原生兼容(WhisperModel("distil-large-v3", device="cuda", compute_type="int8"))。对于whisper.cpp,使用distil-whisper GGML转换脚本转换为GGML格式。
  • 最适合: 批量转录任务、VRAM有限的服务器部署,以及希望以medium模型速度获得large-v3质量的任何用例。
  • 不适合: 多语言转录 — distil-large-v3仅支持英语。其他语言请使用large-v3或medium。

whisper.cpp — C/C++移植版

whisper.cpp(由Georgi Gerganov开发)是OpenAI Whisper模型的纯C/C++重新实现,针对低资源和跨平台推理进行了优化。 无需Python,无需CUDA工具包,几乎可在任何硬件上运行 — 从Raspberry Pi到Apple M5 Pro再到Windows CUDA配置。

  • 平台支持: CPU(AVX2、AVX512、ARM NEON)、Apple Metal(Core ML)、CUDA(NVIDIA)、Vulkan(AMD/Intel GPU)、OpenCL。
  • Apple Silicon优势: whisper.cpp将模型导出为Core ML格式,支持在Apple Neural Engine上进行推理。large-v3通过Metal在M5 Pro上实现约10倍实时速度 — 比任何云端往返速度都快。
  • 安装: 克隆代码库,运行make(或cmake)。常见平台有预构建的二进制文件。无Python依赖。
  • 下载模型: bash ./models/download-ggml-model.sh base.en — 下载GGML格式模型文件(base约142 MB)。
  • CLI示例: ./main -m models/ggml-base.bin -f audio.wav — 将WAV文件转录到标准输出。-l zh用于中文。
  • 实时流模式: ./stream -m models/ggml-base.bin --step 3000 --length 10000 — 以3秒块从麦克风转录。
  • Python封装: pywhispercpp为whisper.cpp提供Python绑定,可在Python管道中使用,同时保留Metal加速。
  • 限制: 无原生VAD(语音活动检测)。流模式需要针对具体用例调整--step--length参数。
bash
# Build from source (macOS / Linux)
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
make -j4

# Download a model
bash ./models/download-ggml-model.sh large-v3

# Transcribe a file
./main -m models/ggml-large-v3.bin -f recording.wav

# Enable Metal on Apple Silicon (Core ML)
make -j4 WHISPER_COREML=1
./main -m models/ggml-large-v3-encoder.mlmodelc -f recording.wav

whisper.cpp 最新版本与更新(2026年6月)

whisper.cpp的最新版本是v1.8.6,于2026年6月2日发布。 它延续了v1.8.x维护线(v1.8.4和v1.8.5),聚焦于流式VAD、服务器稳定性和性能 — 而非新模型支持。faster-whisper的当前版本是v1.2.1(2025年10月31日)。两个运行时仍加载相同的OpenAI Whisper权重;2026年转录精度方面没有任何变化。

  • whisper.cpp v1.8.6(2026年6月2日): 重新实现了ffmpeg-transcode,以便更清晰地对压缩音频(MP3、M4A)进行可选的FFmpeg解码,并修复了CI示例路径问题。
  • whisper.cpp v1.8.5(2026年5月): 改进了流式VAD(语音活动检测),修复了服务器参数泄漏和token时间戳问题,并修复了Ruby和VAD绑定中的内存泄漏。
  • whisper.cpp v1.8.4(2026年3月19日): 最新的ggml同步带来广泛的性能提升,新增用于选择GPU的-g / --gpu-device标志(以及GGML_CUDA设备选择),并修复了UTF-8分段换行问题。
  • 原生VAD现已内置于whisper.cpp。 近期版本新增了原生语音活动检测路径,缩小了faster-whisper长期以来的优势 — 不过faster-whisper的Silero VAD集成仍然更开箱即用。
  • faster-whisper v1.2.1(2025年10月31日): 当前稳定版本;pip install faster-whisper即可安装。截至本次更新尚无2026年版本 — 该项目稳定,并非停滞。
  • 2026年没有新的基础Whisper模型。 large-v3和distil-large-v3仍是最新权重,因此两款工具的"更新"都是运行时和工具链变更,而非精度变更。

faster-whisper — CTranslate2版本

faster-whisper(由SYSTRAN开发)是使用CTranslate2 — 支持int8量化的高度优化C++推理引擎 — 重新实现Whisper推理的Python库。 在NVIDIA GPU上,faster-whisper是现有最快的本地Whisper实现。

  • 平台支持: CPU(int8量化)和NVIDIA CUDA GPU。不支持Apple Metal — 在Mac上仅以CPU模式运行。
  • int8优势: CTranslate2 int8量化将VRAM减少约40%,相比float16推理吞吐量提升约2倍,WER影响可忽略不计(绝对值<0.1%)。
  • 安装: pip install faster-whisper — 无需编译。CUDA支持需要CUDA 11.8+和cuDNN 8.x。
  • 内置VAD: faster-whisper包含Silero VAD集成,可自动跳过无声音频段 — 对实时转录管道至关重要。
  • Python原生: 直接的Python API使其可以轻松与LLM、音频处理库和Web框架链接。
  • 速度: RTX 4070上的large-v3 int8约12倍实时速度,VRAM约2.5 GB。CPU int8对tiny模型可达约20倍实时速度。
  • 批量处理: faster-whisper支持批量推理,可高效处理大型音频存档。
  • 限制: Mac上无Metal支持 — 在Apple Silicon上以CPU模式运行,large-v3约3倍实时速度(相比whisper.cpp Metal的约10倍实时速度)。
python
from faster_whisper import WhisperModel

# Load model (downloads automatically on first run)
model = WhisperModel("large-v3", device="cuda", compute_type="int8")

# Transcribe
segments, info = model.transcribe("audio.wav", beam_size=5)

print(f"Detected language: {info.language} (probability: {info.language_probability:.2f})")
for segment in segments:
    print(f"[{segment.start:.2f}s → {segment.end:.2f}s] {segment.text}")

通过pip获取ggml-base.bin(Python配置)

**要通过pip在Python中使用ggml-base.bin,请安装pywhispercpp绑定 — pip install pywhispercpp — 然后加载Model("base"),它会在首次运行时自动下载ggml-base.bin。** 不存在pip install whisper.cpp;pywhispercpp是围绕whisper.cpp C/C++引擎的pip封装,并保留Metal和CUDA加速。GGML模型文件(ggml-base.bin,~142 MB)从Hugging Face单独下载并缓存到本地 — pip包提供的是推理引擎,而非权重。

📍 简单一句话

运行pip install pywhispercpp,然后Python中的Model("base")会在首次使用时自动获取并缓存ggml-base.bin。

💬 简单来说

pip安装的是程序(pywhispercpp);模型文件ggml-base.bin是一个单独的~142 MB下载,发生在首次加载"base"模型时 — 或者你用download-ggml-model.sh脚本手动获取。

  • 安装绑定: pip install pywhispercpp。如需NVIDIA CUDA加速,使用GGML_CUDA=1 pip install git+https://github.com/absadiki/pywhispercpp进行编译。
  • 自动下载ggml-base.bin: from pywhispercpp.model import Model,然后model = Model("base")会在首次运行时从Hugging Face(ggerganov/whisper.cpp)下载ggml-base.bin并缓存。英语专用变体使用"base.en"
  • 手动下载(CLI方式,无需pip): 在克隆的whisper.cpp仓库中,bash ./models/download-ggml-model.sh base会将文件保存到models/ggml-base.bin — 与pywhispercpp获取的是同一文件。
  • 直接下载: curl -L -o ggml-base.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin无需脚本即可拉取模型。将base替换为tinysmallmediumlarge-v3
  • 请勿混淆这些包: pip install openai-whisper安装的是OpenAI原始的PyTorch版Whisper(使用.pt检查点,而非ggml-base.bin)。pip install faster-whisper使用CTranslate2格式。只有pywhispercpp才使用GGML的ggml-*.bin文件。
  • 文件位置: pywhispercpp将下载的GGML模型存储在其模块缓存中(或通过Model("base", models_dir="...")传入的路径),因此同一个ggml-base.bin会在多次运行间复用 — 无需重新下载。
bash
# 1. Install the pip binding for whisper.cpp
pip install pywhispercpp

# 2. ggml-base.bin downloads automatically on first use
#    from pywhispercpp.model import Model
#    model = Model("base")          # fetches & caches ggml-base.bin (~142 MB)
#    for seg in model.transcribe("audio.wav"):
#        print(seg.text)

# --- Or get ggml-base.bin manually (no pip) ---
# From a cloned whisper.cpp checkout:
bash ./models/download-ggml-model.sh base       # -> models/ggml-base.bin

# Or download the file directly from Hugging Face:
curl -L -o ggml-base.bin \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin

正面对比:基准测试表格

所有基准测试除非另有说明均使用large-v3模型。速度以实时倍数衡量(例如10×表示60分钟音频在6分钟内转录完成)。GPU运行使用VRAM数据;CPU运行使用RAM数据。

📍 简单一句话

在Apple Silicon上,配合Metal的whisper.cpp以约10倍实时速度运行large-v3;在NVIDIA GPU上,配合int8的faster-whisper以约12倍实时速度运行 — 每款工具在其目标平台上均具有决定性优势。

💬 简单来说

Mac用户选择whisper.cpp(它使用Apple Neural Engine),Windows/Linux用户有NVIDIA GPU选择faster-whisper(以12倍速处理音频,同时减少40%的GPU内存使用)。

指标whisper.cpp (large-v3)faster-whisper (large-v3)
平台 / 编程语言C/C++(跨平台)Python(CTranslate2)
GPU支持CUDA、Metal、Vulkan仅CUDA
CPU优化AVX2、ARM NEONint8量化
速度 — RTX 4070,large-v3~8倍实时速度~12倍实时速度 ✓
速度 — M5 Pro,large-v3~10倍实时速度(Metal)✓~3倍实时速度(仅CPU)
速度 — 纯CPU(x86),base~15倍实时速度~20倍实时速度 ✓
VRAM — large-v3,GPU~3 GB~2.5 GB(int8)✓
Python集成需要封装器(pywhispercpp)原生支持 ✓
VAD(静音检测)手动(--step调优)内置(Silero VAD)✓
实时流传输支持(--stream参数)✓支持(VAD管道)
WER精度(large-v3)2.5%(相同)2.5%(相同)
Python依赖无 ✓Python 3.8+
Raspberry Pi / 嵌入式支持 — C二进制 ✓有限 — Python开销
输出格式SRT、VTT、JSON、CSV、txtPython对象(start、end、text)

whisper.cpp直接输出到标准字幕和转录文件格式(SRT、VTT、JSON、CSV、txt)— 适合需要磁盘文件且无需额外代码的字幕工作流。faster-whisper产生带有startendtext属性的段对象的Python生成器 — 适合LLM管道链接,可直接将段文本传递到下游模型而无需写入中间文件。字幕生成用whisper.cpp更简单,编程处理段落的管道用faster-whisper更简单。

实时转录配置

实时转录在音频从麦克风到达时分块处理,产生比语音稍有延迟的文本。 两款工具均支持此功能,但各有权衡。

  • whisper.cpp流模式: 运行./stream -m models/ggml-small.bin --step 3000 --length 10000 -t 4。处理3秒音频块;使用small模型约0.5至1.5秒延迟。无需Python。
  • faster-whisper VAD管道:model.transcribe()中使用vad_filter=True。Silero VAD自动在静音边界处分割音频 — 比固定长度窗口更自然的块。
  • 实际延迟: 使用small或medium模型时比实时语音慢0.5至2秒。使用tiny可获得最低延迟(<0.5秒,但WER更高)。
  • 实时模型选择: small或base是实际最优选择 — 足够快以跟上语音,对清晰音频足够准确。除非有专用GPU,否则避免实时使用large-v3。
  • 麦克风输入: whisper.cpp通过SDL2或portaudio读取原始音频。faster-whisper读取任意Python音频库(sounddevice、pyaudio、soundfile)的音频数组。
  • 稳定性: whisper.cpp流模式在静音时可能产生重复标记("幻听"短填充词)。使用--suppress-blank--no-speech-threshold来抑制。

Apple Silicon:whisper.cpp胜出

在M1、M2、M3、M4和M5 Mac上,配合Core ML / Metal加速的whisper.cpp是正确的工具选择 — 毫无疑问。 faster-whisper不支持Metal,在Mac上仅以CPU模式运行,large-v3约3倍实时速度。whisper.cpp配合Metal在M5 Pro上可达约10倍实时速度 — 速度提升3倍。

  • Core ML导出: 运行./models/generate-coreml-model.sh large-v3将编码器导出为Core ML格式。这将编码器推理卸载到Apple Neural Engine。
  • M5 Pro基准(large-v3,Metal): 约10倍实时速度。60分钟音频约6分钟转录完成。注意:M5 Pro于2026年3月发布 — 这些是早期社区基准数据。随着whisper.cpp针对M5 Neural Engine的优化,性能可能会提升。
  • M3 MacBook Air基准(large-v3,Metal): 约7倍实时速度。60分钟约8.5分钟完成。
  • 内存: 统一内存意味着无需独立VRAM — 16 GB M5 Pro可在运行其他进程的同时轻松运行large-v3(约3 GB)。
  • Mac上的faster-whisper: 仅CPU,int8。large-v3约3倍实时速度。可用于整晚批量转录,但不适合实时或时间敏感的工作流。
  • 推荐: 所有Mac STT工作使用whisper.cpp。如果需要Python集成同时保留Metal加速,添加pywhispercpp。

NVIDIA GPU:faster-whisper胜出

在配备NVIDIA GPU的Windows和Linux系统上,faster-whisper是优越的选择。 其CTranslate2 CUDA后端比whisper.cpp的CUDA路径更优化 — RTX 4070上large-v3约12倍vs约8倍实时速度,VRAM占用更低。

  • RTX 4070(12 GB)基准(large-v3 int8): 约12倍实时速度,VRAM约2.5 GB。
  • RTX 3060(12 GB)基准(large-v3 int8): 约8倍实时速度,VRAM约2.5 GB。
  • RTX 4060(8 GB)基准(large-v3 int8): 约7倍实时速度,VRAM约2.5 GB — 轻松适配。
  • int8与float16: int8速度约快2倍,VRAM减少约40%,精度损失可忽略不计。在NVIDIA上始终使用compute_type="int8"
  • 批量处理: faster-whisper的batched=True参数支持并行处理多个音频文件,最大化大型转录任务的GPU利用率。
  • Python管道集成: faster-whisper可直接插入LangChain、Haystack和自定义Python管道。无需封装whisper.cpp时的子进程开销。

在Raspberry Pi 5上运行Whisper:tiny、base与small

在Raspberry Pi 5上,whisper.cpp可以实时运行tiny和base模型用于实时转录,而small模型运行速度低于实时,最适合用于批处理任务。 Pi 5的四核Cortex-A76没有可用于Whisper的GPU路径,因此所有推理都在CPU(ARM NEON)上进行。使用量化的GGML模型(ggml-*-q5_0.bin)可降低内存占用并加快推理速度。

📍 简单一句话

在Raspberry Pi 5上,whisper.cpp的small模型运行速度低于实时(约0.5倍,仅适合批处理);tiny和base才是能跟上实时语音的模型。

💬 简单来说

Pi 5可以用tiny和base这两个Whisper模型转录实时音频,但small模型太重,无法实时跟上 — 请将small用于在后台处理的录制文件,而不是实时麦克风。

  • Pi 5上的Whisper small: CPU上约0.4–0.6倍实时速度(10分钟的片段需要约17–25分钟)。3.4% WER下精度高,但对于实时字幕太慢 — 用于过夜/批量转录。
  • Pi 5上的Whisper base: 借助多线程(-t 4)约为实时到约2倍。是Pi上实时转录的实用最佳平衡点,WER为5.0%,可接受。
  • Pi 5上的Whisper tiny: 最快的选项,实时使用时可轻松快于实时,代价是WER较高(7.6%)。最适合唤醒词和短命令识别。
  • 使用量化模型: bash ./models/download-ggml-model.sh small-q5_0可减少RAM占用并加快推理,精度损失极小 — 在Pi 5的共享内存上很重要。
  • Pi 5上的faster-whisper: 可安装(pip install faster-whisper,CPU int8),在批处理任务中具有竞争力,但whisper.cpp更轻量的C二进制文件是更常见的嵌入式选择。
  • 散热: 持续转录会让Pi 5的CPU高负荷运行 — 使用主动散热以避免热降频侵蚀这些数据。

适用场景指南

从您的使用场景直接映射到正确工具:

📍 简单一句话

Apple Silicon和嵌入式/跨平台目标使用whisper.cpp;NVIDIA GPU和Python管道使用faster-whisper。

💬 简单来说

有Mac就选whisper.cpp — 在Apple硬件上比faster-whisper快3倍。有NVIDIA GPU且写Python就选faster-whisper — 更快且GPU内存少40%。

使用场景推荐工具原因
Apple Silicon Mac(任意型号)whisper.cppMetal / Core ML加速 — 比Mac上仅CPU的faster-whisper快3倍
NVIDIA GPU服务器(Linux/Windows)faster-whisperCTranslate2 int8 — 比whisper.cpp CUDA路径更快且VRAM更低
Python数据管道faster-whisper原生Python API;无子进程封装器;内置VAD
Raspberry Pi / 嵌入式Linuxwhisper.cpp纯C二进制;无Python运行时开销;ARM NEON优化
实时语音助手whisper.cpp低开销的流模式;在Pi / 嵌入式设备上无需Python即可工作
批量转录(大型音频存档)faster-whisper批量推理、GPU利用率、Python异步集成
AMD GPU(Vulkan)whisper.cppVulkan后端支持;faster-whisper仅支持CUDA
纯CPU Linux服务器faster-whisperint8量化在x86 CPU上提供约30%速度优势

超越whisper.cpp和faster-whisper

两款额外工具提供了whisper.cpp和faster-whisper均未内置的功能:说话人分离和极速批量GPU推理。

  • WhisperX:** 基于faster-whisper构建,WhisperX添加了词级时间戳和说话人分离 — 识别哪个说话人说了哪些话。最适合:带说话人标签的会议转录、播客编辑和访谈记录。使用pip install whisperx安装,并提供分离模型的Hugging Face令牌。
  • insanely-fast-whisper:** 添加Flash Attention 2支持的Hugging Face Transformers管道封装器,在NVIDIA硬件上实现比标准faster-whisper更快的GPU推理。最适合:在NVIDIA GPU上批量处理大型音频存档。需要Flash Attention 2兼容GPU(Ampere或更新:RTX 3000+、A100、H100)。

常见问题与解决方案

最常见的配置和运行时问题及直接解决方案:

  • CUDA版本不匹配: faster-whisper需要CUDA 11.8或更高版本。使用nvcc --version检查。如果CUDA较旧,升级驱动程序或在conda环境中使用cudatoolkit=11.8安装faster-whisper。
  • Metal模型导出失败: 确保已安装Xcode Command Line Tools — 运行xcode-select --install。Core ML导出脚本需要coremltools Python包:pip install coremltools
  • 静音时出现幻听: 两款工具在静音音频段上都可能产生重复填充标记。在whisper.cpp流模式中使用--no-speech-threshold 0.6,或在faster-whisper的model.transcribe()中使用vad_filter=True自动跳过静音段。
  • large-v3内存不足: 切换到faster-whisper中的int8量化(compute_type="int8")— 将VRAM从约5 GB(float16)降至约2.5 GB。在whisper.cpp中,使用量化GGML变体(例如ggml-large-v3-q5_0.bin),将内存降至约3至4 GB。
  • 非英语音频出现乱码: 不要对非英语语音使用.en模型变体(tiny.en、base.en)— 它们仅支持英语。使用多语言模型(base、small、medium、large-v3)并明确设置语言:whisper.cpp中使用-l zh,faster-whisper中使用language="zh"
  • CPU推理慢: 确认CPU支持AVX2指令集(优化CPU推理所必需)。Linux上使用grep avx2 /proc/cpuinfo检查,Mac上使用sysctl machdep.cpu.features检查。不支持AVX2的CPU将回退到通用SIMD,速度慢2至3倍。

常见问题解答

whisper.cpp和faster-whisper的转录精度相同吗?

是的。两款工具均使用相同的OpenAI Whisper模型权重 — 模型本身完全相同。区别仅在于推理运行时(C/C++与CTranslate2 Python)。同一音频文件的WER绝对差值在0.1%以内 — 这在束搜索随机性的正常变动范围内。

可以在配备Apple Silicon的Mac上使用faster-whisper吗?

可以,但它仅以CPU模式运行 — faster-whisper没有Metal支持。在M5 Pro上,faster-whisper large-v3以CPU int8模式运行,约3倍实时速度,而whisper.cpp配合Metal约10倍实时速度。对大多数Mac用户来说,同等模型下whisper.cpp快3倍。在Mac上使用faster-whisper的唯一理由是Python管道已经依赖它且速度不是关键因素。

语音助手应该使用哪个Whisper模型规格?

对于实时语音界面,Whisper small是标准推荐 — 清晰英语上3.4% WER,现代CPU或GPU上约200 ms STT延迟,2 GB RAM内可运行。硬件非常受限(Raspberry Pi Zero 2W、旧手机)且可接受约7.6% WER时使用tiny。仅在延迟不是限制的批量转录场景下使用medium或large-v3。

whisper.cpp支持英语以外的语言吗?

支持。所有Whisper多语言模型(base、small、medium、large-v3)支持99种语言。在CLI中添加`-l [语言代码]:中文用-l zh,日语用-l ja,法语用-l fr`等。tiny.en和base.en模型仅支持英语,在英语上比多语言版本略微准确。

如何安装支持CUDA的faster-whisper?

使用pip install faster-whisper安装。CUDA支持需要系统安装CUDA 11.8或更高版本和cuDNN 8.x。使用nvcc --version验证CUDA版本。然后加载模型时指定device="cuda"WhisperModel("large-v3", device="cuda", compute_type="int8")。如果未检测到CUDA,faster-whisper会自动回退到CPU。

哪个更准确 — whisper.cpp还是faster-whisper?

完全相同。两款工具均使用相同的OpenAI Whisper模型权重,对任何给定音频文件产生相同的WER。whisper.cpp和faster-whisper的区别在于速度和平台支持,而非转录精度。运行之间测量到的任何WER差异都在束搜索的正常变动范围内,而非来自运行时本身。

可以在8 GB RAM上运行Whisper large-v3吗?

在GPU上可以 — faster-whisper中的large-v3 int8使用约2.5 GB VRAM,可在任何8 GB GPU上运行。在纯CPU硬件上,8 GB RAM对large-v3来说有些紧张(float32使用约10 GB)。在纯CPU系统上使用medium(5 GB RAM)或small(2 GB RAM)。由于运行时开销更低,whisper.cpp在CPU上比faster-whisper更节省内存。

本地Whisper与云端STT相比费用如何?

无持续费用。云端STT服务按音频分钟收费$0.006至$0.024 — 每周转录8小时会议的开发者每月需支付$120至480。本地Whisper在您已拥有的硬件上运行,无按分钟计费,无API密钥管理,音频数据不离开您的设备。

参考来源

← 返回 本地LLM进阶