<!-- funasr-ops:accuracy-note-20260714 --> > [!NOTE] > **许可证与能力更正(2026-07-14):** FunASR 是工具箱,不是单一模型。[FunASR](https://github.com/modelscope/FunASR#许可证) 与 [SenseVoice](https://github.com/FunAudioLLM/SenseVoice#许可证) 仓库源码采用 MIT;模型权重以各自模型卡为准。[SenseVoiceSmall](https://huggingface.co/FunAudioLLM/SenseVoiceSmall) 支持中文、粤语、英语、日语和韩语,权重使用模型卡链接的 FunASR 模型开源协议;[Fun-ASR-Nano-2512](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512) 为 Apache-2.0。语言范围、标点和性能取决于所选模型及运行配置。 你好!很棒的 AI 智能高光提取和剪辑工具! 建议考虑 [FunASR](https://github.com/modelscope/FunASR) 或 [SenseVoice](https://github.com/FunAudioLLM/SenseVoice) 用于视频中的语音识别: ## 剪辑场景优势 - **极快** — SenseVoice-Small ~70ms/10s,批量处理效率高 - **内置标点** — 自然断句,便于高光片段定位 - **字级时间戳** — 精确的画面-语音对齐 - **情感识别** — SenseVoice 可检测说话人情感,辅助高光判断 - **完全本地** — 无API费用 - **Apache 2.0** ## 参考 - FunASR: https://github.com/modelscope/FunASR (16K+ stars) - SenseVoice: https://github.com/FunAudioLLM/SenseVoice (8K+ stars)
Activity
LauraGPT commentedon Jun 12, 2026
Hi! FunASR is now at 17.8K+ stars with a new agent-friendly CLI. Following up on this suggestion. Happy to help with integration! 🙏
123mlly commentedon Jul 14, 2026
试了这个模型不太行,字幕时间戳有些问题。faster-whisper比较不错,8g内存也可以运行,详细也可以参考
https://github.com/123mlly/autoclip/tree/feature/dev
LauraGPT commentedon Jul 14, 2026
@123mlly 感谢你给出实际分支。我按
feature/dev@f939fb5的调用路径在 FunASR 1.3.14 上复现了,你说的字幕时间轴问题确实存在;根因更具体地落在当前适配器没有消费 SenseVoice 已返回的 CTC 对齐,而不是模型没有时间戳能力。复现证据:
words和一一对应的 142 组毫秒timestamp,范围从1050–1110到44980–45040。punc_model is missing, falling back to vad_segment mode。_extract_sensevoice_segments又优先采用sentence_info,因此这段 45.1 秒音频最后只写出两条字幕:0–30010 ms和30010–45080 ms,完整忽略了词级 CTC 时间戳。这和你观察到的字幕定位不准一致。timestamp分支,当前代码也只取所有 token 的最小/最大边界,仍会把整段文本压成一条字幕。建议修正范围:
output_timestamp=True,不要为了时间轴默认加载 CAM++;只有启用 speaker diarization 时再加载 speaker model。words与timestamp配对,按标点、最大字符数和最大持续时间聚合为 SRT cue;sentence_info只作为没有 CTC 对齐时的后备。所以 faster-whisper 作为你当前分支的默认选择是合理的;SenseVoice 路径需要先修正上述后处理,才适合用于智能剪辑。我之前 issue 描述里的“字级时间戳”指的是这套 CTC 输出,但没有把正确的消费方式说明清楚,这里补正。
LauraGPT commentedon Jul 14, 2026
@123mlly 我按你给出的
feature/dev@f939fb5基线完成了 SenseVoice 时间戳修复,并提交了可直接 review 的 PR:123mlly/autoclip#1
这次不是只用合成数据验证:
实现会显式请求
output_timestamp=True,严格配对 words/timestamp,按模型原文恢复空格与标点,再按标点、42 字符和 8 秒上限生成 cue。只有整批结果都能可靠对齐时才采用细粒度路径,否则完整回退现有sentence_info等逻辑,不会部分解析后丢字。PR 当前是
MERGEABLE / CLEAN;目标仓库暂未配置 CI checks,完整测试证据已写在 PR 描述中。zhouxiaoka commentedon Sep 22, 2026
感谢建议,以及后续在 SenseVoice 时间戳上的跟进。
这条仍标在
status:researching:方向是「本地 ASR / 更好的字级时间戳与断句」,但接入哪套实现(FunASR / SenseVoice / 其它)要等协议与维护成本评估清楚后再承诺。当前默认路径仍是文档里的 Whisper / 自带字幕导入。有可复用的协议设计或独立小 PR(不绑大范围无关改动)欢迎继续讨论;合入节奏仍按个人业余维护排期。相关质量对照见 #116。
zhouxiaoka commentedon Sep 30, 2026
已通过 PR #244 合入主分支,本条按“新增可选本地 SenseVoiceSmall 字幕转写”交付范围结案。感谢 123mlly 的实际集成分支及 LauraGPT 对 CTC 时间戳根因和聚合方案的跟进。
使用方式:设置 → 字幕转写 → 转写方式选择「SenseVoice · 本地」→ 准备模型 → 就绪后保存设置。没有字幕的新任务会使用它;Whisper 保持原默认值。首次需联网下载组件和模型,Windows 实际落盘约 5.8 GB,建议预留至少 8 GB(包括安装临时空间)。转写在独立 CPU 进程运行,音频不上传、不需要 API Key。
已处理本讨论中的主要时间轴问题:显式请求 output_timestamp=True,消费完整 words/timestamp,保留原文空格与标点,再聚合为可读字幕。不再优先使用约 30 秒的 VAD 粗段;缺失、倒退、重叠或越界的词级时间戳会明确报错,不按全文字数伪造时间轴。词级信息也接入现有字幕校验 sidecar。
最终验收:https://github.com/zhouxiaoka/autoclip/actions/runs/36719422499
Windows、macOS、Linux 的 Python 3.13 实际完成运行时安装、模型下载、禁止联网的真实语音转写和卸载检查。仓库公开访谈前 45 秒均生成 21 条字幕、157 个词级时间戳,最长约 3.36 秒,末尾 44.98 秒,顺序和边界检查通过;API 父进程未导入 FunASR/PyTorch。完整 CI 为 830 passed、2 skipped,前端 174 项通过;原 Whisper 的真实恢复验收也通过。
本次仅接入 FunASR 1.3.14 + SenseVoiceSmall + FSMN-VAD,CPU 两线程,不启用说话人分离;不代表所有 FunASR 模型、云端 SenseVoice 或通用插件框架都已完成。模型权重许可链接已放入设置页与配置文档。
这项新能力已在主分支,尚未发布新的正式安装包,旧公开 v1.4.0 不包含它。后续含该功能的构建若仍出现安装或时间轴问题,可以附上版本、系统与脱敏错误新建 issue 或重开本条;不需要为等待原反馈人再次确认而继续保持本条打开。
zhouxiaoka commentedon Oct 1, 2026
本帖的本地 SenseVoiceSmall 能力已随 AutoClip v1.5.0 正式发布。
设置里的字幕转写选择「SenseVoice · 本地」→ 准备模型 → 就绪后保存。首次下载组件与模型请预留至少 8 GB;转写在独立 CPU 进程运行,不上传音频、不需要转写 API Key,Whisper 和已有选择不强制更换。
本版消费实际词级时间戳并按句聚合,不按全文比例伪造时间轴。交付范围是 SenseVoiceSmall + FSMN-VAD,不包含所有 FunASR 模型、云端 SenseVoice 或通用插件框架。配置、许可与验收说明。