Skip to content

Releases: ZhaoChaoqun/nano-typeless

Nano Typeless v1.4.3

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 24 Mar 06:14

What's Changed

  • chore: increase Cloud Rewrite timeout from 2s to 5s by @ZhaoChaoqun in #19
  • feat: fine-grained telemetry with per-stage latency tracking by @ZhaoChaoqun in #20

Full Changelog: v1.4.2...v1.4.3

v1.4.2

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 23 Mar 09:09

Bug Fix

  • Fix dylib bundling: Remove stale libonnxruntime.1.17.1.dylib and ensure correct libonnxruntime.1.23.2.dylib is bundled, fixing dyld crash on machines without locally built sherpa-onnx
  • Update CLAUDE.md: Add dylib version consistency check guide to prevent future version mismatch issues
  • Bump version: Display 1.4.2 in Settings

Full Changelog

v1.4.1...v1.4.2

v1.4.1

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 23 Mar 08:50

🚀 v1.4.1 — 代码重构 + Cloud Rewrite 超时优化

新功能

  • Cloud Rewrite 2 秒超时:使用 TaskGroup 竞赛机制,API 调用超过 2 秒自动回退到原始转录,消除 12 秒等待

重构(P0 架构级改进)

  • RecordingManager 拆分(530 → 236 行):提取 AudioEngineManager、PostProcessingPipeline、ASREngineFactory
  • SherpaOnnxManager 拆分(803 → 200 行):提取 ModelPathResolver、ModelDownloader、ModelExtractionService
  • UI View 拆分:SettingsView 提取为 SettingsASRView、SettingsDualEngineStatusView、SettingsGeneralView
  • Magic numbers 常量化:ChineseSpellingCorrector、DualEngineASR、QwenASRRecognizer、SherpaOnnxOnlineRecognizer 中的阈值提取为命名常量
  • 超长函数拆分:ChineseSpellingCorrector.correctSpelling() 从 158 行拆为 4 个聚焦方法
  • 死代码清理:移除 KeyMonitor 中注释掉的调试代码

安装

brew tap ZhaoChaoqun/typeless
brew install --cask nano-typeless

升级:

brew upgrade --cask nano-typeless

v1.4.0

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 23 Mar 08:20
acc4bc8

🚀 v1.4.0 — 透明 Cloud Rewrite

新功能

  • 透明 Cloud Rewrite:所有 ASR 引擎的转录结果自动通过 Cerebras API 进行文本规范化(标点修正、术语校正),无需任何设置
  • 自动降级:API 不可用(限流、网络错误等)时静默回退到原文,用户无感知
  • 启动模型探测:应用启动时异步探测可用模型(优先 Qwen3-235B,降级至 GPT-OSS-120B),避免首次转录延迟
  • Anti-injection 防护<transcript> 标签包裹 + few-shot 示例 + 输出长度约束,防止 ASR 文本被模型误当指令执行
  • API Key 内置:Release 包内置 XOR 混淆的 API Key,内测用户无需注册 Cerebras 即可体验

改进

  • Cloud Rewrite prompt 优化:CER 从 0.3040 降至 0.0306(Qwen3-ASR + Cloud Rewrite 最佳组合)
  • 单元测试覆盖:401/429/5xx/网络超时/成功路径/无 API Key 6 种场景

安装

brew tap ZhaoChaoqun/typeless
brew install --cask nano-typeless

升级:

brew upgrade --cask nano-typeless

v1.3.0

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 17 Mar 09:42

🚀 v1.3.0 — 双引擎 ASR 模式

新功能

  • 双引擎 ASR 模式:Streaming Paraformer 实时预览 + Qwen3-ASR 流式精转写,兼顾低延迟与高准确率
  • ITN(逆文本正则化):通过 sherpa-onnx 支持数字/日期/货币等口语表达自动转书面格式
  • TermNormalizer 术语规范化:437 条规则的专业术语词典,自动纠正音译错误
  • Qwen3 Rewrite 后处理模式:一站式 ITN + 标点 + CSC + 术语规范化
  • Cloud Rewrite:集成 Cerebras GPT-OSS-120B 作为可选的云端后处理方案

改进

  • Qwen3-ASR 默认切换为 0.6B 模型,降低资源占用
  • sherpa-onnx 升级至 v1.12.28,改进尾部 flush 策略
  • Metal GPU 加速支持 Qwen3-ASR 推理
  • FSM 驱动的 RecordingManager 架构重构
  • 移除未使用的 VAD(Silero)和 FunASR Nano LLM 引擎代码

修复

  • 修复双引擎模式下跨边界词重复识别问题(从离线分段改为流式 pushAudio)
  • 修复第二次录音时 HUD 残留上次文本的问题
  • 修复 Qwen3-ASR UTF-8 BPE token 解码乱码
  • 修复引擎切换时旧引擎未正确释放的内存泄漏
  • 修复跨录音 session 的状态泄漏

安装

brew tap ZhaoChaoqun/typeless
brew install --cask nano-typeless

升级:

brew upgrade --cask nano-typeless

v1.2.21

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 11 Mar 08:54

词典更新

  • 新增 11 条中文音译纠正规则(千问三→Qwen3, michael s→macOS, 飞马→Figma, 奥了么→Ollama 等)
  • 修正 bilibili 输出为中文「哔哩哔哩」
  • 词典总规则数:437 条(114 缩写 + 129 实体 + 194 大小写)

v1.2.20

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 11 Mar 08:35

What's New

TermNormalizer — 专有名词后处理器

新增确定性的、基于词典的本地后处理模块,在所有后处理之前对专有名词做标准化:

  • 缩写折叠: A P IAPI, C I C DCI/CD 等 114 条规则
  • 实体纠错: chatgptChatGPT, i phoneiPhone 等 118 条规则 (262 个匹配模式)
  • 大小写强制: githubGitHub, macosmacOS 等 194 条规则

Benchmark 结果

Pipeline 平均 CER
Paraformer Pipeline 0.1070
Paraformer + TermNormalizer 0.1059
  • 零性能开销 (RTF 不变)
  • 零退化 (没有任何条目因 TermNormalizer 变差)
  • 完美匹配条目 55 → 58 条

测试语料扩充

新增 116 条 term_dictionary 覆盖测试语料 (Edge-TTS 合成),覆盖缩写、AI 产品、Apple 生态、中文互联网 APP、开发工具、数据库/云服务、商业术语、SaaS 工具等 9 个类别。

v1.2.19

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 11 Mar 07:35

What's New

  • 移除中英文空格规则:Cloud Rewrite 不再在中文与英文/数字之间插入空格,与 ASR 输出保持一致
  • 减少重复日志:录音状态机仅在状态 case 变化时输出日志,消除大量 recording → recording 重复日志

v1.2.18

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 11 Mar 07:20

What's New

  • sherpa-onnx 升级至 v1.12.28:使用 setFinalChunk API 替代 1s silence padding,改善流式 Paraformer 尾部 token flush
  • CloudRewriter prompt 优化:新增同音纠错、数字格式化、术语大小写、英文保留等规则,Cloud Rewrite CER 从 0.100 降至 0.080
  • FP32 模型支持:Paraformer 优先使用 FP32 模型,fallback INT8

Benchmark (67 条测试集)

Pipeline 平均 CER CER=0
Qwen3-ASR (流式) 0.0404 38/67
Paraformer Pipeline 0.0751 22/67
Paraformer + Cloud Rewrite 0.0797 28/67

v1.2.17

Choose a tag to compare

@ZhaoChaoqun ZhaoChaoqun released this 08 Mar 19:55

What's New

  • Qwen3-ASR Metal GPU 加速:启用 Metal GPU 推理,提升识别速度
  • unfixed_chunks 优化:设为 0,文本立即提交,减少回滚延迟
  • 架构文档修复:用 mermaid 流程图替换 ASCII art,修正路径对齐问题