Releases: NanCheng-L/MeowMic
Release list
MeowMic v0.2.16 更新公告
🐱🎤 MeowMic v0.2.16 已发布!
新增 AGC 自动增益控制,修复多声道耳机监听无声问题。
🔧 修复
- 修复 7.1 声道耳机(如 IKF V11 Pro)监听无声问题(autoconvert: true)
- 修复 capture 设备友好名称匹配失败(USB 麦克风静音流)
- 修复监听写入缓冲区溢出(AUDCLNT_BUFFER_OVERFLOW)
- 修复增益控件随降噪开关禁用的问题
✨ 新增 - AGC 自动增益控制(VAD 门控 + 噪声底追踪 + Hangover 冻结)
- AGC 自动/手动模式切换,目标电平 -40 ~ 0 dB
✨ 改进 - DSP 模块化重构(DspModule trait:HPF / Limiter / NoiseGate / VAD)
- AGC 重写:参考 dagc + WebRTC AGC,增益上限 = 目标/噪声底
- 调试日志格式改为日期时间([2026-07-07 14:30:15.123])
📜 文档 - 更新 CLAUDE.md 踩坑警示(监听多声道设备、AGC VAD 门控等)
MeowMic v0.2.15 更新公告
🐱🎤 MeowMic v0.2.15 已发布!
三线程架构彻底解决卡顿问题,模型切换丝滑无感。
✨ 新增
- 模型热切换:切换 RNNoise / DeepFilterNet3 不再需要重启引擎,后台线程创建模型,DSP 线程微秒级替换,无卡顿无静音
- 启动丢帧预热期:前 100 帧不计入丢帧统计,启动时显示 0
- 调试日志分级:生产环境精简日志,开发环境保留详细信息
🔧 修复 - DeepFilterNet3 reduce_mask:改为 MAX,瞬态噪声(鼠标点击等)处理更稳定
⚡ 架构升级(近期版本汇总) - 三线程音频架构:capture → Ring A → DSP → Ring B → render,三线程解耦,游戏等高 CPU 负载场景不再颤音
- MMCSS Pro Audio 提权:音频线程注册为 Windows 最高调度优先级,CPU 高负载下不会被抢占
- normalized f32 管线:全程 -1.0, 1.0 浮点,消除 i16↔f32 转换开销
- 音频热路径零堆分配:频谱数组、静音缓冲区、debug_log 全部预分配
- 输出线程优化:20ms 缓冲区 + 预缓冲 + 积压限制,稳定不丢帧
- 监听独立 render 线程:监听用独立 WASAPI 线程,与主输出互不干扰
- wasapi crate 升级:0.16 → 0.23
MeowMic v0.2.14 更新公告
修复长时间运行和游戏场景下的音频卡顿问题。
🔧 修复
- 按 wasapi-rs 官方 playsine 示例重写输出线程循环顺序(get_available_space → write → wait_event),解决空缓冲区死锁和持续丢帧
- 监听写入超时从 20ms 降至 2ms,避免阻塞主音频循环导致输出丢帧
- 新增 Vec 回传通道,消除输出线程热路径堆分配
✨ 改进 - 输出线程由内部自行启动,简化初始化流程
MeowMic v0.2.13 更新公告
修复音频丢帧问题,提升冷启动和监听场景的稳定性。
🔧 修复
- 修复监听丢帧 + 输出缓冲区空转卡顿
- 修复冷启动首次打开丢帧问题 — 输出流 start_stream 延迟到 warmup 之后,避免预热期间输出缓冲区空跑欠载
MeowMic v0.2.12 更新公告
🔧 修复
- Biquad denormal 阈值从 1e-10 提高到 1e-4,防止长时间运行 denormal 累积拖慢 CPU 导致抽帧
MeowMic v0.2.11 更新公告
🐱🎤 MeowMic v0.2.11 已发布!
修复降噪输出中次声波能量导致频谱异常跳动的问题。
🔧 修复
- 添加 80Hz 高通滤波器,消除 RNNoise/DeepFilterNet 输出中人耳不可闻的次声波能量(频谱表显示 -50dB 跳动但无实际听感)
- 补全 denormal flush 的 is_finite 检查,防止 NaN/Inf 穿透音频链路
MeowMic v0.2.10 更新公告
🐱🎤 MeowMic v0.2.10 已发布!
本次更新以稳定性修复为主,解决了多个音频引擎潜在崩溃和音质问题。
🔧 修复
-
BGM 混音数据越界:BGM 数据不足时不再崩溃,自动平滑过渡
-
输出线程潜在 panic:缓冲区溢出保护增加安全检查,消除极端情况下的崩溃
-
爆炸模式状态不一致:切换爆炸效果时双 flag 同步修复,ARM64 设备表现更稳定
-
BGM 线程性能优化:消除每帧高频内存分配,降低 CPU 和内存开销
-
EQ 均衡器刺啦声:长时间静音后恢复说话时的杂音问题修复
✨ 改进
-
托盘菜单多语言:切换英文后托盘菜单同步显示英文
-
代码质量:消除重复代码,提升可维护性
📜 开源协议
项目正式采用 GPL-3.0 协议开源,详见仓库 LICENSE 文件。
MeowMic(v0.2.9) 更新日志
✨ 新功能
- 一键炸麦预设:新增 7 种音效预设 — 🔊经典爆音、⚡电流声、💥破音、📻白噪音、🤖机器人声、👿恶魔声、🌀回音
🐛 修复
- 修复输出杂音:静音时出现刺啦声,说话时被掩盖。原因:模块拆分时丢失 mono→立体声扩展 + 32-bit float 归一化错误 + 浮点非规格化数累积
- 修复间歇性丢帧:高 CPU 负载(游戏场景)下音频卡顿。原因:每帧磁盘写日志、堆内存分配、O(n) 缓冲区移动
- 修复爆炸模式失效:开关打开但无效果(dual-flag 未同步)
- 修复音频断断续续:输出线程阻塞接收导致缓冲区欠载
- 修复 BGM 混音卡顿:每帧 drain 缓冲区导致 O(n) 内存移动
⚡ 性能优化
- 音频热路径零堆分配:消除每帧 Vec 创建、日志文件开关、频谱计算临时 buffer
- 输出线程非阻塞接收:try_recv 替代 recv_timeout,杜绝欠载
- BGM 缓冲区索引追踪:read_pos 替代 drain,消除 O(n) memmove
🏗️ 架构
- Rust 后端模块拆分:audio_engine.rs 拆为 audio_engine / audio_init / audio_process / audio_utils 四个模块,便于维护
MeowMic(v0.2.8) 更新日志
MeowMic(v0.2.7) 更新日志
🎮 修复游戏场景颤音
音频引擎重构为三线程解耦架构(输入 → 处理 → 输出),输出线程独立驱动 WASAPI 时钟,不再受游戏高 CPU
负载影响。解决运行大型游戏(如三角洲行动)时出现的音频颤音、失真问题。
🤖 DeepFilterNet3 降噪模型
新增 DeepFilterNet3 降噪模型,通过 DLL FFI 调用,擅长处理键盘、鼠标等瞬态噪声。可在设置中切换 RNNoise / DeepFilterNet3 两个模型。
🔧 其他改进
- BGM 漂移补偿优化,混音更稳定
- BGM 音量持久化,重启后自动恢复
- 音频引擎代码重构,处理链函数提取