stt
离线本地语音识别工具,基于 faster-whisper 将音视频转为文字/字幕,保护隐私无需上传
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
离线本地语音识别工具,基于 faster-whisper 将音视频转为文字/字幕,保护隐私无需上传
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否遇到过这样的场景:想要把一段视频里的中文对话快速转成字幕,却不得不把文件上传到某个在线服务,等着它处理完后才能下载,还可能担心内容被传送到第三方服务器?
jianchang512/stt 就是来解决这个问题的——它是一个完全离线的本地语音识别转文字工具,基于开源的 faster-whisper 模型,可以在你的电脑本地完成从音视频到文字的转换,整个过程不依赖任何外部服务器,真正做到数据不出本机。
在 stt 出现之前,市面上主流的语音转文字方案主要有两类:一是以 OpenAI Whisper API 为代表的云端服务,准确率不错,但每次调用都要付费,而且音频数据会上传到第三方;二是百度、讯飞等国内厂商的语音识别接口,虽然有免费额度,但同样存在隐私顾虑,对于涉及敏感内容的视频创作者来说,把素材传到别人服务器总归不放心。
stt 的作者(jianchang512)正是看到了这个痛点,利用 faster-whisper 这个开源推理引擎,开发了这款纯本地的语音识别工具。faster-whisper 是 Whisper 的优化实现,在保持准确率基本不变的前提下,大幅提升了推理速度,让普通用户的电脑也能跑起来。
stt 的使用方式非常直接。用户下载预编译版本(Windows)或通过源码部署后,双击运行,浏览器会自动打开本地 Web 界面。上传一段音视频文件(支持 MP4、AVI、MOV 等常见格式,工具会自动用 ffmpeg 抽取出音频),选择识别语言和输出格式(JSON、SRT 字幕或纯文本),点击开始,稍等片刻即可得到结果。
输出的 SRT 字幕格式可以直接导入 Adobe Premiere、剪映等专业剪辑软件使用,带有时间戳,非常方便。对于视频创作者和字幕组来说,这个功能尤其有价值——过去需要手动打轴的时间,现在可以用几秒钟的自动识别来替代,再用少量人工校对即可。
从源码来看,stt 的技术选型走的是轻量化路线。核心推理引擎是 faster-whisper,它底层基于 PyTorch,支持 OpenAI Whisper 的所有模型规模(tiny、base、small、medium、large-v3)。Web 服务层用的是 Flask 配合 gevent 的 WSGI 服务器,单进程足以支撑普通用户的使用场景。
项目内置了一个 tiny 模型作为默认模型,用户可以根据需要下载 larger 模型来获得更高的识别准确率。配置文件 set.ini 中暴露了大量调优参数:beam_size、temperature、condition_on_previous_text 等,高级用户可以通过调整这些参数在速度和准确率之间寻找平衡。VAD(Voice Activity Detection,语音活动检测)默认开启,可以有效过滤静音片段,提升转写效率。
如果你有一块 NVIDIA 显卡,并且正确配置了 CUDA 环境(PyTorch 的 CUDA 版本),stt 会自动检测并启用 GPU 加速。根据实测,使用 RTX 3060 级别的显卡,一段 10 分钟的视频在 large-v3 模型下的转写时间可以压缩到 1 分钟以内,相比纯 CPU 模式有数量级的速度提升。对于需要批量处理大量视频的用户来说,GPU 加速几乎是必选项。
不过,即便没有独立显卡,stt 也能正常运行——切换到 CPU 模式虽然慢一些(large-v3 模型可能需要数倍时间),但对于偶尔使用、机器配置一般的用户来说也能接受。
除了 Web 界面,stt 还提供了 HTTP API 接口(http://127.0.0.1:9977/api),支持 POST 请求,传入语言代码即可获得识别结果。这意味着 stt 可以作为后端服务集成到其他工具中——比如自动化字幕处理流水线、视频内容分析脚本等。对于有开发能力的用户来说,这是一个灵活的扩展方式。
支持的识别语言涵盖中文、英语、法语、德语、日语、韩语等十余种主流语言,还内置了 OpenCC 繁简转换功能,中文用户可以直接输出繁体字幕。
当然,stt 也不是完美的。首先,它没有提供容器化支持(没有 Dockerfile 或 docker-compose),对于习惯用 Docker 部署的用户来说只能手动配置 Python 环境;其次,预编译版本目前只提供了 Windows 可执行文件,Linux 和 Mac 用户只能走源码部署路线;另外,虽然 faster-whisper 相比原始 Whisper 已有明显优化,但在没有 GPU 的情况下,大模型的推理速度仍然偏慢。
从代码质量来看,项目整体结构清晰,但测试覆盖率一般,缺少完整的单元测试。不过考虑到这是一个以实用为导向的工具类项目,代码注释也相对充分,这个缺陷的影响有限。
stt 所在的赛道背后,是一个正在快速增长的本地 AI 工具需求。随着大语言模型和端侧推理技术的成熟,越来越多的 AI 能力正在从云端迁移到用户本地。对于语音转写这个场景,本地化不仅意味着隐私保护,还意味着零成本(无需 API 订阅)和离线可用性(无网络也能工作)。
从更宏观的视角看,jianchang512 并不是孤军奋战——他同时维护着 pyvideotrans(视频翻译配音工具)和 clonevoice(声音克隆工具),三者共同构成了一个围绕视频内容创作的本地 AI 工具矩阵。这种组合拳的思路,代表了开源社区在垂直场景深耕的一种典型模式。