faster-whisper-GUI 使用教程:从一段不敢上传的录音,到带说话人标签的字幕
【免费下载链接】faster-whisper-GUIfaster_whisper GUI with PySide6项目地址: https://gitcode.com/gh_mirrors/fa/faster-whisper-GUI
去年秋天我接到一个播客剪辑的活儿,受访者聊了四十分钟,中间夹着大量不能外传的项目细节——这意味着录音没法丢给任何在线转写服务。faster-whisper-GUI 就是在这种时刻救场的:一套基于 PySide6 的离线语音转文字工具,装好后所有识别都在本机完成,从转写、说话人标注到字幕导出,全程不碰网络。这篇文章就是我从零跑通它的完整记录,照着走一遍,你也能在一顿饭的时间里把一段录音变成带时间戳的字幕。
故事从"录音不能上传"开始
那天的处境其实很典型:我手头有 MP3、WAV,甚至还有一段画面抖得厉害的手机录像,里面是现场采访。在线工具的问题是明摆着的——要么上传了不该上传的内容,要么试到一半网络断掉,要么转写出来的文本带着一堆"嗯嗯啊啊"没法直接用。
我当时的底线就两条:不出本机、格式不挑。搜了一圈之后锁定了 faster-whisper-GUI。它把 faster-whisper 的转写引擎、WhisperX 的说话人识别、Demucs 的人声分离都收进了一个 PySide6 图形界面里,用鼠标点选就能完成整条流水线,而不是在命令行里拼参数。真正让我下决心的,是它支持任意音视频格式直接丢进去处理——那些"先转码再转写"的中间步骤,在它这里根本不存在。
faster-whisper-GUI 安装教程:三行命令请进门
安装比我想象的省事。前提是你电脑上有个 Python 3.9 以上的环境,然后依次执行:
git clone https://gitcode.com/gh_mirrors/fa/faster-whisper-GUI cd faster-whisper-GUI pip install -r requirements.txt python FasterWhisperGUI.py第一次跑起来,你会看到左侧一竖排功能导航(模型参数、VAD、转写参数、执行转写、后处理及输出),右侧是主操作区。如果你的机器有 NVIDIA 显卡,记得给 ctranslate2 装 GPU 版,转写速度能拉开好几个身位;纯 CPU 机器也不用慌,后面选对模型照样能跑。
转写前必做的一步:选对模型与设备
软件第一次启动会默认停在模型参数页,这里决定了你后面所有转写的底子。
界面里两件关键的事:模型从哪来,用什么设备跑。
- 模型来源:有现成的本地模型就勾"使用本地模型"填路径;没有就选"在线下载模型",首次运行会自动拉取。模型缓存目录可以指定,免得把 C 盘塞满。
- 设备与精度:处理设备选 cuda(有显卡)或 cpu;计算精度 float16 省显存、速度快,float32 精度更稳。CPU 线程数按你核心数填即可。
模型大小怎么挑,别听玄学,按录音类型对号入座:
| 模型 | 内存需求 | 适合的录音 | 我的用法 |
|---|---|---|---|
| tiny / base | 1~2GB | 快速验证、粗听 | 测试链路通不通 |
| small | 4GB左右 | 日常会议、口播 | 大多数人的甜点位 |
| medium | 8GB左右 | 专业转录、外语内容 | 需要高准确率时 |
| large-v3 | 16GB+ | 学术录音、复杂口音 | 精度优先的任务 |
我自己的经验:先拿 small 跑通整条流程,确认无误后再根据准确率决定要不要升 medium——别一上来就 large-v3,等模型下载完,午休都结束了。
第一次转写:参数先别贪多,跑通最重要
模型搞定后切到转写参数页,这一页的选项长得像飞行仪表盘,但真正要动的没几个。
我的首发配置就四步:语言选 Auto(让它自己认),分块大小填 15(10~20 秒是速度和准确率的平衡点),温度保持默认,VAD 过滤打开(自动跳过静音段,既省时间又减少乱识别)。其他什么采样频率阈值、gzip 压缩比值,第一次全部忽略,那是进阶调参区。
点下 Start 之后你会看到语言检测先跳出来——那段日语采访被自动识别为日语,概率 96.65%,随后逐段吐出带时间区间的文本。
关于语言设置有个小技巧:如果是中英混说的会议,Auto 偶尔会跑偏,这时手动指定主要语言反而更准;反过来,多语言混在一起的内容才需要 Auto 兜底。
背景音乐压过人声?先用 Demucs 把人声抽出来
第一批录音里最头疼的是那期音乐节目——歌手说话的时候背景伴奏还在响,转写结果惨不忍睹。faster-whisper-GUI 的处理方式是先分离、再转写。
Demucs 页面做的事情简单说就是"拆轨":把一段混音拆成人声、鼓、贝斯等独立音轨。参数只有三个——采样重叠度、分段长度、输出音轨。想转歌词就输出人声轨,想做伴奏就输出其余轨道。
把"提取"点下去,等它跑完,拿着分离出的纯人声再走一遍转写流程,准确率肉眼可见地上了一个台阶。这条"先分离再转写"的思路,对嘈杂环境录的会议同样适用。
多人录音分不清谁是谁?WhisperX 说话人识别来认领
音频干净了,新的问题浮出来:四人围谈的会议,转写文本全混在一起,读者根本不知道哪句话是谁说的。这时就要请出 WhisperX。
WhisperX 在 faster-whisper-GUI 里承担两块后处理:时间戳对齐(把文字钉在对应的音画时间点上,误差小于 0.1 秒)和说话人识别(自动区分不同发言者)。在 VAD & WhisperX 页面里,你可以设最小/最大说话人数,给识别算法一个提示范围。
跑完的结果表格里,每段文本带着起止秒数和说话人标记,谁在什么时候说了什么,一眼就能看明白。对做会议纪要和播客剪辑的人来说,这一页省掉的核对时间是按小时计的。
从 1 个文件到 100 个文件:批量转写这样安排
当你开始把整套工具用进日常工作,很快会发现单条处理不够用了。faster-whisper-GUI 的文件列表设计在这里体现出价值:文件可以直接拖进窗口,也能批量添加,列表会自动过滤非音视频文件,避免误操作。
我现在的做法是:把一个月的采访按项目分文件夹,拖进来一批,参数沿用上次的模板,点 Start 就去干别的。文件队列按顺序处理,中间断档了也能接着跑,不用从头再来。做字幕的同行如果导出 SRT 后要导进剪辑软件,这一套流程基本就是"导入即用"。
结果页不是终点:改错、对齐、导出
转写跑完,界面底部会汇总出完整的文本流,逐段带着时间戳。这里是我唯一坚持"手动"的环节——自动识别再准也会有听岔的字,尤其是人名和专有名词。
检查一遍、改完错字,接下来是导出环节,按用途选格式:TXT 给文本分析和笔记整理,SRT 给视频剪辑软件,VTT 给网页播放器,LRC 给歌词显示,SMI 给特殊播放器兼容。多格式输出的意义在于:同一次转写,可以同时喂给剪辑、发布、归档三条不同的工作流。
想深挖参数含义的,项目根目录那份参数说明:.md把每个选项的推荐值都写清楚了;软件的默认语言支持和配置在faster_whisper_GUI/config.py里,改起来也很直观。
写在最后
回到开头那期播客——最后交付的时候,SRT 字幕里每个说话人的名字都对得上,客户只改了两处错字。而那段"不能外传"的录音,从头到尾没离开过我的硬盘。这就是本地工具最实在的地方:不是因为它离线这个标签听着酷,而是它让"不敢上传"的内容也能拥有完整、专业、可编辑的文字稿。
下一步其实很简单:找一段你手头的录音,按上面的顺序跑一遍,先 small 模型、Auto 语言、VAD 开着,把整条链路走通,再回来折腾模型和 WhisperX。
如果你也把它跑起来了,告诉我你最想深挖哪个环节——是说话人识别那套参数,还是 Demucs 分离的调法?
【免费下载链接】faster-whisper-GUIfaster_whisper GUI with PySide6项目地址: https://gitcode.com/gh_mirrors/fa/faster-whisper-GUI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考