录匣 Offlisten
100% offline speech-to-text for meetings and lectures.
录匣把你电脑上的声音转成文字,全部在本机完成。 没有账号,没有云端,拔掉网线它还在写。
下面是同一份模型(SenseVoice int8,2 个 CPU 线程)在五段公开音频上的真实输出,看完再决定要不要装。 这个页面不放可交互 demo:转写要在服务端加载 229 MiB 的模型,而它的主场是你自己的电脑。
五个语种,同一份模型
| 音频 | 时长 | 耗时 | RTF 5 轮中位数 | 输出 |
|---|---|---|---|---|
| 中 | 5.6 s | 0.56 s | 0.100 0.087–0.117 | 开饭时间早上9点至下午5点。 |
| 英 | 7.2 s | 0.59 s | 0.083 0.077–0.090 | The tribal chieftain called for the boy and presented him with 50 pieces of code. |
| 日 | 7.2 s | 0.65 s | 0.090 0.080–0.108 | うちの中学は弁当制で持っていきない場合は、50円の学校販売のパンを買う。 |
| 韩 | 4.6 s | 0.38 s | 0.082 0.080–0.087 | 조금만 생각을 하면서 살면 훨씬 편할 거야. |
| 粤 | 5.1 s | 0.42 s | 0.081 0.078–0.099 | 呢几个字都表达唔到我想讲嘅意思。 |
点语种名可以听那段音频。五段都在
模型仓库的 test_wavs/,
和模型一样可下载,可自己复跑。耗时是 2 个 CPU 线程跑五轮的中位数,括号里是极值。
同一段音频连跑五次,RTF 能落在 0.077–0.117 之间,所以这张表只支撑一个结论:速度大概是实时的十倍。
要当 benchmark 用,得固定机器、关掉后台、多跑几轮看分布。
中文那句在官方示例里是「开放时间」,int8 量化后这里是「开饭时间」。我们没有换成好看的那条。
演示
演示视频加载中;若浏览器不支持 mp4,可直接下载观看。
这 42 秒是按真实时钟跑出来的:五段音频先被模型听完,字幕才依次出现,切段方式和产品里一样靠停顿。
界面是产品的本地文本页,以只读回放模式启动,所以控制区写着「只读文本页」;正常桌面运行时那里是开始/暂停。
视频里的数据只走过 127.0.0.1。
接上本地的 AI
录匣只把声音变成文字。总结、追问、翻译交给谁写由你决定,前提是那个模型也在这台机器上。 下面这段 46 秒没有音轨,因为它要证明的不是听感。
左边是录匣的本地文本页,右边是浏览器里的 Page Assist,接着一个跑在 Ollama 上的 qwen2.5:0.5b。
勾选 Chat with current page 之后,插件读的是这个页面本身,走的不是云端接口,也不经过复制粘贴。
本地文本页本来就留了这个出口
页面上那行提示是为这件事写的:
文本来自本机离线 ASR,只在 127.0.0.1 上传输。本页不调用任何模型,也不持有 apikey。 要交给 AI 处理,就复制全文,或让你浏览器里已有的 AI 插件读取本页。
视频里三个部件都在同一台机器上,链路没有一处出网:
| 部件 | 作用 | 跑在哪 |
|---|---|---|
| SenseVoice int8 | 声音转成带标点的文字 | 本机进程,229 MiB 随安装包落盘 |
| Page Assist | 把当前页内容放进提示词 | 浏览器扩展 |
| Ollama + qwen2.5:0.5b | 读文字,给回答 | 本机进程,监听 127.0.0.1:11434 |
两点说明。一是 0.5b 只有五亿参数,回答质量按小模型的标准看,别拿它和云端大模型比。
二是视频里它用英文作答,因为页面上并排摆着中文原文和 Argos 译文,模型看到的是双语文本;
想让回答更稳,可以在插件里限定「只依据中文原文回答」。
造轮子之前,先看这 12 格
上面演示的是产品选中的那一格。选之前量过 4 个运行时 × 3 个平台, 能同时满足「CPU 能跑、流式、能装进别人的机器」的只有 2 格,其中 1 格有本机实测。
颜色越深越可用。斜纹表示这一格不存在:不是慢,是没有这个选项。 英文版:matrix-en.png。
图上只放结论,依据分四级:5 格来自官方文档或包矩阵,1 格是本机实测(就是上面那张表), 1 格只验过模型、没跑过运行时,5 格是推断。推断的那 5 格标了 L3,只能当「值得试」,不能当结论引用。
依据都能点开核
- FunAudioLLM 论文(arXiv:2407.04051):SenseVoice-Small 的结构、5 语言支持与低延迟声明。
- sherpa-onnx 文档:ONNX Runtime 下的 SenseVoice 用法与流式示例,产品走的就是这条。
- sherpa-ncnn 的 SenseVoice 章:ncnn 侧有现成预训练包,也有麦克风实时识别一节。
- Triton 后端支持矩阵:TensorRT 在 x86 与 ARM-SBSA 上都是 GPU ✓ / CPU ✗。
- PyPI 上 sherpa-ncnn 的 wheel 列表:只有 win32 与 win_amd64,没有 win_arm64。
- SenseVoiceSmall-GGUF 模型卡:q8 体积,8 线程 8.01% CER(184 条普通话)。
逐格原因、证据分级和「补一格」用的模板在仓库的 docs/bench/README.md。
这 12 格里我们只量过 1 格,剩下 11 格要等有机器的人把数补上。
和云端转写比
- 不上传:音频不出本机。没有隐私政策需要读,因为没有服务器收它。
- 不用登录:没有账号体系,也就没有订阅和额度。
- 断网可用:模型随安装包落盘,拔掉网线照常写。
- 能抓桌面客户端:系统级音频采集,不只限于浏览器标签页。
模型
本页数字对应的权重公开在 ToothpasteLake/offlisten-models, 6 个文件共 229.07 MiB,逐文件 sha256 登记在发行清单里。换成自己的机器复跑时,先核对哈希,再比数字。