如何用 Qwen3-ASR、LattifAI 和 OmniVAD 做长音频字幕
Whisper 在长音频、幻觉和时间轴上并不总是最稳。更适合生产的做法是把 ASR、VAD、强制对齐、说话人分离拆成独立环节:用 Qwen3-ASR 做长音频转写,用 LattifAI 做字幕对齐和说话人处理,用 OmniVAD 做语音切片与音频事件检测。
Whisper 在长音频、幻觉和时间轴上并不总是最稳。更适合生产的做法是把 ASR、VAD、强制对齐、说话人分离拆成独立环节:用 Qwen3-ASR 做长音频转写,用 LattifAI 做字幕对齐和说话人处理,用 OmniVAD 做语音切片与音频事件检测。
- 栏目
- 教程
- 发布时间
- 2026-05-16
- 来源
- HTKU 编辑整理
为什么不建议长音频只靠 Whisper
很多人做访谈、播客、课程、直播切片和口播视频时,默认会用 Whisper 做转写和字幕时间轴。
Whisper 当然还能用,但在生产场景里,它有几个常见问题:长音频容易出现幻觉句,切片策略会影响上下文,文字时间轴不一定稳定,多人对话还要额外处理 speaker diarization。
更稳的思路不是继续把所有事情压给一个模型,而是把音频生产拆成四层:
1. VAD:先判断哪里有人声、哪里是音乐或静音。
2. ASR:把语音识别成文字。
3. Forced Alignment:把文字重新对齐到音频时间轴。
4. Speaker Diarization:多人内容要分清谁在说话。
推荐的新工作流
一个更适合长音频和字幕生产的组合是:
- OmniVAD:做语音活动检测、音频事件检测和长音频切片。
- Qwen3-ASR:做长音频转写,负责把声音变成文字。
- LattifAI:做 forced alignment、字幕格式输出、说话人分离和命名。
这样分工后,ASR 不需要承担所有责任。Qwen3-ASR 负责“听懂并写出来”,LattifAI 负责“对齐到时间轴”,OmniVAD 负责“先把音频边界处理干净”。
Qwen3-ASR 适合解决什么
Qwen3-ASR 是 Qwen 团队开源的 ASR 系列,官方仓库说明它支持语言识别和 52 种语言/方言的 ASR,并且支持离线和流式推理。官方代码里,ASR 的最大输入 chunk 是 1200 秒,也就是 20 分钟;如果开启 forced aligner,默认最大对齐输入是 180 秒。
这说明一个关键点:Qwen3-ASR 的长音频思路和 Whisper 常见的 30 秒切片思路不一样。对长访谈、播客、课程、直播回放来说,更长的上下文往往能减少断句错误和无意义幻觉。
适合场景:
- 播客转写
- 访谈转写
- 课程字幕
- 直播回放整理
- 长口播视频初稿
- 中英混合或多方言内容
但要注意:ASR 负责文字,不代表它就是最好的字幕时间轴工具。长内容要做卡拉 OK 字幕、逐字高亮、剪辑卡点,最好把时间轴交给专门的 alignment 工具。
LattifAI 适合解决什么
LattifAI 的公开仓库介绍了 forced alignment、字幕生成、multi-model transcription、speaker diarization、字幕翻译和 30 多种字幕格式支持。它还说明 streaming mode 可以处理很长的音频,并且支持 word-level 和 segment-level 的音频文本同步。
这类工具适合放在 ASR 后面:先拿到比较干净的转写文本,再把文本和音频重新对齐,输出 SRT、VTT、ASS 或剪辑软件能吃的字幕格式。
适合场景:
- 卡拉 OK 字幕
- 长播客字幕
- 多人访谈分说话人
- 双语字幕
- 视频剪辑素材库
- 需要精确时间轴的课程内容
如果你只是要一个大概文字稿,ASR 就够了;如果你要发布视频、做字幕烧录、做逐字高亮或剪辑卡点,alignment 才是关键。
OmniVAD 适合解决什么
OmniVAD 是 lifeiteng 发布的跨平台 VAD/AED 工具,PyPI 页面说明它基于 FireRedVAD,提供 VAD、Stream-VAD 和 AED 三类能力,可以输出 speech、singing、music 等时间戳,支持 Python、TypeScript/JavaScript、浏览器、Node.js 和多平台原生部署。
它适合放在整个流程最前面:先知道哪里有人声、哪里是音乐、哪里是空白,再决定 ASR 怎么处理。
适合场景:
- 长音频分段
- 自动跳过长静音
- 识别音乐和歌声区域
- 给 ASR 准备更干净的输入
- 浏览器端或 Node.js 端做轻量切片
如果你后面要走 Qwen3-ASR,VAD 不一定必须把音频切得很碎。更好的策略是:用 VAD 找边界、标注结构,但不要破坏长上下文。
推荐的生产流程
可以按这个顺序做:
第 1 步:先用 OmniVAD 做音频结构分析
输出哪些位置是 speech、music、singing、silence。不要急着切成很多短片段,先拿到结构。
第 2 步:用 Qwen3-ASR 做长段转写
按 10 到 20 分钟级别处理长段,尽量保留上下文。对超长音频,可以按自然停顿或章节切分。
第 3 步:人工或 LLM 做文本清洗
清理明显幻觉句、重复句、口头禅、错别字和专有名词。注意这一步只改文字,不改时间轴。
第 4 步:用 LattifAI 做 forced alignment
把清洗后的文本重新对齐音频,生成词级或段落级时间戳。
第 5 步:做 speaker diarization 和 naming
多人内容要分清说话人。如果工具能保留 label,就进一步改成人名或角色名。
第 6 步:导出字幕格式
按用途导出:
- SRT:通用字幕
- VTT:网页播放器
- ASS:样式字幕、卡拉 OK 字幕
- TextGrid:语音分析和精细对齐
第 7 步:抽查质量
不要只看文字是否正确,还要看嘴型、停顿、说话人、音乐段和剪辑软件导入效果。
一个可复制的工作流模板
任务:把一段长音频做成可发布字幕。
输入:
- 音频文件:[audio.wav]
- 目标语言:[中文/英文/中英混合]
- 输出格式:[SRT/VTT/ASS]
- 是否需要说话人:[是/否]
流程:
1. 用 OmniVAD 分析 speech/music/silence 区间。
2. 按自然边界切成长段,优先保留上下文。
3. 用 Qwen3-ASR 转写文字。
4. 清理明显识别错误和专有名词。
5. 用 LattifAI 把清洗文本和音频重新对齐。
6. 如有多人对话,做 speaker diarization 和 naming。
7. 导出字幕文件。
8. 抽查开头、中段、结尾各 2 分钟。
9. 导入剪辑软件验证是否可用。
常见错误
错误 1:把 ASR 和字幕时间轴混为一谈
ASR 负责文字。字幕时间轴是另一个问题。长内容要稳定,最好单独做 forced alignment。
错误 2:把长音频切得太碎
切得太碎会丢上下文,尤其是访谈、课程和播客。更好的做法是按自然停顿切长段。
错误 3:只看转写准确率,不看剪辑可用性
字幕最终要进剪辑软件或播放器,时间轴、说话人、格式兼容性同样重要。
错误 4:多人对话不做说话人
访谈类内容没有 speaker diarization,后续做摘要、切片和知识库都会混乱。
错误 5:音乐和歌声区域硬转写
有些区域不是正常讲话。先用 AED 标出 music/singing,能减少无意义文字和幻觉。
结论
长音频字幕生产,不应该再只问“用哪个 ASR”。更关键的问题是:这条音频要不要切片,文字由谁识别,时间轴由谁对齐,说话人由谁分离,最后字幕能不能直接剪辑使用。
如果目标是稳定生产,推荐把流程拆开:OmniVAD 处理音频边界,Qwen3-ASR 负责长音频转写,LattifAI 负责对齐、字幕格式和说话人。这样得到的不是一份粗糙文字稿,而是一套能进入剪辑和内容生产流程的字幕资产。
资料依据
- Qwen3-ASR 官方 GitHub:支持 52 种语言/方言、离线/流式推理、长音频转写;Qwen3-ForcedAligner 支持多语言 text-speech alignment。
- Qwen3-ASR 官方代码:ASR 默认最大输入 chunk 为 1200 秒,ForcedAligner 默认最大输入为 180 秒。
- LattifAI Python 仓库:支持 forced alignment、speaker diarization、字幕翻译、30 多种字幕格式和长流式处理。
- OmniVAD PyPI:跨平台 VAD/AED 工具,支持 speech、singing、music 时间戳输出。