Skip to content
JedeiahPublic

About

外呼坐席用的 Windows 小工具:麦克风/线路实时电平条 + 两颗状态灯(含疑似静音),按音频会话自动跟随外呼软件在用的设备 · Audio HUD for call-center agents (Rust + WASAPI + egui)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

21 Commits

Folders and files

Repository files navigation

audio-hud · 坐席音频助手

界面示意图

给外呼坐席用的 Windows 小工具:屏幕角落一个无边框小窗,一眼看清 我在说话吗 / 我听得到对方吗。

平台 语言 界面 音频 许可 用途

上图是界面示意图(按程序的真实配色、尺寸和布局绘制),不是截图。


它解决什么问题

外呼坐席的通话事故,大多不是系统坏了,而是你以为在说、其实一个字都没送出去:

  • 耳麦上的静音键被误触(硬件静音,操作系统完全不知道)
  • 系统把麦克风静音了、或者麦克风增益被拉到 0
  • 外呼软件内部选了另一个音频设备,而你以为在用耳麦
  • 耳机根本没声音(设备掉了、音量被拉到 0)

这些情况通话里自己是听不出来的。这个工具把三件事摆在一个巴掌大的窗口里: 麦克风有没有声音、耳机里有没有对方的声音、现在盯的是哪个设备。

功能

  • 两根实时电平条:MIC(我说话)、LINE(对方声音)
  • 两颗状态灯:说话正常 / 安静 / 疑似静音(黄闪)/ 设备离线;线路有声 / 无声 / 离线
  • 设备自动跟随:按音频会话识别"外呼软件正在用哪个设备"并跟上去——软电话内部选了非默认设备 也能对上,设备名后面会写「(在用:phone.exe)」;插拔耳麦、切换系统默认设备几乎立刻跟上
  • 自动灵敏度:跟着实测底噪定判定门限,耳麦底噪偏高也不会常年假绿;也可以关掉改手动
  • 手感可调:电平条回落速度滑条,嫌"迟钝"就往小拖
  • 常驻体验:托盘图标、窗口置顶、位置记忆、开机自启(默认关)、设置落盘
  • 不录音、不上传、不装驱动、不要管理员权限:LINE 那一路是整条输出设备的回环(会连音乐、 提示音一起"听"到,因为要判断的正是"耳机里到底有没有声音"),但所有音频只在内存里算电平, 不落盘、不联网

界面与两颗灯

灯 绿色 灰色 黄色 红色
说话(MIC) 正在说话 安静(设备正常) 持续数字零:多半是按了耳麦静音键 设备离线 / 流断了
线路(LINE) 听得到对方 线路没声音 — 设备离线 / 流断了

黄色那条是重点:真实麦克风永远有底噪,样本全零说明信号被掐了(耳麦硬件静音键、 系统静音、增益被拉到 0、或者设备没真在工作)。所以"你说得正起劲而灯不绿", 就是它想告诉你的事。

快速开始

  1. 从 Releases 下载 audio-hud.exe,放到任意目录,双击即可(绿色单文件)。
  2. 窗口无边框:标题那一行按住就能拖。右侧是 设置 和两个图标按钮(横线=最小化、叉=关闭)。 常驻靠置顶,— 可以收进任务栏。
  3. 托盘图标右键:显示窗口 / 窗口置顶 / 开机自启 / 退出;双击图标把窗口叫回前台。
  4. 配置自动保存在 %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

About

外呼坐席用的 Windows 小工具:麦克风/线路实时电平条 + 两颗状态灯(含疑似静音),按音频会话自动跟随外呼软件在用的设备 · Audio HUD for call-center agents (Rust + WASAPI + egui)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages