#3171 whisper模型程序是如何获取标点和断句的

240e:47e* Posted at: 8 days ago 👁28

whisper模型程序是如何获取标点和断句的

3 Replies

pyVideoTrans 中的 Whisper 模型本身不直接提供标点和断句。软件通过以下流程获取带标点和合理断句的字幕:

  1. 语音识别:Whisper 模型(如 faster-whisperopenai-whisper)首先将音频识别为原始文本,此时文本通常没有标点或断句不佳。
  2. 后处理:软件调用独立的标点恢复模型对识别出的原始文本进行处理,自动添加句号、逗号、问号等标点符号,并根据语义进行初步断句。
  3. 时间轴与最终断句

    • VAD(语音活动检测):在识别阶段,软件会使用 ten-vadsilero 等 VAD 模型检测语音片段的起止时间,生成初步的时间轴分割。
    • 结合优化:最终的字幕(SRT 格式)是标点恢复后的文本VAD 检测出的时间轴相结合的产物。软件会尽量让每个字幕块(一句)在语义和时长上都合理。

关键设置

  • VAD 模型:在“语音识别参数”的“高级选项”中设置,用于控制语音片段的切割敏感度。
  • 整体识别 vs 均等分割:在识别模式中选择“整体识别”会先识别完整文本再根据标点分割;“均等分割”会先按固定时长切割音频再识别,适用于长音频。
  • 二次识别:在“配音对齐”设置中开启“二次识别”,会在生成配音后对配音音频重新进行识别,可以生成与配音节奏完全匹配的、断句更准确的字幕。

请查阅相关文档:

程序使用的标点恢复模型是哪个

pyVideoTrans 使用的标点恢复模型是 punct

这是一个专门用于为无标点文本添加标点的独立模型。其工作流程如下:

  1. 语音识别:Whisper 模型(如 faster-whisper)首先输出无标点的原始识别文本。
  2. 标点恢复:软件自动调用 punct 模型,对上述原始文本进行处理,添加句号、逗号、问号等标点符号,并基于语义进行初步的句子划分。
  3. 时间轴对齐:将添加了标点的文本与 VAD(语音活动检测)模型生成的初步时间轴进行结合,最终生成带时间轴和标点的 SRT 字幕。

关键点

  • punct 模型在软件首次运行时(或需要时)会自动下载,存放于 models 目录下。
  • 该模型是流程中的一个默认环节,用户通常无需手动配置。

请查阅相关文档:

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource