Whisper语音转字幕参数设置指南
Whisper 是 OpenAI 开源的语音识别模型,支持多语言转录和翻译。以下是一些常用的参数设置及其说明,帮助优化字幕生成效果:
广告
1. 基础参数
--model
指定使用的模型大小(默认:small
):
tiny
、base
、small
、medium
、large
、large-v3
(最新版)、large-v3-turbo
(large-v3 的微调版本)。- 模型越大,准确率越高,但计算资源消耗越大(例如
large-v3
适合高精度需求)。 - Whisper large-v3-turbo 是经过剪枝的 Whisper large-v3 的微调版本。换句话说,它与原模型完全相同,只是解码层的数量从 32 层减少到了 4 层。因此,该模型速度大幅提升,但代价是质量有轻微下降。
- 模型越大,准确率越高,但计算资源消耗越大(例如
Size | Parameters | English-only | Multilingual |
---|---|---|---|
tiny | 39 M | ✓ | ✓ |
base | 74 M | ✓ | ✓ |
small | 244 M | ✓ | ✓ |
medium | 769 M | ✓ | ✓ |
large | 1550 M | x | ✓ |
large-v2 | 1550 M | x | ✓ |
large-v3 | 1550 M | x | ✓ |
large-v3-turbo | 809 M | x | ✓ |
--task
任务类型:transcribe
(默认):语音转文字(支持多语言)。translate
:将语音翻译为英文(仅非英语语音)。
--language
指定输入语音的语言(如zh
、en
、ja
),默认自动检测。- 若已知语言,显式指定可提高准确性。
--fp16
启用 FP16 加速推理(默认True
,需 GPU 支持)。
2. 输出控制
--verbose
输出详细信息(如处理进度、时间戳),默认False
。--temperature
控制生成文本的随机性(范围0.0-1.0
):0
:确定性输出(适合固定内容)。1
:随机性更高(适合创意性场景)。
--beam_size
束搜索宽度(默认5
),增大可能提升准确性,但增加计算量。--best_of
生成候选文本的数量(默认5
),与temperature
结合使用。--suppress_tokens
屏蔽特定 token(例如屏蔽标点:--suppress_tokens "-1"
)。
3. 时间戳相关
--output_format
输出格式(如srt
、vtt
、txt
、tsv
),默认txt
。srt
或vtt
生成带时间戳的字幕文件。
--word_timestamps
为每个单词生成时间戳(默认False
),细化字幕对齐。- 示例:
--word_timestamps True
- 示例:
4. 设备与性能
--device
指定运行设备:cuda
(GPU)、cpu
(默认)。
--threads
CPU 线程数(仅 CPU 模式有效):--threads 4
5. 高级参数
--initial_prompt
提供初始提示词,引导模型生成(例如专有名词、术语)。- 示例:
--initial_prompt "以下是关于深度学习的讲座。"
- 示例:
--condition_on_previous_text
是否参考前文生成后续内容(默认True
),长音频建议关闭防漂移。--temperature_increment_on_fallback
当解码失败时增加温度值(默认0.2
)。--compression_ratio_threshold
压缩比阈值(默认2.4
),过滤高压缩比(可能无意义)的生成结果。--logprob_threshold
对数概率阈值(默认-1.0
),过滤低置信度内容。
使用示例
基础命令:
带时间戳和单词级对齐:
whisepr audio.wav --model medium --word_timestamps True --output_format vtt
翻译非英语音频为英文字幕:
whisper speech.mp3 --task translate --model large
注意事项
- 显存需求:
large-v3
模型需约 10GB 显存,若不足可降级为medium
,或者使用large-v3-turbo
仅需 6GB 显存即可运行 。 - 长音频处理:超过 30 秒的音频会自动分割,可能影响上下文连贯性。
- 中文优化:使用
--language zh
或添加--initial_prompt
提升专有名词识别。
通过调整参数组合,可以在速度、准确率和输出格式间灵活权衡。建议根据实际场景(如视频字幕、会议记录)选择合适的配置。