Light Spot Poacher — KOOK 与 Mumble 之间的双向实时语音桥接
将 KOOK 语音频道 与 Mumble 服务器 连接起来,实现两个平台的用户互相对话。内置 AI 降噪、多人帧序号对齐混音、定向转发,专为军团 / 联盟多平台协同设计。
- 双向实时桥接 — KOOK ↔ Mumble 语音双向互转,延迟平滑稳定
- 神经网络 AI 降噪 — RNNoise 降噪处理,过滤环境噪音、键盘声、电流声
- 帧序号对齐多人混音 — M2K 方向按帧序号(seq)对齐各说话者音频帧,统一混音后编码转发,彻底解决多人同时说话时串行转发导致的倍速 / 频道爆炸问题
- 定向转发开关 — 可独立控制
KOOK → Mumble和Mumble → KOOK两个方向 - 降噪强度调节 — 提供多档降噪强度,按现场环境自由切换
- 低延迟可调缓冲 — M2K 抖动缓冲默认 500ms(吸收网络抖动 + TCP 突发,替代原 3 秒固定墙钟延迟),K2M 直通延迟默认 250ms;均可在仪表盘或环境变量(
M2K_JITTER_MS/K2M_DELAY_MS)调节 - 防爆音处理 — 混音峰值限幅 + 5ms 线性淡入淡出,避免咔哒 / 爆音;晚到帧静音等待、陈旧帧(>1 秒)自动丢弃,保证输出速率恒定
- 凭证安全注入 — Mumble 密码 / KOOK Token 通过环境变量(
MUMBLE_PASSWORD/KOOK_TOKEN)或本地config.local.js注入,源码不再硬编码敏感信息 - 断线自动重连 — Mumble 连接断开后指数退避自动重连(最多 5 次),减少驻守断线空窗
- 实时状态面板 — 桥接速率、在线状态、说话指示、日志流一目了然
- 可视化向导 — 首次使用分步引导:服务器配置 → KOOK 登录 → 频道选择 → 一键启动
下载发行版压缩包(rar),解压后双击 KOOK-Mumble-Bridge.exe 即可运行,无需安装任何环境。
每次发布会在 Releases / 发行版页面提供最新 rar 压缩包。
# 安装依赖
npm install
# 启动应用(开发模式)
node launch.js
# 或纯命令行模式(无 UI)
npm run cli不想自己构建?直接下载预打包的便携版,解压即用。
| 版本 | 类型 | 大小 | 说明 |
|---|---|---|---|
| v2.1.0 | 分卷 .rar(2 个文件,单文件 <100MB) |
共 ~122 MB | 含帧序号对齐混音 + 默认 M2K 500ms/K2M 250ms 低延迟缓冲 + 防爆音 + 凭证安全注入 |
因 Gitee 单文件附件限制 100MB,发行版拆分为两个分卷,需全部下载到同一目录后由解压软件自动合并。
- 下载(前往 Gitee 发行版页面):
KMB-v2.1.0.part.part1.rar(~61 MB)KMB-v2.1.0.part.part2.rar(~60 MB)
- 校验(可选):下载后核对各分卷 SHA256,确保传输未损坏
KMB-v2.1.0.part.part1.rar→dac608197811dbf2bc34804af1c41b981975cf37477eb4893a0428249893c945KMB-v2.1.0.part.part2.rar→66c9562e8f960ccdb4eade506a01a304364debc3e9ac9263f7f03226a44b86a2
- 解压运行:把两个
.rar放在同一文件夹,用 WinRAR / 7-Zip 打开KMB-v2.1.0.part.part1.rar解压(软件会自动读取 part2 合并),双击KOOK-Mumble-Bridge.exe即可(无需安装环境)
发行版已内置全部依赖,基于源码
v2.0.0构建;v2.1.0发行编号表示本次帧序号对齐 + 低延迟更新。
-
Mumble 服务器配置
- 填写 Mumble 服务器地址、端口、用户名
- 首次连接自动生成客户端证书(
mumble-key.pem/mumble-cert.pem,保存在 exe 同级目录) - 若服务器要求注册,请将证书绑定到服务器用户名
-
KOOK 配置
- 填入 KOOK Bot Token
- 使用"状态探测"功能选择目标语音频道
-
延迟与混音参数(新增)
- 登录表单「服务器配置 / 高级」处新增两项:
- M2K 抖动缓冲 (ms):默认
500,越大越抗网络抖动但延迟越高,最小值80 - K2M 直通延迟 (ms):默认
250,KOOK 已自带抖动处理,一般无需改动
- M2K 抖动缓冲 (ms):默认
- 也可通过环境变量
M2K_JITTER_MS/K2M_DELAY_MS在命令行 / 服务器场景覆盖
- 登录表单「服务器配置 / 高级」处新增两项:
-
启动桥接
- 点击「启动桥接」,在状态面板观察连接情况
- 说话时对应平台会出现语音指示
KOOK 语音客户端 ──┐
├─► Bridge 核心 ──► RNNoise 降噪 ──► 帧序号对齐混音/转发 ──► Mumble
Mumble 客户端 ────┘ │
▼
KOOK / Mumble 双向
| 模块 | 说明 |
|---|---|
src/bridge.js |
桥接核心:帧序号对齐混音、可调抖动缓冲、峰值限幅、方向控制 |
src/kook-voice.js |
KOOK 语音客户端(Opus 编解码) |
src/mumble-bridge.js |
Mumble 协议客户端 |
src/rnnoise-processor.js |
RNNoise AI 降噪处理 |
src/rtp.js |
RTP 音频包处理 |
config.js / config.example.js |
凭证与连接配置(环境变量 / 本地覆盖,不含硬编码密码) |
public/ |
Electron 桌面 UI(仪表盘 / 控制面板 / 频道探测 / 成员列表) |
Q: 现在语音延迟大概多少?和之前的 3 秒有什么区别? A: 旧版为固定 3 秒墙钟延迟(每帧等到满 3 秒再转发),用于吸收抖动但延迟感明显。新版改为帧序号对齐混音 + 可调抖动缓冲:M2K 默认 500ms、K2M 默认 250ms,可在登录表单或环境变量调节,延迟从秒级降到百毫秒级,多人同时说话也不再倍速。
Q: 调小抖动缓冲会出现爆音或丢帧吗? A: 不会爆音——混音做了峰值限幅 + 5ms 淡入淡出,晚到帧静音等待、陈旧帧(>1 秒)丢弃,输出速率恒定。丢帧只发生在 UDP 网络层丢包,调小缓冲不会增加丢帧,只是抗抖动能力变弱(网络差时可能断续)。
Q: 没有图形界面的服务器上怎么设置延迟和凭证?
A: 全部走环境变量:M2K_JITTER_MS、K2M_DELAY_MS、MUMBLE_PASSWORD、KOOK_TOKEN。详见 config.example.js。
Q: 连接被拒绝 "A client certificate is required"?
A: 首次连接会自动生成证书。若服务器要求注册,请让管理员将生成的 mumble-cert.pem 绑定到你的用户名。
Q: 连接失败但服务器地址正确? A: 检查网络 / 防火墙是否放行 UDP 64738 端口。
Q: 换电脑 / 换人使用时? A: 直接分发整个文件夹或 zip 包即可,对方双击 exe 即用。证书代表 Mumble 身份,请勿随意发给他人。
仅大家学习使用。
Made with ❤️ for the Fraternity.