现代语音聊天

现代语音聊天

高性能、新一代3D空间与无线电语音聊天模组,专为Minecraft设计。

🎙️ ModernVoiceChat

ModernVoiceChat 是一款专为 Minecraft 1.21.1 (NeoForge) 设计的高性能、次世代 3D 空间与无线电语音聊天模组。

ModernVoiceChat 采用纯 Java 编写的 kwik QUIC/TLS 传输协议。音频编码由 Opus4J 提供,该库捆绑了各平台专用的原生 Opus 二进制文件。


✨ 主要特性

⚡ 安全的跨平台 QUIC 传输

  • 由 kwik(纯 Java QUIC / RFC 9000)驱动。
  • 语音流量使用 TLS 1.3 和 QUIC 数据报(RFC 9221)。
  • Opus4J 为受支持的 Windows、Linux 和 macOS 平台提供原生编解码器二进制文件。

客户端必备依赖

  • Kotlin for Forge 5.3.0 或更高版本
  • Cloth Config API 15.0.127 或更高版本

🎙️ 沉浸式 3D 空间音频

  • 根据玩家距离和头部朝向实时计算的动态定位语音聊天。
  • 默认 24 米自然听觉半径,带有平滑的距离衰减效果。

📻 手持无线电物品 & TFAR 风格 DSP 滤波器

  • 游戏内无线电物品(modernvoicechat:radio):右键点击打开交互式 GUI 并设置您的频率(例如 144.00 MHz)。
  • 700 米清晰通讯与实时信号衰减:
    • 0 米 – 700 米(清晰可听范围):应用军用级 300Hz–3400Hz 带通滤波和动态压缩,提供清晰、高可懂度的无线电语音。
    • 700 米 – 1000 米(信号衰减区域):动态 RSSI 信号衰落引入真实的背景白噪声、自适应带宽收窄(800Hz–1800Hz)、音节数据包丢失和数字量化失真(MELPe 风格)。
    • 1000 米以上:信号中断。

🌐 外部 IP 与代理支持(voiceHost)

  • 通过 config/modernvoicechat-server.toml 轻松将语音流量连接到不同的外部 IP/域名或反向代理。

🧩 丰富的开发者 API(v1.0)

  • 直接 1 对 1 语音链路:通过无距离限制的直接音频路由构建电话、对讲机或秘密线路功能。
  • 自定义语音组:在几秒钟内创建团队频道或派对语音房间。
  • NeoForge 事件集成:挂钩 PlayerSpeakingEvent 或 RadioTransmitEvent 以触发自定义游戏内动画或机制。

🎮 运行要求

  • Minecraft:1.21.1
  • 模组加载器:NeoForge 21.1.238+
  • Java:Java 21

📻 无线电使用方法

  1. 在游戏中制作或获取 无线电 物品。
  2. 发射(PTT):手持无线电并 [长按右键] 即可在无线电频率上发射您的语音。
  3. 配置频率:手持无线电并 [左键单击] 打开频率配置界面(例如 144.00 MHz)。
  4. 接收:只需将无线电拿在手中或放在物品栏中,即可始终接收您频率上的来电无线电传输!

⚙️ 服务器配置(config/modernvoicechat-server.toml)

[server]
  # SFU 语音服务器 UDP/QUIC 端口
  voicePort = 24454

用于客户端连接的外部 IP/主机名(留空 "" 以使用 Minecraft 服务器 IP)

voiceHost = ""

3D 邻近语音听觉范围(以方块/米为单位)

voiceRange = 24.0

无线电保持高度清晰的距离范围(以方块为单位)

radioClearRange = 700.0

无线电最大发射范围(以方块为单位)

radioMaxRange = 1000.0


🧩 开发者 API 示例

import com.ruskserver.modernvoicechat.api.ModernVoiceChatAPI

// 创建两名玩家之间的私人直接 1 对 1 电话链路 val serverApi = ModernVoiceChatAPI.getServerApi() serverApi.createVoiceLink(playerAUuid, playerBUuid, bidirectional = true, isolateProximity = true)

// 检查玩家当前是否正在说话 val isSpeaking = serverApi.isPlayerSpeaking(playerUuid)


📄 许可证

ModernVoiceChat 根据 GNU 通用公共许可证 v3.0(GPLv3) 进行许可分发。