TMSpeech 免费离线语音转文字:完整指南,从装模型到实时字幕
【免费下载链接】TMSpeech腾讯会议摸鱼工具项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech
TMSpeech 是一款 Windows 上的免费开源离线语音转文字工具。它抓取电脑正在播放的声音,在本机实时转成字幕——全程不联网,不需要注册账号,声音数据也从不离开你的电脑。普通笔记本上 CPU 占用通常不到 5%,解压、装模型、点一下开始,三步就能让屏幕上的视频"长出"字幕。下面按我自己第一次上手的顺序走一遍,每一步该去哪、碰到问题怎么办,都写在对应位置。
第一次打开 TMSpeech:解压、装模型、点开始
拿到 Release 里的压缩包后,解压,双击运行 TMSpeech.exe。首次启动它会自动创建配置文件和日志目录,桌面拖一个快捷方式,以后点开就能用。习惯动手的同学也可以拉源码自己构建:
git clone https://gitcode.com/gh_mirrors/tm/TMSpeech先别急着点"开始识别"。识别引擎只是骨架,真正干活的是语言模型,没装模型时它是转不出字的。打开设置,切到"资源"标签页:
这里列着社区仓库提供的模型,目前是中文、英文和中英双语三个选项,都是 Zipformer-transducer 系列的流式模型("流式"指边说话边出字,不用等整段说完)。以中文模型为例,体积在 300MB 级别,点"安装"后等进度条走完,条目变成"已安装"就完事了。
装完回到主界面,点开始识别。你听到的声音会即时变成字幕,之后这一节就不用再管了。顺便说一句它内部发生了什么:音频用 WASAPI 低延迟采集(WASAPI 是 Windows 自带的音频接口),先过一圈环形缓冲区防止丢数据,再交给流式引擎边采边识别,最后补上标点才上屏——整条链路都在本地跑,这就是它"既快又不传数据"的原因。配置本身存在%AppData%/TMSpeech/config.json,改完即热生效,不用重启程序。
下一步:确认主界面上已经有字在滚动,再看下一节把音频源调对。
音频源怎么选:系统内录、麦克风、单进程
决定"录什么"的是设置里"音频源"一栏的三个选项:
- 系统音频(内录):抓取电脑正在播放的全部声音,靠的是 WASAPI 的 Loopback 捕获。适合会议软件、网课、视频播放。它有个很实用的特性——即使你把系统音量拉到 0,识别照样进行,因为它是从系统内部直接取音频流的,不经过喇叭。
- 麦克风:录你自己的声音,适合口述草稿、语音笔记。
- 进程音频:只盯住某一个应用的声音,比如只录某个播放器,其他程序一概无视。
对多数人来说,第一选择就是系统音频,覆盖面最广;只有明确想录麦克风或单个程序时,才换另外两种。
下一步:音频源选好后,把字幕窗口摆到你顺手的位置。
字幕窗口怎么用:拖动、改样式、翻历史
字幕显示在一个无边框小窗口里,随便拖、随便拉伸。右键可以调字体、字号、颜色、透明度、阴影,把它压在视频画面下方或会议窗口旁边,基本不挡内容。
与此同时,识别结果在按日期自动写进"我的文档"下的 TMSpeechLogs 文件夹。一堂网课听完,打开当天的文件稍作整理,笔记就有了。历史记录窗口里选中内容,右键或 Ctrl-C 就能复制,方便把关键段落摘出去。
下一步:如果字幕质量不满意,先别怪它,去换引擎——下一节讲怎么选。
三种识别引擎对比:默认 Sherpa-Onnx 够用吗
设置里"语音识别"一栏的下拉框里有三档:
- Sherpa-Onnx 离线识别器:默认项,基于 CPU 优化,装好模型即用。作者实测在 AMD 5800U 笔记本上占用不到 5%,大多数人选它最省心。
- Sherpa-Ncnn 离线识别器:追求速度时可以试,能调用 GPU 加速(Vulkan 计算),对资源调度的玩法更激进。
- 命令行识别器:面向进阶玩家的开放接口,可以自己接任意外部识别程序,下面单独讲。
如果你只是想把功能用起来,保持默认不动它。
下一步:想折腾外部识别程序的朋友,往下看。
命令行识别器:把任何识别程序接进来,以及它背后的插件架构
命令行识别器的工作方式很直接:TMSpeech 启动一个你指定的外部子进程,子进程的标准输出按约定格式吐识别文本,标准错误输出则写进日志文件,双方统一 UTF-8 编码。输出以单换行结尾表示"更新当前句子",以多换行结尾表示"当前句子结束"。
这个设计留了个巧思:单换行的临时结果允许被后续输出修正,只有完整句子才落进历史记录——模型可以一边出字一边改错,最终留下的是一条稳定结果。代价是,子进程要自己采集音频,所以这种模式下设置里的音频源切换不生效。另外两个小细节:参数用空格分隔,含空格的路径要加双引号;如果跑的是 bat 脚本,开头用 @ 隐藏回显、结尾别加 pause。仓库的 external_recognizer/ 目录里放了几份可直接参考的 Python 脚本,照着改就能起一个原型。
顺带把项目的"骨架"也说一下,因为命令行识别器正是它最直观的例子:TMSpeech 是"核心框架 + 功能插件"的结构,核心层(src/TMSpeech.Core/)负责插件管理、任务调度、配置和资源下载,具体能力全放在 src/Plugins/ 下的独立插件里——每个插件带一份描述文件,实现音频源、识别器、翻译器之一的接口,启动时自动被扫描加载。所以想加新的音频来源或识别引擎,写个新插件丢进去就行,核心代码一行不用碰。
下一步:日常使用中遇到的坑,最后一节集中处理。
常见问题快速排查:识别不准、录不到声音、找不到历史
识别准确率不理想。先排查环境:背景音是否太吵、是不是多人同时说话、音量设置是否合理;再确认音频源选对了。这些都正常,多半是模型与你的场景或口音不匹配——换个模型试试,也可以在设置里把模型路径指向其他开源流式模型。
录不到系统声音。这通常不是 TMSpeech 的问题,而是 Windows 自己的设备设置:打开"声音控制面板"的"录制"标签页,启用"立体声混音"(看不到就右键空白处勾选"显示禁用的设备"),再拿它当音频源。
找不到历史记录。确认"我的文档/TMSpeechLogs"文件夹存在且有写入权限;权限异常时,用管理员身份运行程序一般能解决。
CPU 占用偏高。优先用默认的 Sherpa-Onnx 引擎,换更轻量的模型,或者关掉实时标点这类附加处理,都能省出一部分开销。
配置改乱了。没关系,Release 包里附带一个重置配置的脚本,跑一下现有配置就被清掉,程序回到默认状态,新手可以放心调。
最后多说一句:项目是开源的,代码主体在 src/ 目录,入口清晰,好找下手机会。哪里用得不顺手、想要什么功能,直接提 Issue 或发起讨论;发现了效果更好的开源识别模型,也欢迎推荐给社区。
去 Release 页面拿最新压缩包,解压、装模型、点开始识别——从电脑出声到屏幕出字,整个过程几分钟就够。
【免费下载链接】TMSpeech腾讯会议摸鱼工具项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考