PromptQuorumPromptQuorum
主页/Power Local 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和嵌入式Linux,whisper.cpp tiny/base在CPU上运行是实际可行的上限 — Pi 5上tiny约15倍实时速度,base约6倍实时速度。两者均可在1 GB RAM内运行。

快速概览

  • 两款工具: 均基于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。
  • 可定制: 可针对特定领域词汇进行微调。运行适合您硬件的任意模型规格。

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

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}")

正面对比:基准测试表格

所有基准测试除非另有说明均使用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时的子进程开销。

适用场景指南

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

📍 简单一句话

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密钥管理,音频数据不离开您的设备。

参考来源

← 返回 Power Local LLM

Whisper.cpp vs faster-whisper 2026:本地STT基准测试与配置指南