Faster-Whisper:基于CTranslate2的高效语音转录工具
Faster-Whisper是一个使用CTranslate2重新实现OpenAI Whisper模型的项目,相比原版Whisper,它在保持相同准确率的同时实现了高达4倍的速度提升,并且内存使用更少。该项目支持8位量化,可进一步在CPU和GPU上提高效率。## 项目特点与优势### 性能对比- **GPU性能**:使用large-v2模型在NVIDIA Tesla V100S上测试,fa
·
Faster-Whisper:基于CTranslate2的高效语音转录工具
【免费下载链接】faster-whisper 项目地址: https://gitcode.com/gh_mirrors/fas/faster-whisper
Faster-Whisper是一个使用CTranslate2重新实现OpenAI Whisper模型的项目,相比原版Whisper,它在保持相同准确率的同时实现了高达4倍的速度提升,并且内存使用更少。该项目支持8位量化,可进一步在CPU和GPU上提高效率。
项目特点与优势
性能对比
- GPU性能:使用large-v2模型在NVIDIA Tesla V100S上测试,faster-whisper FP16版本仅需54秒完成13分钟音频转录,而openai/whisper需要4分30秒
- CPU性能:在Intel Xeon Gold 6226R上测试,faster-whisper INT8版本仅需2分04秒,内存使用仅995MB
- 内存效率:最大GPU内存使用从11325MB降至4755MB(FP16)和3091MB(INT8)
支持模型
- 支持所有标准Whisper模型(tiny、base、small、medium、large-v1/v2/v3)
- 兼容Distil-Whisper蒸馏模型(distil-large-v2、distil-medium.en等)
- 支持自定义微调模型的转换和使用
安装指南
基础安装
pip install faster-whisper
GPU支持要求
如需GPU加速,需要安装以下NVIDIA库:
- cuBLAS for CUDA 12
- cuDNN 8 for CUDA 12
其他安装方式
# 安装master分支最新版本
pip install --force-reinstall "faster-whisper @ https://github.com/SYSTRAN/faster-whisper/archive/refs/heads/master.tar.gz"
# 安装特定commit版本
pip install --force-reinstall "faster-whisper @ https://github.com/SYSTRAN/faster-whisper/archive/a4f1cc8f11433e454c3934442b5e1a4ed5e865c3.tar.gz"
使用示例
基础转录功能
from faster_whisper import WhisperModel
# 初始化模型(GPU FP16模式)
model_size = "large-v3"
model = WhisperModel(model_size, device="cuda", compute_type="float16")
# 执行转录
segments, info = model.transcribe("audio.mp3", beam_size=5)
print(f"检测到语言 '{info.language}',概率 {info.language_probability}")
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
词级时间戳
segments, _ = model.transcribe("audio.mp3", word_timestamps=True)
for segment in segments:
for word in segment.words:
print(f"[{word.start:.2f}s -> {word.end:.2f}s] {word.word}")
VAD语音活动检测
# 启用VAD过滤
segments, _ = model.transcribe("audio.mp3", vad_filter=True)
# 自定义VAD参数
segments, _ = model.transcribe(
"audio.mp3",
vad_filter=True,
vad_parameters=dict(min_silence_duration_ms=500),
)
项目结构
faster-whisper/
├── faster_whisper/ # 核心代码库
│ ├── __init__.py # 包初始化文件
│ ├── audio.py # 音频处理模块
│ ├── feature_extractor.py # 特征提取器
│ ├── tokenizer.py # 分词器实现
│ ├── transcribe.py # 转录核心逻辑
│ ├── utils.py # 工具函数
│ ├── vad.py # VAD语音检测
│ └── version.py # 版本管理
├── tests/ # 测试套件
│ ├── test_transcribe.py # 转录功能测试
│ └── test_utils.py # 工具函数测试
├── benchmark/ # 性能基准测试
│ ├── speed_benchmark.py # 速度测试
│ └── memory_benchmark.py # 内存测试
├── docker/ # Docker容器化支持
│ ├── Dockerfile # Docker构建文件
│ └── infer.py # 推理脚本
└── requirements.txt # 项目依赖列表
模型转换
转换现有模型
pip install transformers[torch]>=4.23
ct2-transformers-converter --model openai/whisper-large-v3 \
--output_dir whisper-large-v3-ct2 \
--copy_files tokenizer.json preprocessor_config.json \
--quantization float16
加载转换后的模型
# 从本地目录加载
model = faster_whisper.WhisperModel("whisper-large-v3-ct2")
# 从Hugging Face Hub加载
model = faster_whisper.WhisperModel("username/whisper-large-v3-ct2")
社区集成
项目已被多个开源项目集成使用:
- faster-whisper-server:OpenAI兼容的服务器实现
- WhisperX:提供说话人分离和精确词级时间戳
- whisper-ctranslate2:命令行客户端工具
- Open-Lyrics:生成.lrc歌词文件的工具
开发与贡献
项目使用标准的Python包结构,支持开发模式安装和测试:
# 安装开发依赖
pip install -e .[dev]
# 运行测试
pytest tests/
项目遵循MIT开源协议,欢迎开发者提交Issue和Pull Request来共同改进项目。
性能对比图表
通过使用faster-whisper,开发者可以显著提升语音转录任务的效率,特别是在处理大量音频数据或需要实时转录的场景中表现出色。项目的模块化设计也便于集成到现有的语音处理流水线中。
【免费下载链接】faster-whisper 项目地址: https://gitcode.com/gh_mirrors/fas/faster-whisper
更多推荐
所有评论(0)