Skip to content

Repository files navigation

KOOK ↔ Mumble 语音桥接系统

Light Spot Poacher Logo

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

📥 发行版下载(Release)

不想自己构建?直接下载预打包的便携版,解压即用。

版本 类型 大小 说明
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 → dac608197811dbf2bc34804af1c41b981975cf37477eb4893a0428249893c945
    • KMB-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 发行编号表示本次帧序号对齐 + 低延迟更新。

🛠️ 使用说明

  1. Mumble 服务器配置

    • 填写 Mumble 服务器地址、端口、用户名
    • 首次连接自动生成客户端证书(mumble-key.pem / mumble-cert.pem,保存在 exe 同级目录)
    • 若服务器要求注册,请将证书绑定到服务器用户名
  2. KOOK 配置

    • 填入 KOOK Bot Token
    • 使用"状态探测"功能选择目标语音频道
  3. 延迟与混音参数(新增)

    • 登录表单「服务器配置 / 高级」处新增两项:
      • M2K 抖动缓冲 (ms):默认 500,越大越抗网络抖动但延迟越高,最小值 80
      • K2M 直通延迟 (ms):默认 250,KOOK 已自带抖动处理,一般无需改动
    • 也可通过环境变量 M2K_JITTER_MS / K2M_DELAY_MS 在命令行 / 服务器场景覆盖
  4. 启动桥接

    • 点击「启动桥接」,在状态面板观察连接情况
    • 说话时对应平台会出现语音指示

🔧 技术架构

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.

About

KOOK 与 Mumble 之间的双向实时语音桥接 将 KOOK 语音频道 与 Mumble 服务器 连接起来,实现两个平台的用户互相对话。内置 AI 降噪、多人帧序号对齐混音、定向转发,专为游戏公会/军团 / 联盟多平台协同设计。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages