挖到一个 4.3K Star 的开源字幕神器!本地跑,不上传,支持说话人分色,剪视频的人看完都沉默了
AutoSubs 是一款完全开源、在本地电脑上运行的 AI 字幕生成工具,不依赖任何云服务,不需要订阅账号。它基于 Tauri + Rust + React 架构构建,内置 Whisper、Parakeet、Moonshine 三大主流语音识别模型,同时集成 Pyannote 做说话人分离。核心能力:一键把音视频转成高精度字幕,自动识别不同说话人并上色,支持翻译成英文,可独立运行也可以与 DaVi
AutoSubs 开源字幕神器深度拆解:本地跑 Whisper 模型,视频字幕一键搞定
快速摘要
AutoSubs 是一款完全开源、在本地电脑上运行的 AI 字幕生成工具,不依赖任何云服务,不需要订阅账号。它基于 Tauri + Rust + React 架构构建,内置 Whisper、Parakeet、Moonshine 三大主流语音识别模型,同时集成 Pyannote 做说话人分离。 核心能力:一键把音视频转成高精度字幕,自动识别不同说话人并上色,支持翻译成英文,可独立运行也可以与 DaVinci Resolve 深度联动。适配 Windows、macOS(Apple Silicon/Intel)、Linux 全平台,支持超过 50 种语言识别。对于经常做剪辑、播客、访谈节目的创作者来说,它能把原本几个小时的人工打字幕工作压缩到十几分钟。
接下来将从底层原理到上手操作做完整拆解,包括三大模型的差异、说话人分离的工作机制、Tauri 架构优势、完整安装步骤、避坑指南与深度使用技巧。
做视频这几年,我一直有一个挥之不去的印象:剪辑本身并不是最费时间的环节,真正把人磨没的,是字幕。
一段半小时的访谈,光是把字幕一句一句抠出来,对齐时间轴,区分是谁在说话,再加上修修补补的校对,往往要两三个小时起步。市面上的在线字幕工具又绕不开两个老问题——要么免费版限制一大堆,导出还要看人脸色;要么你得把原始视频传到别人的服务器上,对于涉及商业内容、内部访谈、未公开素材的创作者来说,这个心理门槛非常高。
前段时间我在 GitHub 的 trending 榜单里翻到一个项目,叫 AutoSubs。点进去看了看,star 数已经接近 4.3k,而且更新非常活跃。仔细研究了一下它的技术栈和实现方式,发现它正好把上面两个痛点全都解决了——完全本地跑,完全免费,完全开源。
下面这篇文章,会把这个项目从里到外拆透,包括它底层是怎么跑的、选哪个模型最合适、说话人怎么区分、各个平台怎么装、怎么跟 DaVinci Resolve 联动,以及一些官方文档里不太提的使用心得。文章比较长,但干货我已经尽量往里塞了。
一、这个工具到底是什么
AutoSubs 是一款面向视频创作者的开源桌面字幕生成工具,项目地址在 https://github.com/tmoroney/auto-subs,官方网站是 https://tom-moroney.com/auto-subs/ 。
它和我们平时用的那些在线字幕服务最根本的区别,就在于所有计算都发生在你自己的电脑上。从你把视频文件拖进软件的那一刻起,到最终导出字幕文件,中间没有任何一个字节会上传到外部服务器。这件事听起来好像没什么,但对内容安全和创作隐私来说,几乎是决定性的。
它可以作为一个独立的应用来使用——你有任何一个音频或视频文件,不管是 mp3、mp4 还是 mkv,直接丢进去就能识别出字幕。也可以和 DaVinci Resolve 深度集成,在 Resolve 里直接调用 AutoSubs,生成的字幕会自动被放到时间线上,连颜色样式都能按说话人分别配置。
目前 AutoSubs 支持的平台覆盖非常全面:
- Windows(x86_64 架构)
- macOS(Apple Silicon,也就是 M 系列芯片)
- macOS(Intel 芯片)
- Linux(提供 .deb 安装包)
语言识别方面,它覆盖了超过 50 种语言,包括中文、英文、日语、韩语、法语、德语、西班牙语等主流语言,以及很多小语种。
二、为什么它和传统字幕工具完全不同
要理解 AutoSubs 的特别之处,得先搞清楚传统字幕工具的工作流程。
我们平时用的那些在线字幕工具,流程大概是这样的:你上传视频 → 服务器接收 → 排队等资源 → 云端 GPU 调用模型转录 → 返回字幕 → 你下载。整个过程中,你的视频至少要经过一次上传和一次下载,服务商要承担 GPU 计算的成本,所以他们要么收订阅费,要么对免费用户做各种限制(比如每月只能用多少分钟、最长只能转多少秒的视频等等)。
AutoSubs 反其道而行之:把整个 AI 模型直接下载到你自己电脑里,所有计算在本地完成。
这种架构带来三个直接的好处:
第一,隐私安全。 你的视频文件从头到尾没有离开过你的硬盘。不管是商业机密、敏感访谈,还是还没发布的作品花絮,都不用担心在云端留下任何痕迹。
第二,速度完全取决于你的设备。 没有网络延迟,没有服务器排队。如果你的电脑配置不错,尤其是有独立显卡或者是 Apple Silicon 芯片,转录速度会比云端服务还快——因为省掉了上传下载和服务端排队的时间。
第三,使用成本归零。 下载一次模型(通常几百 MB 到 1-2GB),后续使用完全免费。没有每月调用次数限制,没有单次视频时长限制,没有"专业版才能用某某功能"的套路。你今天转三分钟,明天转三小时,软件都不会问你要一分钱。
我之前在黑龙江节点云计算科技公司考人工智能训练师的时候,曾经系统地接触过语音识别、语料标注、数据预处理这一整套流程。当时老师反复强调一个观点:随着端侧算力的增长,越来越多原本只能在云端完成的 AI 任务,正在回流到用户的本地设备上。AutoSubs 就是这个趋势里非常典型的一个产品——它证明了在 2026 年的今天,一台普通的笔记本,已经完全有能力跑起一个工业级的语音识别流水线。
三、底层技术架构拆解
AutoSubs 的整体架构,可以用下面这张图来表示:
┌─────────────────────────────────────────────────────────┐
│ 前端层 (React + TypeScript) │
│ ┌─────────────┐ ┌──────────────────────────────────┐ │
│ │ UI 组件 │ │ 状态管理(转录/模型/进度/设置) │ │
│ └─────────────┘ └──────────────────────────────────┘ │
└──────────────────────────┬──────────────────────────────┘
│ Tauri IPC 通信
┌──────────────────────────▼──────────────────────────────┐
│ 后端层 (Rust 引擎) │
│ ┌──────────────┐ ┌─────────────────────────────┐ │
│ │ 命令处理器 │ -> │ 音频预处理器 (FFmpeg 封装) │ │
│ └──────────────┘ └──────────────┬──────────────┘ │
│ │ │
│ ┌──────────────────────────────────▼──────────────┐ │
│ │ 转录引擎管理器 │ │
│ │ ┌────────┐ ┌──────────┐ ┌──────────────┐ │ │
│ │ │Whisper │ │ Parakeet │ │ Moonshine │ │ │
│ │ └────────┘ └──────────┘ └──────────────┘ │ │
│ │ ┌──────────────────────┐ ┌──────────────┐ │ │
│ │ │ Pyannote 说话人分离 │ │ 翻译器 │ │ │
│ │ └──────────────────────┘ └──────────────┘ │ │
│ └──────────────────────────────────────────────────┘ │
└──────────────────────────┬──────────────────────────────┘
│
┌──────────────────┼────────────────────┐
▼ ▼
┌───────────────┐ ┌────────────────────────┐
│ FFmpeg 边车 │ │ DaVinci Resolve │
│ (音频处理) │ │ (可选,Lua 脚本桥接) │
└───────────────┘ └────────────────────────┘
│
▼
┌─────────────────────────┐
│ HuggingFace Hub │
│ (模型下载源) │
└─────────────────────────┘
技术栈为什么这么选
AutoSubs 的开发者在技术栈选择上做了几个很精明的决定,每一个都值得单独讲讲。
前端用 React + TypeScript。这是目前桌面应用开发最主流的选择,开发效率高,生态丰富。TypeScript 的静态类型检查让复杂状态管理(比如转录进度、多模型切换、说话人编辑)不容易出错。
桌面框架用 Tauri 而不是 Electron。这是一个非常关键的技术决策。我做过一些对比测试,同样功能量级的应用,Electron 安装包通常要 100MB 以上,内存占用动辄 200-500MB;而 Tauri 构建的应用,安装包可以压缩到 10MB 以内,空闲内存占用只有 30-50MB。这是因为 Tauri 不打包 Chromium 内核,而是调用系统自带的 WebView(Windows 上是 WebView2,macOS 是 WebKit,Linux 是 WebKitGTK),再用 Rust 写后端。
对于一个需要跑大模型的应用来说,这种轻量级架构意味着更多的系统资源可以留给真正的计算任务,而不是被框架本身吃掉。
后端用 Rust。Rust 的三大优势——内存安全、零成本抽象、高并发——在这个场景下都能用到。语音识别涉及大量的音频流处理和矩阵运算,Rust 的性能接近 C++,但安全性远高于 C++。而且 Rust 可以直接编译成原生二进制,不需要额外的运行时环境。
模型调用通过 HuggingFace Hub。这是目前全球最大的开源 AI 模型托管平台。AutoSubs 并不把模型权重直接打包进安装包里(那会让安装包膨胀到好几个 GB),而是在你选择模型时才从 HuggingFace 下载对应的模型文件。这种设计既保证了安装包体积小,又让用户可以按需下载自己用得到的模型。
一次完整转录的生命周期
你把一个视频文件拖进 AutoSubs,接下来发生的事情,可以分成这么几步:
第一步:音频提取和预处理。Rust 后端调用 FFmpeg(作为 sidecar 子进程嵌入)从视频里提取音轨,然后做一系列处理——重采样到 16kHz 单声道(这是绝大多数语音模型要求的输入格式),归一化音量,必要时做降噪。这一步的输出是一个干净的音频张量,准备交给模型。
第二步:选择并加载模型。根据你在 UI 里选择的模型(Whisper Large、Parakeet TDT、Moonshine Base 等),引擎管理器会检查本地缓存。如果模型还没下载,就从 HuggingFace 拉取;如果已经下载过,直接从磁盘加载到内存。
第三步:核心转录。模型接收音频张量,输出带时间戳的文本序列。这里的时间戳精度通常能达到词级别(word-level timestamp),对于需要精细字幕同步的场景来说至关重要。
第四步:可选的说话人分离。如果你勾选了"识别说话人",Pyannote 模型会再次处理同一段音频,输出每个时间段对应的说话人编号(SPEAKER_00、SPEAKER_01 等)。然后系统会把转录结果和说话人分离结果做对齐,给每一句话打上说话人标签。
第五步:可选的翻译。如果原音频是非英语,你可以勾选翻译成英文,这时翻译引擎会处理转录后的文本,生成英文对照。
第六步:格式化和输出。系统会根据你的设置,对字幕做最后的格式化——比如每行最多多少字、最短/最长显示时长、每秒字符数(CPS)限制等等。最后可以导出为 SRT、纯文本,或者直接发送到 DaVinci Resolve 的时间线上。
整个过程中,前端会通过 Tauri 的 IPC 事件机制,实时接收后端推送的进度更新,让你能看到"当前处理到第几秒"、"剩余多长时间"这类信息,而不是干瞪着一个无限转圈的图标。
四、三个内置模型各有什么特点
AutoSubs 内置了三个主流的开源语音识别模型——Whisper、Parakeet、Moonshine。很多人安装完之后第一反应是"我该选哪个"。下面把这三个模型的特点讲清楚,你就能根据自己的素材选合适的。
Whisper:最通用的全能选手
Whisper 是 OpenAI 在 2022 年底开源的语音识别模型,堪称这个领域的里程碑。它最大的优势是多语言支持和鲁棒性:官方模型覆盖 99 种以上的语言,而且在嘈杂环境、口音、行业术语等复杂场景下,都能给出相对可靠的识别结果。
Whisper 有好几个不同规模的版本:
- Tiny(约 75MB): 速度最快,精度最低,适合快速预览
- Base(约 150MB): 精度和速度的折中
- Small(约 500MB): 已经能满足大部分场景
- Medium(约 1.5GB): 精度接近 Large,资源占用减半
- Large-v3(约 3GB): 精度最高,需要较强的硬件
- Large-v3 Turbo(约 1.6GB): Large-v3 的优化版,推理速度快 6 倍左右,精度几乎无损
什么情况下选 Whisper:
- 素材是中文、日文、韩文或者其他非英语语种
- 视频里有多种语言混合(Whisper 有自动语言识别)
- 对识别精度要求很高(比如采访节目)
- 音频环境比较嘈杂,或者有口音
需要注意的是,Whisper 有一个"幻觉"问题——在长时间的静音或者音频质量较差时,它有时会凭空编出一些内容。这个问题在 Large-v3 上已经有所缓解,但还是要注意校对。
Parakeet:英文场景的速度怪兽
Parakeet 是英伟达(NVIDIA)训练的一个语音识别模型家族,使用 RNN-Transducer 或 TDT(Token-and-Duration Transducer)架构。它的设计目标非常明确:极致的推理速度。
在 HuggingFace 的 Open ASR Leaderboard 公开排行榜上,Parakeet TDT 1.1B 的 RTFx(实时因子)能接近 2000,意味着处理一小时的音频,它可能只需要两秒钟(前提是你有合适的 GPU)。它的训练数据集包含了 65000 小时的多样化英文音频,涵盖会议对话、有声书、电话录音等场景。
Parakeet 另一个亮点是自动加标点和大小写。Whisper 在这方面做得也不错,但 Parakeet 在处理数字、歌词、专有名词时的表现会更干净一些。
什么情况下选 Parakeet:
- 素材是纯英文内容(这是硬性要求,Parakeet 目前只支持英文)
- 追求最快的处理速度
- 有比较好的 NVIDIA GPU 可用
- 视频内容有大量数字、日期、产品名
不适用的情况: 任何非英文内容。Parakeet 遇到中文、日文等会直接失效或输出乱码。
Moonshine:边缘设备上的小而美
Moonshine 是 Moonshine AI(之前叫 Useful Sensors)训练的一系列模型,走的是完全不同的路线——极致轻量化,为实时和边缘场景优化。
它的模型体积非常小,base 版本只有约 237MB(Whisper base 是 142MB,但 Whisper large-v3-turbo 要 1.6GB)。同时 Moonshine 采用变长输入——Whisper 会把所有音频强行填充到 30 秒的固定窗口,而 Moonshine 只处理你给的实际长度,所以短音频推理速度快得惊人。
在 CPU 上的表现尤其亮眼:官方 benchmark 显示,在 Ryzen 9 9900X3D 上,Moonshine base 处理一段 4 秒的录音只需要 0.09 秒,而同机器上 Whisper large-v3-turbo 要 17.7 秒。
什么情况下选 Moonshine:
- 硬件配置一般(比如老旧笔记本、没有独显)
- 短视频、短音频批量处理
- 对实时性有要求
- 素材语言以英文为主(Moonshine 也支持中日韩阿拉伯语等,但多语言模型还在完善)
模型选择的速查表
如果你懒得记上面那么多细节,下面这个速查表可以直接用:
|
素材特征 |
推荐模型 |
备注 |
|
中文视频(教程/vlog/直播) |
Whisper Large-v3 Turbo |
精度和速度最佳平衡 |
|
中文视频(质量一般的录音) |
Whisper Large-v3 |
牺牲一点速度换更好的鲁棒性 |
|
英文视频(追求速度) |
Parakeet TDT |
GPU 加速效果显著 |
|
英文视频(追求精度) |
Whisper Large-v3 Turbo |
多语种通用选择 |
|
英文短音频批量处理 |
Moonshine Base |
CPU 也能飞快处理 |
|
多语种混合 |
Whisper Large-v3 |
自带语种识别 |
|
老旧电脑、核显机器 |
Moonshine Tiny/Base 或 Whisper Small |
吃不消大模型时的兜底 |
五、说话人分离是怎么做到的
AutoSubs 的另一个核心卖点是自动区分说话人并上色。这个功能背后用的是 Pyannote。
Pyannote 是法国 INRIA 实验室开源的一套说话人分离框架,是目前最成熟的开源方案之一。它要解决的问题,用一句话概括就是:"谁,在什么时候,说了话?"(who spoke when)
说话人分离的工作原理
说话人分离(Speaker Diarization)这个技术的流程,大致可以拆成这么几个阶段:
第一阶段:语音活动检测(VAD,Voice Activity Detection)。先判断音频里的哪些段落是人在说话,哪些是静音、背景音乐、环境噪音。这一步相当于给整个音频做了一个"有效区域"的标记。
第二阶段:说话人切换检测。在有效语音段落里,找出说话人切换的时间点。比如 A 说完一句话,B 接着说,系统要能检测到这个边界。
第三阶段:说话人嵌入向量提取。把每一段连续的发言,通过神经网络转换成一个高维向量(通常是 256 或 512 维),这个向量包含了这个说话人的声音特征——音高、音色、共振峰、说话习惯等等。
第四阶段:聚类。把所有发言片段的嵌入向量做聚类分析(常用层次聚类或谱聚类),相似的聚到一起,每一个聚类就对应一个说话人。
第五阶段:与转录结果对齐。把聚类结果和语音识别的时间戳对齐,给每一句字幕打上说话人编号。
整个流程可以简化成这样的伪代码:
# 简化版的说话人分离伪代码
audio = load_audio("video.mp4")
# 1. 语音活动检测
speech_segments = vad_model(audio)
# 2. 为每个语音段提取说话人嵌入向量
embeddings = []
for segment in speech_segments:
emb = speaker_embedding_model(segment)
embeddings.append((segment, emb))
# 3. 聚类
clusters = spectral_clustering(embeddings, num_speakers=None)
# 4. 输出带说话人标签的分段
for segment, speaker_id in zip(speech_segments, clusters):
print(f"[{segment.start:.1f}s - {segment.end:.1f}s] SPEAKER_{speaker_id}")
AutoSubs 里的说话人分离表现
Pyannote 的官方模型在 16kHz 单声道音频上做过大量 benchmark,说话人分离错误率(DER)在多数场景下能控制在 10% 以下。AutoSubs 在 UI 里把这个能力做了两层包装:
自动识别说话人数量:如果你不指定,系统会自动聚类出它认为合理的说话人数。
手动指定上下限:如果你知道视频里有几个人(比如访谈节目就是两个人),可以在设置里指定最小和最大说话人数,这会显著提高识别准确率。
样式自定义:每个说话人可以在 Resolve 集成模式下单独设置字幕颜色、描边、边框。甚至可以把不同说话人的字幕放到不同的字幕轨道上,方便后期精细调整。
需要说明的是,说话人分离对音频质量敏感。如果两个人音色非常接近,或者录音环境有严重的回声、混响,聚类效果可能会下降。遇到这种情况,手动校正是比较现实的方案——AutoSubs 的编辑器里支持快速把某一段字幕从"说话人 A"改成"说话人 B",批量操作很方便。
六、从安装到生成字幕的完整流程
说了这么多技术细节,现在进入实操环节。
安装包下载
AutoSubs 的下载入口有两个,都是官方直链:
- 项目 Release 页面:https://github.com/tmoroney/auto-subs/releases/latest
- 官方网站:https://tom-moroney.com/auto-subs/
在 Release 页面,你会看到多个平台的安装包:
AutoSubs-windows-x86_64.exe(Windows 版本)AutoSubs-Mac-ARM.pkg(macOS Apple Silicon,适用于 M1/M2/M3/M4 系列)AutoSubs-Mac-Intel.pkg(macOS Intel 芯片)AutoSubs-linux-x86_64.deb(Linux,Debian/Ubuntu 系列)
Windows 安装步骤
Windows 用户直接下载 .exe 安装包,双击运行就可以。整个流程和普通 Windows 软件一样。首次启动时 Windows Defender 可能会弹出警告——因为这是一个个人开发者签名的应用,不是微软商店应用。点击"仍要运行"即可。
macOS 安装步骤
macOS 用户下载对应芯片架构的 .pkg 包。注意:一定要选对架构。如果你不确定自己的 Mac 是 Apple Silicon 还是 Intel,可以点左上角苹果图标 → 关于本机,看"芯片"那一栏。
下载之后双击安装。macOS 可能会提示"无法打开,因为来自身份不明的开发者",这时候右键点击安装包选"打开",然后在弹出的对话框里确认就可以了。
Linux 安装步骤
Linux 用户打开终端,依次执行:
# 下载最新版本的 .deb 安装包
wget https://github.com/tmoroney/auto-subs/releases/latest/download/AutoSubs-linux-x86_64.deb
# 使用 apt 安装(自动处理依赖)
sudo apt install ./AutoSubs-linux-x86_64.deb
# 如果遇到依赖报错,可以用这组命令兜底
sudo dpkg -i AutoSubs-linux-x86_64.deb && sudo apt -f install
第一次启动要做什么
打开 AutoSubs 之后,界面上主要是三个区域:左侧是文件/设置栏,中间是主操作区,右侧是字幕编辑器。
第一次启动时需要下载模型。UI 会提示你选一个默认模型,推荐普通用户先选 Whisper Large-v3 Turbo——它的精度和速度平衡得最好,模型体积约 1.6GB,在国内下载如果太慢,可以挂一下代理或者换成 HuggingFace 的镜像地址。
模型只需要下载一次,之后会缓存在本地,不需要重复下载。
生成第一份字幕
核心流程大概是这五步:
第一步:把音视频文件拖进主操作区,或者点"选择文件"按钮。支持几乎所有主流格式——MP4、MOV、MKV、WebM、MP3、WAV、M4A 等等。
第二步:选择模型和语言。如果是中文视频,语言选"Chinese";如果是英文,选"English";不确定就选"Auto"让系统自动检测。
第三步:决定是否启用说话人识别。如果是单人讲解视频,可以关掉以提速;如果是访谈、播客、多人对话,必须打开。
第四步:点击"Transcribe"(转录),然后就是等待。处理时间取决于音频长度和你的硬件。在 M2 Mac 上,一小时的音频用 Whisper Large-v3 Turbo 大概需要 5-8 分钟;用 Parakeet 或 Moonshine 可以压缩到 2-3 分钟。
第五步:转录完成后,右侧编辑器会显示结果。你可以逐句校对、修改、调整时间轴、合并分割、修改说话人归属,然后点"Export"导出 SRT 文件,或者"Copy to Timeline"发送到 Resolve。
七、和 DaVinci Resolve 的深度联动
AutoSubs 最初就是作为 DaVinci Resolve 的插件起步的,所以它和 Resolve 的集成非常深。很多视频博主用 Resolve 做剪辑,这个功能对他们来说是刚需。
集成的前提条件
有一个非常重要的注意事项:AutoSubs 不支持 Mac App Store 版本的 DaVinci Resolve。如果你是从 App Store 下载的 Resolve,需要卸载掉,去官方网站 https://www.blackmagicdesign.com/products/davinciresolve/ 重新下载安装,才能和 AutoSubs 联动。
这是因为 App Store 版本有沙盒限制,不允许第三方脚本访问 Resolve 的 Fusion 脚本系统。这个不是 AutoSubs 的锅,是苹果的政策导致的。
集成流程
安装完 AutoSubs 和非 App Store 版 Resolve 后:
- 打开 Resolve,导入你的视频素材并放到时间线
- 顶部菜单:Workspace(工作区)→ Scripts(脚本)→ AutoSubs
- AutoSubs 会自动启动并连接到 Resolve
- 选择时间线上的音频轨道,设置模型和参数
- 点击转录
- 完成后点"Add to Timeline",字幕会自动创建为文本轨道,时间戳和时间线完美对齐
整个流程下来,你几乎不需要手动做任何对齐操作,字幕上轨即用。
每个说话人独立样式
在 Resolve 集成模式下,有一个特别好用的功能:per-speaker styling。你可以为每个识别出来的说话人配置独立的字幕样式——颜色、描边、阴影、字体、大小。甚至可以把不同说话人的字幕放到不同的字幕轨道上。
这在制作访谈节目时非常省事。比如做一期双人对谈,你可以让主持人的字幕用蓝色、嘉宾的字幕用橙色,一眼就能看清楚谁在说话,观众体验也会好很多。
八、独立模式和编辑器详解
除了和 Resolve 集成,AutoSubs 还可以完全独立使用。这个模式下,它就是一个纯粹的字幕编辑工具,不依赖任何剪辑软件。
字幕编辑器的实用功能
独立模式下的编辑器,设计得还挺专业的,有几个功能非常实用:
可调整预览窗口:你可以在编辑字幕的同时看到视频画面,还能实时看到字幕在画面上的效果。窗口大小可以拖拽调整,适配不同的显示器布局。
每行字幕数可配:可以设置每条字幕最多多少行(1 行、2 行或 3 行),系统会自动按标点和语义做换行。
字符数限制:每行最多多少个字符可以自定义,避免出现超长一行字幕刷屏的尴尬。
CPS 限制:CPS(Characters Per Second,每秒字符数)是一个行业通用的字幕阅读速度标准。一般建议英文不超过 17、中文不超过 9。AutoSubs 可以强制遵守这个限制,自动拆分或调整时间戳。
说话人批量修改:如果系统把某个说话人识别错了,你可以一键把所有"SPEAKER_02"全部改成"SPEAKER_01",或者打上具体的名字(比如"小王"、"小李")。
导出格式
AutoSubs 目前支持的导出格式有:
- SRT:最通用的字幕格式,几乎所有播放器和剪辑软件都支持
- 纯文本:只保留文字,没有时间戳,方便转成文章
- 剪贴板:直接复制到系统剪贴板,粘贴到任何地方都可以
如果你有特殊需求(比如 VTT、ASS),目前的稳定版还不直接支持,但可以用 SRT 转换工具手动转换。
九、进阶使用技巧
用了一段时间之后,我总结了一些让 AutoSubs 更好用的小技巧。
对于中文内容的优化
中文识别有它的独特挑战——没有空格分词、同音字多、语气词多。一些建议:
优先用 Large 级别的模型:中文对模型容量比较敏感,small 及以下版本在中文上表现会明显打折扣。Large-v3 或 Large-v3 Turbo 是比较推荐的选择。
关注标点准确性:Whisper 对中文的标点预测不是特别稳定,有时会把逗号识别成句号或直接漏掉。导出后最好过一遍标点。
处理口头禅和语气词:中文创作者经常有"嗯"、"啊"、"就是说"、"这个"等口头禅。AutoSubs 会忠实地把这些都识别出来,但实际做成视频字幕时往往要删掉。可以在编辑器里用查找替换功能批量处理。
提升说话人分离精度
预先指定说话人数:如果你知道视频里有几个人(比如三人圆桌),一定要在设置里明确指定,别让系统自己猜。这一个参数能显著提高准确率。
选择音质最好的音轨:如果视频有多个音轨(比如单独的话筒录音),优先用信噪比最高的那个做说话人分离。
人声和背景分离:如果背景音乐很响,可以考虑先用一些人声分离工具(比如 Ultimate Vocal Remover)把人声单独提出来,再交给 AutoSubs。这虽然多了一步,但效果会好很多。
硬件加速怎么用
AutoSubs 在有 GPU 的情况下会自动启用硬件加速。具体来说:
- NVIDIA GPU:通过 CUDA 加速,Whisper 和 Parakeet 都能受益
- Apple Silicon:通过 Metal 框架加速,Whisper 走 MLX 路径优化
- Intel/AMD CPU:纯 CPU 模式,靠 AVX/AVX2 指令集优化
如果你发现 GPU 没有被用上,检查一下:
- 驱动是否为最新版(NVIDIA 至少要 CUDA 11.8 以上)
- 显存是否足够(Large-v3 建议 8GB 以上显存)
- 任务管理器里看 GPU 使用率,确认有没有被占满
模型缓存路径
模型默认下载到用户目录下的 .cache/huggingface/hub/ 文件夹。如果你的系统盘空间紧张,想把缓存挪到别的盘,可以通过设置 HF_HOME 环境变量:
# Windows(PowerShell)
$env:HF_HOME = "D:\huggingface_cache"
# macOS / Linux(bash / zsh)
export HF_HOME="/Volumes/External/huggingface_cache"
然后再启动 AutoSubs,它就会把模型下载到你指定的路径。
十、常见问题与避坑指南
用了这个工具一段时间,收集了一些新手容易踩的坑:
问题一:模型下载慢或失败。HuggingFace 在国内访问有时不太稳定。解决办法是设置 HuggingFace 的镜像站环境变量,或者挂代理下载。具体可以参考 HuggingFace 社区的镜像使用说明。
问题二:Resolve 里找不到 AutoSubs 脚本。确认你装的不是 App Store 版的 Resolve;确认你的 Resolve 版本是 18 或 19 以上;重启 Resolve 后再检查 Workspace → Scripts 菜单。
问题三:长视频转录到一半卡住。一般是内存不够。Whisper Large 在处理超长音频时内存占用会飙升。可以切到 Turbo 版本,或者把视频先切成 30 分钟一段分别处理。
问题四:说话人识别把同一个人识别成了多个。音频里可能有音量/音色剧烈变化(比如从正常说话切到激动大喊)。可以在设置里调低 max_speakers 上限,或者用后期合并的方式修正。
问题五:字幕时间戳和画面对不齐。这通常是音视频不同步导致的。先检查源文件在播放器里本身对齐是否正确。如果源文件没问题但字幕偏了几帧,可以在 Resolve 或 SRT 编辑器里整体偏移时间戳。
十一、开源与可持续性
最后想聊一聊这个项目本身。
AutoSubs 是一个个人开发者主导的开源项目,发布时间不算很长,但迭代速度非常快——从 v1 到 v3,功能逐步完善,文档也越来越清晰。项目采用开源协议,代码完全公开,任何人都可以 fork、贡献、本地修改。
对创作者来说,选择开源工具的一个重要理由是可持续性。商业字幕服务的订阅费用每年都在涨,免费额度越来越紧;而开源工具只要你下载过一次,就永远是你的——哪怕项目未来停止维护,你已经装在电脑里的版本也不会消失。
当然,开源也意味着你需要接受一些不完美——比如更新可能不如商业产品频繁、某些小众功能可能缺失、遇到 bug 需要自己在 issue 里提问(https://github.com/tmoroney/auto-subs/issues)。但从综合体验来看,目前 AutoSubs 已经达到了可以作为日常生产力工具的水准。
如果你是视频创作者、播客主理人、访谈节目制作者、课程录制老师——总之,任何需要和音频字幕打交道的人——都建议把这个工具收藏起来。折腾半小时装好第一次,剩下的时间它都会默默帮你省回来。
关键信息回顾
- 项目主页:https://github.com/tmoroney/auto-subs
- 官方网站:https://tom-moroney.com/auto-subs/
- 最新版本下载:https://github.com/tmoroney/auto-subs/releases/latest
- 技术架构:Tauri + React + TypeScript + Rust
- 核心模型:Whisper / Parakeet / Moonshine + Pyannote
- 支持平台:Windows / macOS(ARM & Intel) / Linux
- 语言覆盖:50+ 种语言
- 开源协议:MIT 协议(可自由用于商业和非商业场景)
视频创作的本质是把脑子里的想法变成影像,真正有创造力的部分永远是前期构思和后期剪辑节奏的把控,而不是对着时间轴一句一句敲字幕。好的工具应该让机械劳动消失,让创作者把时间还给创作本身。AutoSubs 在这件事上,做得相当漂亮。
更多推荐
所有评论(0)