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 文件格式规范 [![Version](https://img.shields.io/badge/version-2.0-blue.svg)](https://github.com/ihorman/gx-10-tsl-spec) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Format](https://img.shields.io/badge/format-JSON-orange.svg)]() [![Platform](https://img.shields.io/badge/platform-BOSS%20GX--10-black.svg)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)]() **对 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, 云资产清单, 文件格式规范, 无后门, 逆向工具, 逆向工程, 音乐设备