Skip to content

Releases: abcwyc/MeetMemo

MeetMemo 0.61

07 Jun 12:37

Choose a tag to compare

MeetMemo 0.61

本次版本主要提升长会议场景下的稳定性,尤其是超长转录生成 AI 纪要时的成功率,并修复录制恢复后的系统音频问题。

更新内容

  • 新增长转录预算压缩机制,避免超长会议转录导致 LLM 请求超出上下文限制。
  • 当转录过长时,会保留会议开头和结尾,并压缩中间内容,尽量保留背景与结论信息。
  • 生成纪要前如果发生转录压缩,会在应用内显示温和提示,不影响正常生成流程。
  • 提高 Anthropic 和 OpenAI 兼容接口的 LLM 输出 token 上限。
  • 修复录制恢复后系统音频采集未正确恢复的问题。
  • 更新 README,使项目说明更贴近当前功能状态。

修复

  • 修复超长转录生成纪要时可能因超出模型上下文而失败的问题。
  • 修复录制暂停/恢复后系统音频可能丢失的问题。
  • 提升超长会议结构化摘要提取的稳定性。

测试

  • 新增转录 token 估算与压缩逻辑的单元测试。

新增 Fun-ASR-Nano 实时转写引擎

07 Jun 02:27

Choose a tag to compare

MeetMemo 0.6

这次更新重点改进了本地语音识别与系统级语音输入体验,新增 Fun-ASR-Nano 实时转写引擎,并对 SenseVoice、系统音频录制、快捷键听写和权限处理做了大量稳定性优化。

新增

  • 新增 Fun-ASR-Nano 实时 STT 引擎,提供新的本地转写选择。
  • 新增系统级语音输入能力,可通过快捷键录音并将识别结果插入当前输入位置。
  • 新增语音输入设置、悬浮状态窗口、文本规范化与组合逻辑。
  • 新增更多模型变体配置,方便在不同转写质量和性能需求之间切换。

改进

  • 精简 SenseVoice 与语音输入相关流程,降低重复转写和状态混乱的概率。
  • 改进语音输入热键时序、文本处理和录音保护逻辑。
  • 系统音频捕获失败时会自动降级为仅麦克风录制,避免整场录音中断。
  • 优化 SenseVoice 对轻声、句首吞字等场景的处理,并加入更多诊断信息。
  • 改进模型下载、校验和可用性判断流程。
  • 为 SpeechAnalyzer 测试补充 macOS 26 可用性保护。

修复

  • 修复 SenseVoice 语音输入可能出现重复转写的问题。
  • 修复语音输入权限处理中的异常状态。
  • 修复部分音频源切换和录制状态同步问题。
  • 修复短文本、热键快速触发等场景下的文本插入稳定性问题。

Notes

本版本继续保持本地优先的转写架构:会议录音、实时转写和语音输入都可以通过本地 STT 引擎完成。LLM 仍按用户配置的服务生成会议纪要。

增加高精度模型&语音输入能力

04 Jun 07:11

Choose a tag to compare

MeetMemo 0.59

这次更新重点增强了本地语音识别体验,并新增系统级语音输入能力。

新增功能

  • 新增系统级语音输入功能:可通过快捷键在微信、浏览器、Cursor、备忘录等前台应用中录音转写,并自动插入到当前光标位置。
  • 新增语音输入设置页,支持开启/关闭语音输入、选择触发键、选择短按或双击触发方式。
  • 新增语音输入悬浮状态窗,可显示录音、转写、插入成功或失败状态。
  • 新增语音输入文本清理能力,可自动过滤部分口头语并整理标点。
  • SenseVoice 新增模型规格选择:
    • 轻量版 INT8:下载更小,运行更轻。
    • 高准确率 FP32:体积和内存占用更高,适合优先追求识别准确率的场景。

改进

  • 优化 SenseVoice 识别参数,缓解轻声、句首一两个字被吞的问题。
  • 增加 SenseVoice 识别诊断日志,便于排查 VAD 过滤、空解码和 fallback 触发情况。
  • 优化本地模型下载流程,支持基于临时文件的断点续传。
  • Onboarding 和设置页会根据当前模型规格显示对应下载体积。
  • 会议录音与语音输入现在互斥,开始会议录音前会自动停止正在进行的语音输入,避免误插入文本。

修复

  • 降低系统音频静音阈值,改善较轻系统声音被过滤的问题。
  • 调整 SenseVoice VAD 阈值和最短语音时长,提高短句和轻声片段的捕获率。

验证

  • 已通过 Debug 构建验证。

MeetMemo 0.52

02 Jun 04:34

Choose a tag to compare

MeetMemo 0.52

本次更新主要修复 SenseVoice 在轻声、短促语音或低信噪比场景下容易“吃字”的问题,并加入诊断日志,方便后续更精确地定位转录丢字原因。

改进

  • 降低 SenseVoice 的 VAD 触发门槛,让更轻、更短的语音片段更容易被识别:
    • threshold: 0.22 -> 0.18
    • minSpeechDuration: 0.25s -> 0.12s
  • 降低系统音频静音过滤门槛:
    • 0.005 -> 0.0015
  • 增加句首音频补偿窗口:
    • 0.32s -> 0.5s

这些调整可以改善句首丢字、轻声发言漏识别、系统音频中过短语句被过滤的问题。

诊断能力

  • 新增 sherpaSTTDebugLogging 调试开关,默认关闭。
  • 开启后,录制结束时会输出本次 SenseVoice 会话的诊断摘要,包括:
    • 输入音频总时长
    • VAD 放行时长
    • 成功输出片段数
    • 空解码次数
    • 兜底解码次数

这可以帮助判断丢字发生在 VAD 过滤阶段,还是 SenseVoice 解码阶段,减少后续靠手感调参的成本。

Commit

  • b360a57 fix: 缓解 SenseVoice 轻声吃字并加诊断埋点

优化转录模型选择

01 Jun 06:55

Choose a tag to compare

更新内容

本次更新优化了转录模型的默认选择和可用性判断,让新用户更容易完成本地转录配置。

主要变化

  • 默认推荐并启用本地 SenseVoice 转录引擎,支持离线转录和说话人区分。
  • macOS 内置 SpeechAnalyzer 现在仅在 macOS 26 或更高版本可选,低版本系统会提示切换到 SenseVoice。
  • 引导页改为优先下载 SenseVoice 本地模型,减少对 macOS 语音识别权限和系统版本的依赖。
  • 设置页优化了转录引擎选择逻辑,不可用的引擎会自动回退到 SenseVoice。
  • 音频文件导入转录也加入了 macOS 版本检查,避免在不支持的系统上调用 SpeechAnalyzer。
  • 改进 SpeechAnalyzer 模型状态检查,系统唤醒后会延迟刷新模型可用状态,减少误判。
  • 修复 SenseVoice 强制收尾转录时可能重复处理已输出音频片段的问题。
  • README 已同步更新系统要求和转录引擎说明,现在最低支持 macOS 15.5,macOS 26+ 可选用系统 SpeechAnalyzer。

提交信息

a972487 - 优化转录模型选择

本地语音识别版:转录不再依赖豆包 API

31 May 16:34

Choose a tag to compare

重要更新:语音转录改为本地模型

这一版将 MeetMemo 的语音识别能力从原先的豆包云端转录 API,切换为本地语音识别架构。录音转写现在默认在你的 Mac 上完成,不再需要配置豆包 STT Key,也减少了会议音频上传到第三方转录服务的依赖。

新增

  • 支持本地语音识别引擎:
    • macOS 内置 SpeechAnalyzer
    • 本地 SenseVoice(基于 sherpa-onnx)
  • SenseVoice 引擎支持本地模型下载,下载完成后可离线转录。
  • SenseVoice 引擎加入说话人识别能力,可在转录和纪要中更好地区分不同发言人。
  • 设置页新增语音识别引擎选择与模型状态检查。
  • 录音开始前会自动检查所选语音识别模型是否就绪。
  • 支持麦克风与系统音频双路本地转录。

改进

  • 语音转录链路从云端 API 调用改为本地 STT Provider 架构,后续可以继续扩展更多本地模型。
  • 提升转录隐私性:会议音频不再为了转录发送到豆包服务。
  • 优化录音启动、转录流处理和停止后的最终文本整理。
  • SenseVoice 在录音结束后会进行离线说话人聚类修正,让发言人标注更稳定。
  • README 与项目文档已同步更新为本地双引擎架构说明。

注意事项

  • 首次使用 macOS SpeechAnalyzer 时,系统可能需要下载对应语言的语音识别模型。
  • 首次使用本地 SenseVoice 时,需要在「设置 > 模型」中下载模型文件,约 240 MB。
  • 语音转录已本地化处理;但 AI 纪要生成仍会把转录文本发送到你自己配置的 LLM 服务,请按需选择合规的模型服务商。

v0.3 — 转录稳定性全面提升

16 May 16:13

Choose a tag to compare

🎙️ 转录体验大幅改善

本版本集中修复了实时转录模块的多项问题,显著提升了录制稳定性与转录结果的准确性。

✨ 新功能 & 改进

  • 录制立即响应:点击"开始录制/继续录制"后 UI 立即切换为录制状态,不再等待 STT 服务器握手(原来会卡顿 300–800ms)
  • 转录条目状态标签:实时转录条目现在显示「识别中」徽标,低置信度结果显示「低置信」徽标,状态一目了然
  • 智能自动滚动:转录列表仅在用户停留在底部时自动滚动,不再打断手动翻阅历史记录

🐛 Bug 修复

  • 修复短文本 interim 永久残留:「花小」「珠宝」等 2–3 字的识别中条目在被最终结果覆盖后无法清除的问题
  • 修复相同时间点 interim 重复堆积:同一时间点的识别中条目因无法去重而在列表中重复出现
  • 修复单时间点 interim 被已提交 final 覆盖后仍显示的问题:Doubao STT 在同一次回包中同时下发 final 和 interim 时,interim 不再错误入库
  • 修复停止录制后「识别中」内容残留:结束录制时立即清除所有非最终识别条目,不再等到下次录制才消失
  • 修复 AVAudioEngine 配置变更后采集静默:连接外设或切换音频路由后,录制不再意外中断
  • 修复系统睡眠时未停止录制:合盖/睡眠时自动停止录制并提示用户
  • 修复 STT 重试耗尽后无限等待:网络持续异常时,重试耗尽后主动停止录制并给出明确错误提示
  • 扩展网络错误识别范围:timeout、unreachable、connection lost 等更多网络层错误现在可触发自动重连

🔧 内部优化

  • 转录累积器(TranscriptUpdateAccumulator)逻辑精简回归稳定基线,移除过度复杂的跨源去重逻辑
  • DoubaoSTTProvider URLSession 改为长生命周期单例,避免频繁连接的内存泄漏
  • 修复音频序列号溢出时 abs() 整数溢出崩溃

MeetMemo v0.16

07 May 06:13

Choose a tag to compare

更新内容

录制与转写稳定性

  • 修复长时间会议录制到 50 分钟左右可能出现 Message too long 报错的问题。
  • 增加 STT 会话定时重连机制,降低长会话转写中断风险。
  • 优化重连后的时间轴处理,确保转写片段仍然按同一场会议的时间线连续展示。
  • 增加更友好的转写异常提示,方便用户理解问题原因。

会议列表体验优化

  • 修复会议列表顶部间距在右键菜单、弹窗、选中切换等操作后可能发生跳动的问题。
  • 修复新建会议后列表第一项顶部被遮挡的问题。
  • 移除会议列表右键菜单中的“删除”入口,避免误删;删除会议统一通过右侧详情页操作,并保留二次确认。

其他

  • 新增 STT 重连时间偏移相关测试。
  • 版本号更新至 0.16

v0.15 — 稳定性与性能全面提升

06 May 12:48

Choose a tag to compare

✨ 新功能

  • Tab 标签优化:三个主要标签重命名为「会议资料 / 转录原文 / AI纪要」,英文版对应「Meeting Materials / Transcript / AI Notes」,表意更清晰

⚡ 性能优化

  • 录制响应速度提升 2x:点击录制后 UI 响应时间从 ~400ms 降至 ~200ms
    • 移除 100ms 人为启动延迟
    • 麦克风与系统音频 WebSocket 连接并行建立,不再串行等待
    • 消除主线程同步磁盘读取,启动时不再阻塞 UI
  • 侧边栏加载优化:引入轻量摘要文件(MeetingSummaries),列表滚动更流畅,大型会议库不再影响导航响应速度
  • 存储层优化:原子写入保护 + 并发读写锁,多操作并发时数据更安全

🛡️ 稳定性修复

  • 音频线程安全:修复录音回调在音频线程直接调用主线程方法的并发竞态,消除潜在崩溃
  • Release 构建保护:将 ProcessTap 中的 assert() 改为 guard + throw,Release 包中错误状态现可被正确检测和处理
  • WebSocket 接收循环:将无限递归回调重构为 async/await 循环,从根本上消除长时间会议的栈溢出隐患
  • 锁机制统一:STT 连接层全面采用 withLock 闭包,消除手动 lock/unlock 不对称导致的死锁风险
  • Keychain 安全写入:凭证保存由「删除后新增」改为「存在则更新」,避免进程意外终止时 API Key 丢失
  • 生成任务状态保护:修复快速取消后立即重新生成时,UI 加载状态被旧任务错误重置的边缘问题

MeetMemo v0.13

05 May 15:42

Choose a tag to compare

MeetMemo v0.13

这是 MeetMemo 的 0.13 版本。本版本更新了项目说明文档,并将应用版本号提升到 0.13,方便后续正式分发和版本管理。

功能概览

MeetMemo 是一款免费、开源、运行在本地的 macOS AI 会议纪要助手,支持:

  • 同时捕获麦克风和系统音频
  • 实时生成会议转录
  • 基于转录内容生成 Markdown 智能纪要
  • 支持会前资料和自定义纪要模板
  • 支持 Anthropic Messages API 和 OpenAI 兼容接口
  • 本地保存会议、摘要和模板,凭据存储在 macOS Keychain

注意事项

  1. 首次使用需要在系统设置中授权麦克风和系统录音权限,并在应用内配置语音识别和 LLM 服务凭据。
  2. 本项目仅适配了macOS,下载压缩包解压后,先阅读说明文档,再将MeetMemo文件拖至“应用程序”。