微信、QQ 或其他通话软件里有人说话时自动降低音乐;也可以实时监听当前播放设备,把麦克风和播放声一起发给对方。
VoiceDuck 是一个轻量的 Windows 音频闪避与通话声音分享工具。自动闪避读取通话应用的实时输出电平,只在对方实际发声时降低选定的音乐应用;这部分不需要驱动或管理员权限。通话声音分享通过 WASAPI 实时监听所选耳机或音箱,把“真实麦克风+当前播放声”混合后送入一组 VB-CABLE,作为虚拟麦克风提供给微信、QQ 等软件。
- 按应用自动闪避:微信、QQ 等作为触发端,网易云音乐、QQ 音乐、Spotify 等作为被降低端。
- 过滤短提示音:声音持续一小段时间后才触发,减少消息提示音误动作。
- 自然断句保持:跨过人声中的短暂停顿,音乐不会在字词之间频繁起伏。
- 保留原音量比例:恢复后仍回到用户原先设置的音量。
- 多设备与多会话:处理所有活动输出设备以及同一进程创建的多个会话。
- 正在播放的声音直接发送:网易云、QQ 音乐、浏览器、游戏或其他软件都不需要改输出设备,也不需要选择本地文件。
- 真实麦克风始终在线:只把混合结果送虚拟麦克风,不把麦克风回放到耳机,因此没有自己的延迟回听。
- 本地讲话优先:真实麦克风统一送到虚拟线缆的左右声道;检测到你讲话时,不仅压低发给对方的播放声,也会同步降低本机正在播放的非通话应用,结束后平滑恢复。
- 自动切换并恢复麦克风:开始分享时可将 Windows 的普通、媒体与通信默认输入切到
CABLE Output;停止、异常结束或退出时恢复开始前的真实麦克风。 - 耳机音量保护:不更换输出驱动,限制默认输出设备的最大系统音量;读取混音峰值后快速压低突发大声,并按设定速度平缓恢复。
- 延迟回声保护:播放声保留约 350 ms 安全延迟;检测到通话应用输出时,暂时屏蔽该分支,避免把对方声音送回去。
- 单组虚拟设备:只安装一对
CABLE Input/CABLE Output,不会像大型虚拟调音台那样增加大量端点。 - 安全安装与回滚:驱动只在明确确认后安装;先校验 SHA-256 与发布者签名。检测到正在通话时会显示预计耗时和中断风险,并默认选择“否”。
- 一键恢复声音:驱动操作后会等待 Windows Audio 与真实设备稳定恢复;若设备列表仍为空,可用“恢复声音”按钮重启音频服务,不改默认设备。
- 托盘常驻与开机启动:适合长期后台运行。
从 Releases 下载最新便携版,完整解压后运行 VoiceDuck.exe。
- 让通话软件和音乐软件各播放一次声音。
- 点击“刷新”,左侧勾选通话应用,右侧勾选要降低的音乐应用。
- 点击“开始自动闪避”;第一次建议使用“均衡(推荐)”。
- 提示音仍会触发时提高“防提示音延迟”;较轻人声无法触发时降低阈值。
关闭主窗口默认会最小化到托盘。要完全退出,请右键托盘图标并选择“退出并恢复音量/麦克风”。
第一次使用需要安装包内置的标准 VB-CABLE 驱动。它由 VB-Audio 签名并以 donationware 方式发布;VoiceDuck 保持官方压缩包原样内置,不需要本项目维护者自行签名内核驱动。
- 先结束当前通话并退出微信、QQ 等通话应用。
- 打开“通话音乐分享”,点击“安装内置驱动”,同意 Windows 管理员授权。
- 等待 VoiceDuck 确认 Windows Audio、真实设备和虚拟线缆均已稳定。只有界面明确提示需要重启时,才在结束通话后手动重启 Windows。
- 在 VoiceDuck 保持勾选“自动切换并恢复系统默认麦克风”;通话软件的输入使用“系统默认设备”,输出仍选择真实耳机。
- 选择真实麦克风和当前正在播放声音的真实耳机/音箱,直接点击“开始分享”。
分享期间可以分别调整麦克风和播放声音量。你讲话时,VoiceDuck 会自动降低本机正在播放的音乐、视频或游戏声,但不会降低微信、QQ 等已设为通话触发端的应用;这项联动不依赖主界面的播放器勾选。暂停播放声不会切断麦克风;停止、异常结束或退出 VoiceDuck 后,系统默认输入会恢复为开始前的麦克风。若你在分享期间手动改了某个默认输入角色,VoiceDuck 会保留该手动选择。
开始和停止共用同一个主按钮:空闲时显示蓝色“开始分享”,运行时立即切换为红色“停止分享”。
如果驱动操作后 Windows 声音设置暂时显示“无法找到输出设备”,点击“恢复声音”。VoiceDuck 会在再次确认后以管理员权限重启 Windows Audio 服务,并等待真实输入输出设备重新出现;该操作不会修改默认设备。
所选真实耳机/音箱 ─► WASAPI 回环监听 ─► 约 350 ms 延迟 ─► 回声保护门 ─┐
物理麦克风 ─► 双声道同声 ─► 麦克风增益 ─► 人声优先控制 ─────────┼─► 限幅 ─► CABLE Input
微信/QQ 输出峰值 ─► 通话活动检测 ─────────────────► 控制保护门 ─────┘ │
CABLE Output ─► 微信/QQ 输入
Windows 10 没有可供普通桌面程序稳定使用的“只抓某一个音乐软件、排除通话软件”PCM 接口,因此 VoiceDuck 监听的是所选设备的全部播放声。为防止远端声音回传,播放分支先延迟约 350 ms;微信、QQ 等通话应用出现声音时,保护门立即丢弃延迟队列中对应的设备声,并在人声结束后短暂保持。麦克风分支始终继续发送,并强制覆盖虚拟麦克风左右声道;本地讲话时,分享播放分支与本机非通话音频会话会同步让位。更多说明见 虚拟音频设计。
主界面点击“音量保护”后可以设置:
- 最大系统音量:其他软件或媒体键尝试把默认输出设备调得更高时,VoiceDuck 会压回该上限。
- 突发峰值上限:根据默认输出设备在主音量衰减前的混音峰值,计算需要的端点 dB 衰减并快速压低。
- 峰值后恢复速度:大声片段结束后逐步回到受保护的基础音量,避免忽大忽小。
该功能使用 Windows IAudioMeterInformation 与 IAudioEndpointVolume,不会安装或替换输出驱动。微软说明渲染端点峰值是在端点音量衰减之前测量,因此 VoiceDuck 可以用“输入峰值 dB+当前端点音量 dB”估算最终输出并决定衰减量。常见共享模式播放器、浏览器和视频软件可用;使用独占模式且硬件不提供峰值或音量控制的程序可能绕过软件保护。参见 IAudioMeterInformation 与 IAudioEndpointVolume。
| 预设 | 适合场景 | 特点 |
|---|---|---|
| 均衡 | 日常微信、QQ 通话 | 响应速度与自然度平衡 |
| 游戏语音 | 游戏内语音、Discord | 降低更快、恢复更利落 |
| 会议专注 | Teams、Zoom 长时间会议 | 背景压得更低,断句保持更长 |
| 柔和音乐 | 轻音乐、播客背景 | 音量变化更缓和 |
VoiceDuck 不录音、不保存麦克风或播放内容,也不主动连接网络。自动闪避、回声保护和耳机音量保护只读取 Windows 提供的会话或端点峰值、进程名和音量。声音分享期间,程序在内存中实时读取所选麦克风与播放设备,将混音送到虚拟麦克风;PCM 数据不会写入磁盘或上传。
驱动安装是明确的用户操作,会触发 Windows UAC。安装前解压出的临时文件在安装程序退出后删除。
- 微信和 QQ 没有向第三方提供“远端用户正在说话”的公开接口,自动闪避根据应用输出电平判断。
- 浏览器可能同时承载音乐与网页通话;同一浏览器被同时选为触发端和目标端时,VoiceDuck 优先保护通话,不降低它。
- 自动切换作用于 Windows 系统默认麦克风。微信、QQ 等若被单独固定到某个具体设备,不会跟随系统默认值,需要将其输入改成“系统默认设备”或首次手动选择
CABLE Output。 - 实时监听会分享所选设备上的全部播放声,而不只是某一个音乐进程;通知音、游戏声等也可能被分享。
- 回声保护依赖通话应用的音频会话。未内置识别的通话软件需要先加入主界面的触发应用;通话应用发声时,音乐也会短暂从分享中消失。
- 驱动安装或卸载后 Windows 可能要求重启。为保护正在进行的通话,VoiceDuck 不会自动重启。
- 耳机音量保护通过约 25 ms 轮询调节端点音量,不是驱动级逐采样砖墙限幅器;极短尖峰仍可能先通过一小段,独占模式也可能绕过软件端点控制。
仓库已经固定并包含构建所需的 NAudio 2.3.0 DLL 与未修改的 VB-CABLE 官方压缩包,不需要在构建时下载依赖:
.\scripts\build.ps1构建脚本会编译主程序,运行核心逻辑、音频会话冒烟、内置驱动包哈希与 Authenticode 验证,并编译界面渲染测试。生成发布包:
.\scripts\package-release.ps1 -Version 1.1.0也可以使用 Visual Studio 2022 打开 VoiceDuck.sln。
- Windows 10 或 Windows 11 x64
- .NET Framework 4.8
- 与通话应用运行在同一个 Windows 用户会话中
- 音乐分享首次使用需要安装内置 VB-CABLE 并重启一次;自动闪避不需要它
欢迎提交问题和改进。开始前请阅读 贡献指南。版本变化记录在 CHANGELOG。
VoiceDuck 源代码使用 MIT License。NAudio 使用 MIT License。VB-CABLE 是 VB-Audio 的 donationware,按其许可说明以未修改的官方包分发;来源、校验值和完整说明见 第三方组件说明。
