本页提供了使用 Whisper 转录音频的分步指南,涵盖命令行界面 (CLI) 和 Python API 方法。有关安装说明,请参阅安装。有关所有可用函数和参数的完整参考,请参阅API 参考。
Whisper 提供了一个命令行工具,可用于快速轻松地转录音频文件。安装后,您就可以直接从终端转录音频文件。
转录音频文件的最简单方法是
默认情况下,此命令使用“turbo”模型,该模型在英语转录的速度和准确性之间提供了良好的平衡。
要使用不同的模型
可用模型包括:
tiny、tiny.en(最快,准确性最低)base、base.ensmall、small.enmedium、medium.enlarge(最慢,准确性最高)turbo(large-v3 的优化版本,速度更快,准确性相似)带有 .en 后缀的模型针对英语内容进行了优化。
对于非英语音频,请指定语言
要将语音翻译成英语
控制输出格式
可用格式:txt、vtt、srt、tsv、json 或 all(默认)
有关单词级别的时间信息
来源:README.md82-98 whisper/transcribe.py517-623
在 Python 中转录音频的最简单方法
这将加载模型并以默认设置转录整个音频文件。
有关更精细的控制
来源:whisper/__init__.py11-15 README.md104-141
有关转录过程更详细的控制
transcribe() 函数提供了一个高级 API,具有许多配置选项
来源:whisper/transcribe.py38-514
transcribe() 函数接受许多参数来控制转录过程
| 参数 | 类型 | 描述 |
|---|---|---|
model | Whisper | Whisper 模型实例 |
audio | str/array/tensor | 音频文件路径或音频数据 |
language | str | 语言代码(如果未指定,则自动检测) |
task | str | "transcribe" 或 "translate"(翻译成英语) |
temperature | float/tuple | 控制生成过程中的随机性。较高的值(0.0-1.0)会产生更多样化的结果 |
word_timestamps | bool | 是否生成单词级别的时间戳 |
initial_prompt | str | 用于条件化模型预测的文本 |
condition_on_previous_text | bool | 是否使用之前的输出作为下一个片段的上下文 |
fp16 | bool | 是否使用半精度 (FP16) 计算 |
来源:whisper/transcribe.py38-126
来源:whisper/transcribe.py38-514 whisper/__init__.py103-160
| 模型大小 | 参数 | 最低 VRAM | 相对速度 | 用例 |
|---|---|---|---|---|
| tiny/tiny.en | 39M | ~1 GB | ~10x | 快速转录,准确性有限 |
| base/base.en | 74M | ~1 GB | ~7x | 快速转录,基本准确 |
| small/small.en | 244M | ~2 GB | ~4x | 对大多数用例平衡良好 |
| medium/medium.en | 769M | ~5 GB | ~2x | 高准确性,速度合理 |
| large | 1550M | ~10 GB | 1x | 最高准确性,最慢 |
| turbo | 809M | ~6 GB | ~8x | 优化的大模型,处理速度更快 |