🐱🎤 实时麦克风降噪桌面应用,为直播和游戏场景打造。
基于 WASAPI 实时音频处理,支持 RNNoise + DeepFilterNet3 降噪模型,开箱即用。
👉 点击下载最新版本
进入下载页面后,找到
.exe后缀的文件(如MeowMic_0.2.3_x64-setup.exe),点击下载并双击运行安装。
| 组件 | 说明 | 窗口 |
|---|---|---|
| DeviceSelector | 设备选择 | 主窗口 |
| DenoiseControl | 降噪控制(开关+强度+预设) | 主窗口 |
| BgmMixer | BGM 混音(按进程捕获) | 主窗口 |
| EqControl | 均衡器开关按钮 | 主窗口 |
| ExplodeButton | 一键炸麦 | 主窗口 |
| AudioMeter | 电平表 + 频谱可视化 | 主窗口 |
| EqPage | 均衡器界面(Canvas 曲线图) | 独立窗口 |
| SettingsPage | 设置界面 | 独立窗口 |
| TutorialPage | 使用教程 | 独立窗口 |
| 模块 | 说明 |
|---|---|
| audio_engine.rs | WASAPI 音频引擎(三线程架构:处理线程 + 输出线程) |
| audio_init.rs | 音频设备初始化(输入/输出/监听 WASAPI 客户端配置) |
| audio_process.rs | 帧处理管线(降噪→增益→EQ→爆炸→BGM混音→软限制) |
| audio_utils.rs | 音频工具(格式转换、重采样、mono↔多声道、监听写入) |
| bgm.rs | BGM 进程捕获(WASAPI Process Loopback) |
| debug.rs | 调试日志(BufWriter 缓存写入 %TEMP%\meowmic-debug.log) |
| device.rs | 设备查找(find_device) |
| device_watcher.rs | 设备热拔插检测(后台轮询 + Tauri 事件) |
| denoise/ | 降噪模型(RNNoise 原生 / DeepFilterNet3 FFI) |
| eq.rs | EQ 均衡器(10 段 Biquad IIR Peaking EQ + 预设) |
| explode.rs | 爆炸模式(7 种效果:方波/电流/破音/白噪/机器人/恶魔/回音) |
| lib.rs | Tauri 命令注册 + 系统托盘 + 设置管理 |
┌─────────────────┐ ┌──────────────────────┐
│ RNNoise (原生) │ │ DeepFilterNet3 (FFI) │
│ <1ms, 持续噪声 │ │ ~3ms, 瞬态噪声 │
└─────────────────┘ └──────────────────────┘
│ │
└──────────┬───────────────────────┘
│
Rust 音频引擎
(WASAPI 采集/输出)
麦克风采集 → 重采样 → 降噪 → 强度混合 → 增益 → [EQ] → 炸麦 → BGM混音 → 软限制 → 输出
↑
音乐播放器进程
主窗口 (main)
├── DeviceSelector (设备选择)
├── DenoiseControl (降噪控制)
├── BgmMixer (BGM混音)
├── EqControl (均衡器开关)
├── ExplodeButton (炸麦)
└── AudioMeter (电平表)
设置窗口 (settings) 教程窗口 (tutorial) EQ窗口 (eq)
├── 快捷键配置 ├── 设备说明 ├── Canvas曲线图
├── 开机自启 ├── FAQ ├── 可拖拽圆点
├── 语言切换 └── 社交链接 ├── 预设切换
├── 主题切换 └── 悬停提示框
└── 检查更新
所有窗口通过 Tauri IPC (invoke/listen) 与 Rust 后端通信
| 项目 | 说明 |
|---|---|
| 操作系统 | Windows 10 (1809+) / Windows 11 |
| 架构 | x64(ARM64 需自行编译) |
| 音频 API | WASAPI Shared 模式 |
| 虚拟音频设备 | VB-Audio Virtual Cable(免费,需单独安装) |
| 已知限制 | 不支持 macOS / Linux(依赖 Windows WASAPI) |
| 已知限制 | 部分 USB 声卡在 WASAPI Shared 模式下延迟较高 |
| 格式 | 输入解析 | 输出写入 |
|---|---|---|
| 8-bit Integer | ✅ | ✅ |
| 16-bit Integer | ✅ | ✅ |
| 24-bit Integer | ✅ | ✅ |
| 32-bit Integer | ✅ | ✅ |
| 32-bit Float | ✅ | ✅ |
| 64-bit Float | ✅ | ✅ |
内部统一使用 48kHz 进行音频处理,输入/输出时自动重采样:
输入设备 (44.1k/48k/96k/192k...) → 重采样到 48kHz → 降噪/EQ/增益 → 重采样到设备采样率 → 输出设备
# 安装依赖
pnpm install
# 开发模式
pnpm tauri dev
# 构建安装包
pnpm tauri build
pnpm tauri devsrc/ # Vue 3 前端
├── components/ # UI 组件
│ ├── AudioMeter # 电平表
│ ├── BgmMixer # BGM 混音控制
│ ├── DenoiseControl # 降噪控制
│ ├── DeviceSelector # 设备选择
│ ├── EqControl # 均衡器开关按钮
│ ├── EqPage # 均衡器界面(独立窗口,Canvas 曲线图)
│ ├── ExplodeButton # 一键炸麦
│ ├── SettingsPage # 设置界面(独立窗口)
│ ├── TutorialPage # 使用教程(独立窗口)
│ ├── SpectrumVisualizer # 频谱可视化
│ └── StatusBadge # 状态徽章
├── composables/ # 组合式函数
│ ├── useAudioEngine # 音频引擎接口
│ ├── useAudioStats # 统计轮询
│ └── useSettings # 设置读写
src-tauri/src/ # Rust 后端
├── audio_engine.rs # WASAPI 音频引擎(三线程架构)
├── audio_init.rs # 音频设备初始化
├── audio_process.rs # 帧处理管线
├── audio_utils.rs # 音频工具函数
├── bgm.rs # BGM 进程捕获
├── debug.rs # 调试日志
├── device.rs # 设备查找
├── device_watcher.rs # 设备热拔插检测
├── denoise/ # 降噪模型架构(trait + RNNoise + DeepFilterNet3 适配器)
├── eq.rs # EQ 均衡器(Biquad IIR 滤波器)
├── explode.rs # 爆炸模式(7 种效果)
└── lib.rs # Tauri 命令 + 系统托盘 + 设置管理
docs/ # 文档
└── eq-spec.md # 均衡器功能规格(参考 SteelSeries GG Sonar)
Ctrl+Shift+D:切换降噪开关本项目采用 GNU General Public License v3.0 开源协议。
你可以自由地: - 使用:个人或商业用途均可 - 修改:根据需要修改源代码 - 分发:将本软件(含修改版)分发给他人
但你必须: - 开源修改后的代码:如果你修改并分发本软件,修改后的代码必须以相同协议(GPL-3.0)开源 - 保留版权声明:在所有副本中保留原始版权声明和许可证 - 标注修改:对代码进行修改时,需在修改的文件中添加显著说明 - 包含许可证:分发时需附带完整的 GPL-3.0 许可证副本
简单来说:你可以免费使用,但不能闭源修改后拿去卖。
详见 LICENSE 文件。
$ claude mcp add MeowMic \
-- python -m otcore.mcp_server <graph>