romainguerif/tonverk-merger
GitHub: romainguerif/tonverk-merger
通过逆向工程 Elektron Tonverk 项目文件格式,在本地浏览器界面中实现带完整闭包的 pattern 合并与重组管理,解决硬件上逐条复制粘贴效率低下的问题。
Stars: 0 | Forks: 0
# TONVERK 合并
使用 [Claude Code](https://claude.com/claude-code) 构建
**合并和管理 [Elektron Tonverk](https://www.elektron.se/explore/tonverk) 项目** —— 在项目之间复制 pattern,重新组织你的 bank 并准备 live set,无需在机器上逐个 pattern 地进行复制粘贴。
基于对 Tonverk 项目格式(RocksDB 数据库)的逆向工程,相关文档已在本仓库中记录。

## 功能介绍
- 在项目之间**合并 pattern**:包含完整的闭包(kit、sequence、p-lock、sample mapping、sample),并带有自动的 id remapping 和基于路径的 **sample 去重**
- **重新组织**:移动/复制/重命名 pattern,选择你的 bank,支持拖放操作
- 每次合并的**精确撤销**,自动带时间戳的备份,来源日志(每个 pattern 都知道它来自哪个项目)
- **可打印的 set-list**,**SD card 报告**(孤立的 sample、损坏的引用),**直接导出到 card** 并带有 sample 验证
- 本地浏览器界面,[Hundred Rabbits](https://100r.co) 风格:完全由键盘驱动,在 pattern 的实际 BPM 下显示 playhead,可选的界面声音
原始项目**绝不会被修改**:每次写入都会发送到专用的输出中。
## 快速开始
```
brew install rocksdb # once
python3 tonverk/app.py # then open http://localhost:8723
```
或者双击 `TONVERK MERGER.command`。将你的 Tonverk 项目文件夹(从 SD card 复制而来)放在仓库的根目录下——它们会被自动检测到。
为了实现与固件(RocksDB 8.1.1)严格一致的写入,请在本地构建 `ldb`——请参阅 `tonverk/tvmerge.py` 中的说明;该工具会在 `.rocksdb811/ldb` 中检测它并自动切换使用。
## 格式文档(逆向工程)
| 文件 | 内容 |
|---|---|
| [SCHEMA_SPEC.md](SCHEMA_SPEC.md) | 项目格式规范:RocksDB 容器、序列化、编码、sequencer、多 pattern 分配 |
| [PARAMS_REFERENCE.md](PARAMS_REFERENCE.md) | Preset 参数架构(sub-node、machine、param-id ↔ 名称映射) |
| [FINDINGS.md](FINDINGS.md) | 逆向工程日志、方法和证据 |
| [tonverk/PARAM_MAP.json](tonverk/PARAM_MAP.json) | 机器可读的 param-id 映射 |
## 免责声明
- 独立项目,**不隶属于 Elektron**。Tonverk 是 Elektron Music Machines 的商标。
- 基于 Tonverk OS **1.3.3** 进行开发和测试。请始终在你的项目**副本**上进行操作,并保留 SD card 的备份。
- 内置字体:[Share Tech Mono](https://fonts.google.com/specimen/Share+Tech+Mono) 和 [Silkscreen](https://fonts.google.com/specimen/Silkscreen)(SIL Open Font License)。
## 许可证
MIT
标签:Elektron Tonverk, RocksDB, 便携式工具, 数据合并, 文件格式逆向, 逆向工具, 音乐工具