1. 模型种类
Whisper 包含多种模型:tiny、base、small、medium、large 等。
Faster-Whisper 的模型种类与 Whisper 类似。
2. 模型安装
Whisper 和 Faster-Whisper 的模型主要有两种获取方式:
-
通过 pip 安装
- Whisper:
pip install -U openai-whisper,下载结果为 .pt 文件。参考文档:OpenAI Whisper - Faster-Whisper:
pip install faster-whisper,下载结果为 .pt 文件。参考文档:SYSTRAN Faster-Whisper
- Whisper:
-
从 HuggingFace 下载
- 访问 HuggingFace,搜索 whisper。
- 可下载 large-v3 和 large-v3-turbo 等文件,格式与上述不同。
3. 模型运行
3.1 使用 pip 安装的模型
Whisper 示例
import whisper
model = whisper.load_model("base")
# 加载音频并调整至 30 秒
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)
# 生成 log-Mel 语谱图并移至模型设备
mel = whisper.log_mel_spectrogram(audio, n_mels=model.dims.n_mels).to(model.device)
# 检测语言
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")
# 解码音频
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)
# 打印识别文本
print(result.text)
*注意:Whisper 模型通常建议输入时长不超过 30 秒,过短可能影响识别准确性。
Faster-Whisper 示例
from faster_whisper import WhisperModel
model_size = "large-v3"
# 在 GPU 上使用 FP16 运行
model = WhisperModel(model_size, device="cuda", compute_type=)
segments, info = model.transcribe(, beam_size=)
( % (info.language, info.language_probability))
segment segments:
( % (segment.start, segment.end, segment.text))

