ihorman/gx-10-tsl-spec
GitHub: ihorman/gx-10-tsl-spec
该项目是对 BOSS GX-10 吉他效果器 TSL 音色文件格式的逆向工程规范,提供完整的字节级结构映射与 Python 代码库,使开发者和 AI 工具能够程序化地读取、生成和验证音色预设。
Stars: 1 | Forks: 0
# 🎸 BOSS GX-10 TSL 文件格式规范
[](https://github.com/ihorman/gx-10-tsl-spec)
[](LICENSE)
[]()
[]()
[]()
**对 BOSS GX-10 吉他综合效果器处理器使用的专有 TSL (Tone Studio Liveset) 文件格式进行逆向工程的字节级规范说明。**
## 📖 这是什么?
BOSS GX-10 通过 BOSS Tone Studio 软件使用 `.tsl.json` 文件来存储吉他效果音色(预设)。本项目提供:
- **完整的 JSON 结构映射**,包含精确的字节级布局
- 所有参数值的 **Hex 编码约定**
- **效果链路由逻辑** — 20 个效果插槽在信号路径中的排序方式
- **控制分配映射** — 表情踏板和脚踏开关 → 参数路由
- **可运行的 Python 代码示例**,用于读取、修改、生成和验证 TSL 文件
- **AI 生成指南** — 专为 LLM 和自动化工具以编程方式生成有效音色而设计
## 🗂 仓库结构
| 文件 | 描述 |
|------|-------------|
| [`specification.md`](specification.md) | 超过 1500 行的完整规范说明 (v2.0) |
| [`README.md`](README.md) | 本文件 |
## 🔑 关键发现
| 发现 | 细节 |
|---------|--------|
| 所有值均为 hex 编码的字符串 | `"08"`, `"0F"`, `"1E"` |
| 固定的数组大小 | 每个参数类别都有严格的字节计数 |
| 音色名 = 位于字节 0–15 的 ASCII | 通用参数的前 16 个字节 |
| 效果链路由独立 | 独立于效果参数 |
| 3 字节参数编码 | 位于 fxItem 块中(工作假设) |
## 🐍 Python 示例(来自规范)
规范说明中包含 **6 个实用示例**以及附录 C 中完整的 **`TSLFile` Python 类**(约 250 行):
```
# 加载并检查 TSL 文件
import json
with open("my_patch.tsl.json", "r") as f:
tsl = json.load(f)
print(f"Name: {tsl['name']}")
print(f"Device: {tsl['device']}")
print(f"Patches: {len(tsl['data'])}")
```
**规范中的更多示例:**
- 设置音色名称
- 启用/禁用效果
- 构建效果链
- 在插槽之间复制音色
- 验证 TSL 文件完整性
## 🤖 AI / LLM 集成
本规范在编写时明确考虑了 AI 生成:
- **基于模板的音色生成** — 从已知良好的模板开始,修改参数
- **验证 pipeline** — 在加载前验证生成的文件
- **ML 特征提取** — 用于从现有音色中学习的 scikit-learn pipeline 草图
- **`GX10Patch` 辅助类** — 以编程方式访问所有参数
## 📊 规范覆盖范围
```
├── Top-level JSON structure (name, formatRev, device, data)
├── ParamSet structure — 43 keys per patch (4,699 bytes)
│ ├── Common parameters (129 bytes) — patch name, global config
│ ├── LED parameters (28 bytes) — display/color settings
│ ├── Assign parameters (45 bytes × 20) — control routing
│ ├── Effect chain (62 bytes) — routing map
│ └── FxItem parameters (179 bytes × 20) — per-effect params
├── Complete Python library (TSLFile class)
└── Research notes & known unknowns (Appendix B)
```
## 🎯 适用人群?
- **🎸 吉他手** — 以编程方式创建、修改或批处理 GX-10 音色
- **👩💻 开发者** — 构建音色编辑器、共享平台和预设管理器
- **🤖 AI/ML 工程师** — 使用 LLM 或 ML 模型生成有效的 TSL 文件
- **🔧 逆向工程师** — 作为硬件协议文档的参考
## 🚀 快速开始
1. **阅读规范:** [`specification.md`](specification.md)
2. 从 BOSS Tone Studio **导出 TSL 文件**
3. **使用规范中的 Python 示例**加载并修改它
4. 将其**重新加载**到您的 GX-10 中
## 📚 相关项目与资源
- [BOSS Tone Studio](https://www.boss.info/global/promos/boss_tone_studio/) — 官方编辑器
- [VGuitarForums](https://vguitarforums.com/) — 活跃的 GX-10 社区
- [r/GuitarPedums](https://reddit.com/r/GuitarPedals) — Reddit 效果器社区
## 📄 许可证
MIT — 详情请参阅 [LICENSE](LICENSE)。
通过逆向工程用 ❤️ 构建 • 与 BOSS/Roland 无关
标签:AI辅助生成, Homebrew安装, Python, 云资产清单, 文件格式规范, 无后门, 逆向工具, 逆向工程, 音乐设备