Siege6 MCP服务器-增强音频版
](requirements.txt) 
一种模型上下文协议(MCP)服务器实现 实时空间音频处理 彩虹六号攻城战操作员和地图。
🎧 增强的音频功能: 该服务器包括一个基于插件的空间音频系统,支持 OpenAL, Windows空间声音,以及用于专业3D音频处理的可扩展后端架构。
✨ 增强音频版的新增功能
真实空间音频处理
- 插件架构:支持多个音频引擎的可扩展音频后端系统
- OpenAL后端:支持HRTF的跨平台3D空间音频
- Windows空间声音:本机Windows Sonic/Dolby Atmos集成
- 3D定位:具有位置、距离和方向的实时音频处理
- 高级元数据:频率范围、空间衰减、混响和遮挡数据
增强音频数据
- 60+操作员 详细的音频特性包括:
- 频率范围(Hz) - 音量水平(dB) - 空间衰减参数 - 混响和遮挡因素 - 特殊能力音频提示 - 移动速度和装甲等级
- 25+地图 具有全面的空间音频数据,包括:
- 环境声音环境 - 特定区域混响特性 - 基于材料的声音传播 - 三维空间定位
🚀 快速开始
先决条件
- Python>=3.8
- 必修的:
mcp>=1.0.0 - 可选:
PyOpenAL>=0.7.5(适用于OpenAL后端)
安装
- 安装核心依赖项:
pip install -r requirements.txt- 可选:安装跨平台3D音频的OpenAL后端:
pip install PyOpenAL- 运行增强型MCP服务器:
python siege6_mcp.pyWindows快速入门
使用提供的批处理文件:
start_siege6_python.bat🛠️ 可用工具
基本音频工具
get_operator_foots步骤
获取操作员的基本足迹音频描述。
参数:
operator(string):操作员的姓名(例如,“Ash”、“Thermite”)
例子:
{
"operator": "Ash"
}答复: 操作员Ash:脚步轻快,靴子上有轻微的金属回声
______________________________________________________________________
get_map_space_sounds
获取地图的基本空间背景声音描述。
参数:
map(string):地图名称(例如“银行”、“会所”)
例子:
{
"map": "Bank"
}答复: 地图银行:城市环境,交通遥远,偶尔有汽车喇叭声,银行警报声,大理石大厅里回荡着脚步声
______________________________________________________________________
增强的音频元数据工具
获取操作员音频元数据
获取操作员的详细音频元数据,包括频率范围、空间特征和特殊音频提示。
参数:
operator(string):操作员的名称
示例响应:
{
"operator": "Ash",
"description": "Light, quick footsteps with a slight metallic echo from her boots",
"audio_properties": {
"frequency_range_hz": {"low": 800, "high": 3200},
"volume_db": -18.0,
"spatial_falloff": 2.5,
"reverb_amount": 0.3,
"occlusion_factor": 0.7,
"directional": true
},
"gameplay_properties": {
"speed_multiplier": 1.2,
"armor_rating": 1
},
"special_audio_cues": [
"Breaching round launch (low thump)",
"Breaching explosion"
]
}______________________________________________________________________
获取_音频_元数据
获取地图的全面音频元数据,包括环境声音、混响特征和空间区域。
参数:
map(string):地图名称zone(字符串,可选):区域过滤器(例如,“大厅”、“外部”、“全部”)
示例响应:
{
"map": "Bank",
"description": "Urban environment with distant traffic...",
"ambient_properties": {
"frequency_range_hz": {"low": 80, "high": 4000},
"ambient_volume_db": -35.0
},
"reverb_characteristics": {
"lobby": {
"reverb": 0.8,
"echo_delay": 0.15,
"description": "Large marble hall with high ceiling"
},
"offices": {
"reverb": 0.3,
"echo_delay": 0.05,
"description": "Carpeted rooms with furniture"
}
},
"spatial_zones": {
"exterior": {"occlusion": 0.2, "outdoor_factor": 1.0},
"interior": {"occlusion": 0.6, "outdoor_factor": 0.0}
},
"ambient_sounds": [...]
}______________________________________________________________________
空间音频处理工具
进程空间音频
使用主动音频后端通过实时3D空间定位处理操作员音频。
参数:
operator(string):操作员的名称source_position(对象):声源的三维位置{x, y, z}listener_position(对象):玩家的3D位置{x, y, z}listener_orientation(对象):玩家方向(度){yaw, pitch, roll}
例子:
{
"operator": "Caveira",
"source_position": {"x": 10.0, "y": 2.0, "z": 5.0},
"listener_position": {"x": 0.0, "y": 2.0, "z": 0.0},
"listener_orientation": {"yaw": 45.0, "pitch": 0.0, "roll": 0.0}
}答复:
{
"operator": "Caveira",
"success": true,
"message": "Audio processed with OpenAL spatial positioning",
"processed_audio": {
"distance": 11.18,
"direction": {"x": 0.894, "y": 0.0, "z": 0.447},
"relative_angle_degrees": 26.57,
"pan": 0.447,
"attenuated_volume_db": -64.13,
"frequency_range": {"low": 400, "high": 2200},
"openal_parameters": {...}
},
"backend": {"name": "OpenAL Audio Backend", ...}
}______________________________________________________________________
音频后端管理工具
configure_audio_backend
在不同的音频处理后端之间切换。
参数:
backend(string):后端类型-“openal”、“windows_space”或“none”
例子:
{
"backend": "openal"
}______________________________________________________________________
list_audio_backends
列出当前系统上所有可用的音频后端。
示例响应:
{
"available_backends": [
{
"name": "Null Audio Backend",
"type": "none",
"description": "Fallback backend providing metadata analysis"
},
{
"name": "OpenAL Audio Backend",
"type": "openal",
"description": "Cross-platform 3D spatial audio using OpenAL"
}
],
"active_backend": {
"name": "OpenAL Audio Backend",
"type": "openal",
"version": "1.0.0"
}
}______________________________________________________________________
get_backend_能力
获取当前活动音频后端的功能。
示例响应:
{
"backend": {
"name": "OpenAL Audio Backend",
"type": "openal"
},
"capabilities": {
"spatial_positioning": true,
"hrtf_processing": true,
"reverb": true,
"occlusion": true,
"real_time_processing": true,
"distance_attenuation": true,
"doppler_effect": true
}
}______________________________________________________________________
操作员列表
返回所有可用运算符的逗号分隔列表。
答复: “Ace、Alibi、Amaru、Aruni、Ash、Azami、Bandit……”
______________________________________________________________________
list_maps
返回所有可用映射的逗号分隔列表。
答复: “银行、边境、小木屋、会所、海岸线……”
______________________________________________________________________
🎮 音频后端系统
架构概述
Siege6 MCP增强音频版使用基于插件的架构,允许在不同的音频处理后端之间进行切换:
┌─────────────────────────────────────┐
│ MCP Client (Claude Desktop) │
└─────────────┬───────────────────────┘
│ stdio protocol
┌─────────────▼───────────────────────┐
│ Siege6 MCP Enhanced Server │
│ ┌───────────────────────────────┐ │
│ │ Audio Backend Manager │ │
│ │ - Plugin registration │ │
│ │ - Backend switching │ │
│ │ - Capability detection │ │
│ └───────────┬───────────────────┘ │
└──────────────┼──────────────────────┘
│
┌───────┴────────┐
│ │
┌──────▼─────┐ ┌──────▼──────────┐
│ OpenAL │ │ Windows Spatial │
│ Backend │ │ Sound Backend │
└────────────┘ └─────────────────┘可用后端
1. 后端为空 (始终可用)
- 提供元数据分析的后端
- 无实际音频处理
- 在没有实际音频输出的情况下计算空间参数
- 可用于调试和测试
能力:
- ❌ 无实时音频处理
- ✅ 元数据分析
- ✅ 距离/角度计算
2. OpenAL后端 (可选-跨平台)
- 行业标准3D音频库
- 全HRTF(头部相关传递函数)支持
- 跨平台(Windows、macOS、Linux)
安装:
pip install PyOpenAL能力:
- ✅ 三维空间定位
- ✅ HRTF处理
- ✅ 距离衰减
- ✅ 多普勒效应
- ✅ 定向源
- ✅ 混响(通过EFX扩展)
- ✅ 实时处理
最适合: 跨平台应用、游戏、VR/AR
3. Windows空间声音后端 (仅限Windows)
- 原生Windows Sonic集成
- 杜比全景声支持(如果已安装)
- 针对Windows 10/11进行了优化
安装:
- 内置于Windows(不需要额外的软件包)
能力:
- ✅ 三维空间定位
- ✅ HRTF处理(Windows Sonic)
- ✅ 高度/标高支撑
- ✅ 房间建模
- ✅ 最多128个空间音频对象
- ✅ 本机Windows优化
最适合: 仅限Windows应用程序,本机Windows集成
切换后端
使用 configure_audio_backend 在后端之间切换的工具:
// Switch to OpenAL
{"backend": "openal"}
// Switch to Windows Spatial Sound
{"backend": "windows_spatial"}
// Switch to Null backend (metadata only)
{"backend": "none"}📊 数据覆盖
运算符
- 总计:35+运营商,音频数据增强
- 覆盖:高细节操作员包括:
- 所有基础游戏运营商 - DLC运营商至8年级 - 独特的音频特征和特性 - 特殊能力音频提示
地图
- 总计:8+张地图,带全面的空间音频
- 环境:城市、农村、室内、室外、专业
- 详情:特定区域混响、环境声音、空间特征
⚙️ 配置
Claude桌面集成
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"siege6-mcp-enhanced": {
"command": "python",
"args": ["Q:/Apps/mcp_servers/Siege6_mcp/siege6_mcp.py"]
}
}
}将路径替换为实际安装目录。
💻 发展
项目结构
Siege6_mcp/
├── siege6_mcp.py # Main enhanced MCP server
├── audio_backend.py # Backend plugin architecture
├── enhanced_audio_data.py # Enhanced operator & map data
├── backend_openal.py # OpenAL backend implementation
├── backend_windows_spatial.py # Windows Spatial Sound backend
├── requirements.txt # Python dependencies
├── start_siege6_python.bat # Windows launcher
├── README.md # This file
└── src/
└── index.ts # TypeScript implementation (legacy)创建自定义后端
要创建新的音频后端:
- 从……继承……
AudioBackend基本类:
from audio_backend import AudioBackend, AudioBackendType
class CustomBackend(AudioBackend):
def __init__(self, config=None):
super().__init__(config)
self.backend_type = AudioBackendType.CUSTOM
def initialize(self) -> bool:
# Initialize your audio system
return True
def process_spatial_audio(self, audio_metadata, listener_pos, listener_orient):
# Process audio with your system
pass
# Implement other required methods...- 注册您的后端:
from audio_backend import get_backend_manager
backend_manager = get_backend_manager()
backend_manager.register_backend(CustomBackend())扩展音频数据
要添加新运算符或贴图,请编辑 enhanced_audio_data.py:
ENHANCED_OPERATOR_AUDIO["NewOperator"] = {
"description": "Audio description",
"frequency_range": (low_hz, high_hz),
"volume_db": -15.0,
"spatial_falloff": 2.0,
"reverb_amount": 0.4,
"occlusion_factor": 0.5,
"directional": True,
"speed_multiplier": 1.0,
"armor_rating": 2,
"special_audio_cues": ["Ability sound 1", "Ability sound 2"]
}🔧 故障排除
服务器无法启动
- 检查Python版本:
python --version(必须大于等于3.8) - 安装依赖项:
pip install -r requirements.txt - 检查控制台输出 导入错误
OpenAL后端不可用
- 安装PyOpenAL:
pip install PyOpenAL - 检查OpenAL安装 在您的系统上:
- Windows:OpenAL应该安装图形驱动程序 - Linux: sudo apt-get install libopenal-dev - macOS:内置OpenAL
Windows空间声音不工作
- 验证Windows 10/11: 空间声音需要Windows 10或更高版本
- 启用Windows Sonic:
- 右键单击扬声器图标→ 空间音效→ Windows Sonic耳机
- 检查后端可用性: 使用
list_audio_backends工具
MCP连接问题
- 验证路径 在
claude_desktop_config.json - 检查服务器是否启动 没有错误
- 重新启动克劳德桌面 配置更改后
音频处理返回错误
- 检查活动后端: 使用
get_backend_capabilities - 切换到空后端 用于调试:
{"backend": "none"} - 验证位置数据 有效(无NaN或无限值)
🤝 贡献
- 分叉存储库
- 创建要素分支
- 添加/更新音频数据或创建新后端
- 使用不同后端进行测试更改
- 提交拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🎮 关于彩虹六号围城战
彩虹六号围攻是育碧开发的战术第一人称射击游戏。这款增强的MCP服务器提供专业级的空间音频处理和参考数据,以帮助玩家:
- 确定操作员 通过独特的音频签名
- 导航地图 使用空间音频提示
- 处理3D音频 实时获取战术优势
- 分析音频特性 用于竞技比赛
🔗 相关项目
- OpenAL: https://www.openal.org/
- Windows空间声音: 微软文档
- 模型上下文协议: https://modelcontextprotocol.io/
______________________________________________________________________
注: 这是一个参考和音频处理工具。不包括实际的游戏音频文件。所有音频描述均基于游戏内观察和公开信息。
