vaclavmuller/cpt2sty

GitHub: vaclavmuller/cpt2sty

一个将 Casio CPT 样式文件转换为 Yamaha SFF1 STY 格式的 Python 工具,通过逆向工程解决了跨平台和声行为正确映射的问题。

Stars: 0 | Forks: 0

# CPT → Yamaha STY 转换器 一个 Python 工具,用于将 **Casio CPT 样式** 转换为 **Yamaha SFF1 STY 样式**,并保持正确的和声行为。 ## 为什么开发此工具 Casio CPT 和 Yamaha STY 在结构和行为上是截然不同的样式格式。 仅靠直接的机械转换是不够的,因为 Yamaha 伴奏回放依赖于正确配置的: * **Source Root** * **Source Chord** * **NTT (Note Transposition Table)** 如果没有该映射,生成的 Yamaha 样式可能会产生不正确的和声,例如: * 不想要的大七和弦 * 不正确的和弦移调 * 伴奏声部表现得像旋律轨道 创建此项目旨在通过对 CPT 格式和 Yamaha CASM 行为的逆向工程来解决该问题。 ## 功能 * 转换 `.CPT` → `.STY` (Yamaha SFF1) * 自动生成 CASM * 正确处理: * Source Root * Source Chord * NTT (Chord vs Melody) * 适用于: * Casio 原厂样式 * 第三方样式 * 完全数据驱动 ## 关键见解 正确的 Yamaha 回放需要从 CPT 数据中重建该和声行为。 ## 用法 ``` python cpt2sty "input.CPT" ``` 输出: ``` input.sty ``` ## 项目结构 ``` /converter cpt2sty.py /docs CPT_format.md CASM_mapping.md CASM_byte_level.md ``` ## CPT 格式 CPT 格式没有公开文档。 本项目包含一份逆向工程的规范: * `docs/CPT_format.md` ## 免责声明 * CPT 格式文档是非官方的 * 部分行为基于逆向工程和实证测试 * 可能尚未涵盖所有边缘情况 ## 测试环境 * Casio 原厂样式 * 第三方 CPT 样式 * Yamaha Style Creator 验证 ## 贡献 欢迎贡献,特别是在以下方面: * 解码 FF80 / FF81 / FF82 元事件 * 改进 CCT 解释 * 优化 CASM 生成 * 扩展兼容性和测试 ## 许可证 MIT License (推荐)
标签:CASM生成, CPT格式, MIDI处理, Python, SFF1, STY格式, 云资产清单, 卡西欧, 和弦转换, 文件格式转换, 无后门, 电子琴, 自动伴奏, 逆向工具, 逆向工程, 雅马哈, 音乐转换器, 音频工具, 风格文件