TypeNo 语音输入工具与 coli 语音引擎深度调研
TypeNo 语音输入工具与 coli 语音引擎深度调研
调研时间:2026-03-24
来源:GitHub github.com/marswaveai/TypeNo
标签:语音输入、ASR、本地推理、macOS
一、项目概述
1.1 什么是 TypeNo
TypeNo 是由 marswave.ai 公司开发的 macOS 语音输入工具,主打 免费、开源、隐私优先。
核心理念:按下 Control,说完话,文字自动粘贴到当前应用。全程无需窗口、无需设置、无需账号。
| 属性 | 值 |
|---|---|
| 官网 | https://typeno.com |
| GitHub | https://github.com/marswaveai/TypeNo |
| 开源协议 | GPL-3.0 |
| Stars | 168 |
| 技术栈 | Swift 88.7% + Shell 11.3% |
1.2 快速定位结论
| 维度 | TypeNo | 灵听(目标对比) |
|---|---|---|
| 定位 | 极简语音工具 | AI 智能输入法 |
| 平台 | 仅 macOS | 桌面跨平台 |
| 智能化 | 无 | AI 补全、上下文理解 |
| 输入框适配 | 无 | Web 页面智能跟随 |
| 扩展性 | 封闭单功能 | 面向 AI 时代 |
结论:TypeNo 是一个好的极简语音工具,但不是灵听的竞争对手。两者不在同一赛道。
二、技术架构
2.1 整体架构
TypeNo 采用 macOS 原生应用 + Node.js 推理层 的分离架构:
┌─────────────────────────────────────┐
│ TypeNo (Swift) │
│ macOS 原生菜单栏应用 │
│ - 音频采集 │
│ - 系统集成(粘贴、权限) │
└──────────────┬──────────────────────┘
│ IPC
┌──────────────▼──────────────────────┐
│ coli (Node.js) │
│ @marswave/coli npm 包 │
│ - 模型管理 │
│ - ASR 推理(sherpa-onnx) │
│ - TTS 合成 │
└──────────────┬──────────────────────┘
│
┌──────────────▼──────────────────────┐
│ sherpa-onnx │
│ 本地 ONNX 推理引擎 │
│ - SenseVoice / Whisper 模型 │
│ - Silero VAD │
└─────────────────────────────────────┘
2.2 核心技术依赖
| 组件 | 用途 | 链接 |
|---|---|---|
| sherpa-onnx | ONNX 推理引擎 | github.com/k2-fsa/sherpa-onnx |
| SenseVoice | 默认 ASR 模型 | FunAudioLLM/SenseVoice |
| Whisper | 可选英文模型 | OpenAI/Whisper |
| Silero VAD | 语音活动检测 | github.com/snakers4/silero-vad |
2.3 coli 的设计亮点
coli 作为核心库,设计上有很多值得借鉴的地方:
- 模型自动下载:
ensureModels()自动下载所需模型到~/.coli/models/ - 统一 API:封装
runAsr()和streamAsr()两个核心接口 - 流式输出:
streamAsr()支持实时返回识别结果 - VAD 集成:内置 Silero VAD 支持,可配置阈值、静音时长等参数
三、ASR 模型对比
3.1 SenseVoice vs Whisper
| 维度 | SenseVoice Small int8 | Whisper tiny.en int8 |
|---|---|---|
| 模型大小 | ~46MB(int8 量化) | ~39MB(int8 量化) |
| 支持语言 | 中、英、日、韩、粤 | 仅英文 |
| 专注任务 | 语音理解 + 转写 | 纯语音转文本 |
| 情感识别 | ✅ 原生支持 | ❌ 不支持 |
| 音频事件检测 | ✅ 原生支持 | ❌ 不支持 |
| 中文效果 | ⭐⭐⭐⭐⭐ 优秀 | 不支持 |
| 英文效果 | ⭐⭐⭐⭐ 良好 | ⭐⭐⭐⭐⭐ 优秀 |
| 延迟 | 低(流式优化) | 较低 |
3.2 SenseVoice 中文效果分析
优势来源:
- 训练数据:字节跳动拥有海量中文语音数据(抖音/TikTok),中文语料覆盖充足
- 场景优化:针对中文口语场景(直播、语音消息、短视频)优化
- 方言支持:原生支持粤语识别
- 智能标注:标点处理相对智能,不需要额外后处理
实测特点:
- 中文普通话识别准确率高,接近实时转写
- 对网络用语、口语化表达识别较好
- 转写延迟低,适合实时语音输入场景
3.3 coli 支持的模型
| 模型 | Key | 语言 | 备注 |
|---|---|---|---|
| SenseVoice Small int8 | sensevoice(默认) |
中英日韩粤 | 推荐中文用户 |
| Whisper tiny.en int8 | whisper |
仅英文 | 英文场景可选 |
四、性能实测参考
4.1 速度指标
| 场景 | 估计延迟 | 说明 |
|---|---|---|
| 短句转写(<5秒) | < 500ms | 本地推理,整体流程 |
| 流式识别(实时) | ~100-300ms/segment | 取决于 VAD 配置 |
| 文件转写(1分钟音频) | ~2-5秒 | CPU 推理 |
4.2 资源占用
| 资源 | 占用 |
|---|---|
| 模型大小 | SenseVoice Small int8 ≈ ~46MB |
| 内存占用 | 推理时 ~100-200MB RAM |
| GPU 要求 | CPU 友好,int8 不需要 GPU |
4.3 VAD 性能
| 参数 | 默认值 | 说明 |
|---|---|---|
| threshold | 0.5 | 语音检测阈值 |
| minSpeechDuration | 0.25s | 最小语音时长 |
| minSilenceDuration | 0.5s | 最小静音时长 |
| maxSpeechDuration | 15s | 最大语音片段 |
五、对灵听项目的参考价值
5.1 可以借鉴的
| 方面 | 建议 |
|---|---|
| 本地推理方案 | 考虑 sherpa-onnx 的 Flutter FFI 集成 |
| 中文 ASR 模型 | 使用 SenseVoice 作为中文识别核心 |
| VAD 集成 | 引入 Silero VAD 提升实时语音体验 |
| 模型管理 | 参考 ensureModels() 设计首次运行自动下载 |
| 极简 UX | TypeNo 的核心理念 “voice → text → paste” 很清晰 |
5.2 注意事项
- Flutter 桌面端音频采集
- macOS 需要麦克风权限 + 辅助功能权限
-
自动粘贴需要 Accessibility API 或剪贴板方案
-
跨平台复杂性
- TypeNo 仅支持 macOS,coli 的 TTS 也标注 macOS only
-
灵听跨平台需要在各自平台单独实现
-
集成方案建议
Flutter App
│
├── Platform Channels / FFI
│ │
│ ├── Windows: sherpa-onnx C++ binding
│ ├── macOS: sherpa-onnx Swift binding 或 coli Node.js FFI
│ └── Linux: sherpa-onnx C++ binding
│
├── Audio Capture
│ └── flutter_audio_capture / platform APIs
│
└── Text Input
└── 剪贴板方案 / Accessibility API
六、总结
6.1 TypeNo 评价
| 维度 | 评分 | 说明 |
|---|---|---|
| 功能完整性 | ⭐⭐⭐ | 极简但核心功能都在 |
| 中文支持 | ⭐⭐⭐⭐⭐ | SenseVoice 中文识别优秀 |
| 开源质量 | ⭐⭐⭐⭐ | 代码量不大但结构清晰 |
| 可扩展性 | ⭐⭐⭐⭐ | coli 解耦设计好,易于集成 |
| 性能 | ⭐⭐⭐⭐ | 本地推理速度快,延迟低 |
6.2 核心结论
- TypeNo 是一个设计优雅的 macOS 极简语音工具,与灵听不在同一赛道
- coli + SenseVoice 是在 Flutter 中集成本地 ASR 的优秀参考架构
- SenseVoice 是目前开源中文 ASR 中性价比最高的选择之一
- 如果灵听需要本地推理能力,建议研究 sherpa-onnx 的 Flutter 集成方案
6.3 相关链接
| 资源 | 链接 |
|---|---|
| TypeNo GitHub | https://github.com/marswaveai/TypeNo |
| coli GitHub | https://github.com/marswaveai/coli |
| sherpa-onnx | https://github.com/k2-fsa/sherpa-onnx |
| SenseVoice | https://github.com/FunAudioLLM/SenseVoice |
| Silero VAD | https://github.com/snakers4/silero-vad |
整理自 TR-Ai学习资料收集整理 群聊记录,2026-03-24