Whisper语音转字幕参数设置指南

 Whisper语音转字幕参数设置指南

Whisper 是 OpenAI 开源的语音识别模型,支持多语言转录和翻译。以下是一些常用的参数设置及其说明,帮助优化字幕生成效果:

广告

1. 基础参数

  • --model
    指定使用的模型大小(默认:small):
    tinybasesmallmediumlargelarge-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
    指定输入语音的语言(如 zhenja),默认自动检测。

    • 若已知语言,显式指定可提高准确性。
  • --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
    输出格式(如 srtvtttxttsv),默认 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),过滤低置信度内容。

使用示例

基础命令:

whisper audio.mp4 --model large-v3 --language zh --task transcribe --output_format srt

带时间戳和单词级对齐:

whisepr audio.wav --model medium --word_timestamps True --output_format vtt

翻译非英语音频为英文字幕:

whisper speech.mp3 --task translate --model large

注意事项

  1. 显存需求:large-v3 模型需约 10GB 显存,若不足可降级为 medium,或者使用 large-v3-turbo 仅需 6GB 显存即可运行 。
  2. 长音频处理:超过 30 秒的音频会自动分割,可能影响上下文连贯性。
  3. 中文优化:使用 --language zh 或添加 --initial_prompt 提升专有名词识别。

通过调整参数组合,可以在速度、准确率和输出格式间灵活权衡。建议根据实际场景(如视频字幕、会议记录)选择合适的配置。

吴川斌

吴川斌

Leave a Reply