给外呼坐席用的 Windows 小工具:屏幕角落一个无边框小窗,一眼看清 我在说话吗 / 我听得到对方吗。
上图是界面示意图(按程序的真实配色、尺寸和布局绘制),不是截图。
外呼坐席的通话事故,大多不是系统坏了,而是你以为在说、其实一个字都没送出去:
- 耳麦上的静音键被误触(硬件静音,操作系统完全不知道)
- 系统把麦克风静音了、或者麦克风增益被拉到 0
- 外呼软件内部选了另一个音频设备,而你以为在用耳麦
- 耳机根本没声音(设备掉了、音量被拉到 0)
这些情况通话里自己是听不出来的。这个工具把三件事摆在一个巴掌大的窗口里: 麦克风有没有声音、耳机里有没有对方的声音、现在盯的是哪个设备。
- 两根实时电平条:
MIC(我说话)、LINE(对方声音) - 两颗状态灯:说话正常 / 安静 / 疑似静音(黄闪)/ 设备离线;线路有声 / 无声 / 离线
- 设备自动跟随:按音频会话识别"外呼软件正在用哪个设备"并跟上去——软电话内部选了非默认设备
也能对上,设备名后面会写「(在用:
phone.exe)」;插拔耳麦、切换系统默认设备几乎立刻跟上 - 自动灵敏度:跟着实测底噪定判定门限,耳麦底噪偏高也不会常年假绿;也可以关掉改手动
- 手感可调:电平条回落速度滑条,嫌"迟钝"就往小拖
- 常驻体验:托盘图标、窗口置顶、位置记忆、开机自启(默认关)、设置落盘
- 不录音、不上传、不装驱动、不要管理员权限:LINE 那一路是整条输出设备的回环(会连音乐、 提示音一起"听"到,因为要判断的正是"耳机里到底有没有声音"),但所有音频只在内存里算电平, 不落盘、不联网
| 灯 | 绿色 | 灰色 | 黄色 | 红色 |
|---|---|---|---|---|
| 说话(MIC) | 正在说话 | 安静(设备正常) | 持续数字零:多半是按了耳麦静音键 | 设备离线 / 流断了 |
| 线路(LINE) | 听得到对方 | 线路没声音 | — | 设备离线 / 流断了 |
黄色那条是重点:真实麦克风永远有底噪,样本全零说明信号被掐了(耳麦硬件静音键、 系统静音、增益被拉到 0、或者设备没真在工作)。所以"你说得正起劲而灯不绿", 就是它想告诉你的事。
- 从 Releases 下载
audio-hud.exe,放到任意目录,双击即可(绿色单文件)。 - 窗口无边框:标题那一行按住就能拖。右侧是
设置和两个图标按钮(横线=最小化、叉=关闭)。 常驻靠置顶,—可以收进任务栏。 - 托盘图标右键:显示窗口 / 窗口置顶 / 开机自启 / 退出;双击图标把窗口叫回前台。
- 配置自动保存在
%APPDATA%\audio-hud\config.toml,日志在同一目录audio-hud.log。
改 %APPDATA%\audio-hud\config.toml 后重启程序生效(读盘时会做范围校验):
| 键 | 默认 | 说明 |
|---|---|---|
follow_sessions |
true |
按音频会话识别外呼软件在用的设备 |
auto_gate |
true |
自动灵敏度(跟着实测底噪定门限) |
gate_db |
-55.0 |
手动门限;自动开启时它是线路那一路的门限 |
release_ms |
240.0 |
电平条回落速度(60–600),越小越跟手 |
silence_warn_s |
3.0 |
麦克风持续数字零多久开始黄闪 |
mic_device_id / line_device_id |
空 | 留空=自动(会话跟随→默认通信设备);填设备 id 则固定用它 |
always_on_top / autostart |
true / false |
置顶 / 开机自启 |
- 设备跟随分两种:插拔耳麦、切系统默认设备是事件驱动(几乎立刻);"哪个软件在用哪个设备" 靠每 2 秒巡查一次音频会话(会话变化不发系统事件),所以软电话内部换设备后最多约 6 秒对上 (2 秒发现 + 4 秒稳定期,稳定期是为了不抖)。目标设备"消失"后保留 15 秒再考虑换。
- 疑似静音是推断:靠"真实麦克风永远有底噪、样本全零就是被掐了"。绝大多数情形准, 但个别耳麦静音时仍送底噪就会漏判。
- 独占模式:设备若被别的程序以独占方式占用,回环开不起来,程序会改用设备电平表读数; 两条都不行时界面会显示"打不开"的原因,不会给假的绿灯。
- 窗口位置:程序只在启动时丢弃明显离谱的坐标。插拔过外接显示器后如果窗口不见了,
删掉
config.toml里的pos行即可。
双击时弹"Windows 已保护你的电脑"? exe 没有代码签名,从网上下载会带"来自 Internet"标记。点"更多信息 → 仍要运行"即可; 也可以在文件属性里勾"解除锁定"。
要装驱动或者管理员权限吗? 都不用。它只用 Windows 自带的 WASAPI,装完就是一个 exe。
它会录音吗?会联网吗? 不会。音频只在内存里算电平和判定,不落盘、不发送;整个程序没有任何网络依赖。
耳麦的静音键按了,程序能看到吗? 看不到按键本身(多数耳麦的静音是硬件级的,操作系统不知道),但能看到结果: 麦克风还在流、样本却全是零——那就判定为"疑似静音"并黄闪。
支持蓝牙耳麦吗? 支持,但蓝牙耳麦连接瞬间会在"免提/立体声"两档之间切换,设备名可能变一下,属正常。
只有 Windows 目标能编到全部代码(底层是 WASAPI)。在 macOS / Linux 上能做纯逻辑单测与类型检查:
cargo test -p hud-core # 纯逻辑(电平 / 灯 / 跟随 / 配置 / 崩溃格式)
cargo check --target x86_64-pc-windows-msvc --workspace在 Windows 上运行:
cargo run -p hud-app # 调试版:带控制台,日志直接看
cargo build --release -p hud-app # 发布版:无控制台,exe 带图标构建、CI 与发版流程见 docs/开发.md。
| 文档 | 内容 |
|---|---|
| DESIGN.md | 选型、架构、关键取舍,以及每个 API 断言对应的源码/文档依据 |
| docs/开发.md | 环境限制、分层约定、CI 与发版流程、现场排查 |
| docs/验收清单.md | 真机验收步骤:每一步该看到什么、不对劲说明什么 |
MIT © 2026 Jedeiah
