acep
ACE Studio 工程文件 `.acep` 的**格式与安全改写**:`ACEP2` 容器(1280 B 头 + 一个 zstd 帧,打包时**只有 3 个长度字段会变**、1248 B 高熵区原样复制)、payload 是 **CBOR**(不是 JSON;顶层 26 键 / 轨道 / pattern /…
Skill by Akunda123
Chalk Labs
Need help deploying acep?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/akunda123-acep
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/acep
What's inside
- Skill name
acep- Description
- ACE Studio 工程文件 `.acep` 的**格式与安全改写**:`ACEP2` 容器(1280 B 头 + 一个 zstd 帧,打包时**只有 3 个长度字段会变**、1248 B 高熵区原样复制)、payload 是 **CBOR**(不是 JSON;顶层 26 键 / 轨道 / pattern / notes 的形态,以及"**map/array 长度 = 元素个数**"这条能省掉整段重编码的关键性质)、参数曲线 lane 的编码(`values` = float64 大端 `0xfb`+8B = 9 B/值 ⇒ **等长原位覆盖**)与栅格(`offset` = 样本 0 的 tick,步长 15/16 tick = 1024 Hz 分析栅格)、六步安全写入(写副本 + 头原样 + 双重自检)、**rap 音高线**(`pitchDelta` 半音偏移;`rap-curve` 移植 SV1「语调教.js」的 0–4 调型表)与**歌词→声调序列**(`lyric-tones`:按词定音 / 纯表回退 + 21k 字声调表)、**ACE 加载时会复查什么**(合法的音素覆盖认账并报 `overrideLegal`;非法值被**静默丢弃并把工程弄脏**;**文件级的 `pitchDelta` 音高线改动 ACE 是认的** —— 重开 + 保存逐值保留、离线用 `--create-lane` 造的 entry 也留、渲染真按曲线唱,**已验 2026-10-04**;工程必须成"包" `<名字>\<名字>.acep` + `autosave\` + `Samples\`,光秃秃一个 `.acep` 会被当成"无名临时工程")、**三种壳**(在用 ACEP2 / 可读旧壳 `{"compressMethod"` / 已弃用的加密旧壳 `version:2`)、**三种画法都能手写**(曲线 `data` / **锚点 `anchor`** / 音符 `vibrato`,逐项真机验收)、**CLI 参数名↔文件字段对应表**(`dynamic` → `vocalControls.__dynamic`;`air` → **`mambaBreathiness`**;`tree-diff` 两快照取证)、以及**能力边界**(音高线是函数 ⇒ 交叉 / 圆环 / 线稿画不了,只能画"每列只有一段"的垂直凸图形,真画图回 SV 侧)。触发:.acep、ACEP2、ACE 工程文件、acep 文件格式/结构、直接改 ACE 工程文件、手改 .acep 写音高曲线、写 pitchDelta、**写音高锚点**、**rap 音高线/语调/声调**、**歌词自动识别、歌词→声调、多音字按词定音**、ACE 音高线能不能画、ACE 认不认手改的工程、**CLI 写的参数落到文件哪个字段**、zstd + CBOR、syllable/音素覆盖写进文件、ACE 工程文件夹里的 autosave / Samples 是什么、acep 自检回读、旧版 acep / 加密 acep。
- License
- MIT
- Instructions
- 604 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- description: longer than 1024 characters
- body: 604 lines (spec recommends under 500)
Files (8)
- SKILL.md
- char-tone.json · references/
- acep.cjs · scripts/
- f0-contour.cjs · scripts/
- lane-poke.cjs · scripts/
- lane-report.cjs · scripts/
- lyric-tones.cjs · scripts/
- tree-diff.cjs · scripts/
SKILL.md (first lines)
# `.acep` 工程文件:格式与安全改写
> 适用 **ACE Studio 2.1.8** · `acestudio-cli 0.17.0` · surface **17.1**(第三方宿主,**不走我们的桥**)。
> 本文数字全是**真机实测**(2026-10-04;样本 = 5.5 KB 单音符 Sing 工程 / 20.5 KB 带音高曲线工程 / 2 MB 真实歌曲工程 / 本机 93 个 `.acep` 普查)。
> surface 自述 pre-1.0、接口会变 ⇒ **先按 §0 判断该不该走文件**,别照抄本文。
## 0. ⛔ 先问三句(顺序不能反)
1. **CLI 能不能做?** 能 ⇒ **永远走 CLI**。CLI 有撤销栈(`history undo`)、指纹(`--if-match`)、原子拒写(失败什么都不改);
文件改**三样都没有** —— 没有撤销、没有指纹、没有校验回执,只有你自己写的自检。
已知**只有文件里才有**的典型:**人声音高曲线**(`vocalparam` 里 `pitch` 恒 `available:false`)—— 那才是走文件的理由。
2. **ACE 加载时会不会把我的改动丢掉?** 会(实测:非法音素覆盖被静默清掉,见 §5.1)⇒ 写完**必须让 ACE 读回来复核**。
3. **我怎么验收?** 只读命令能不能证明改动生效(`clip note-content` / `phoneme list` / `project info`)?
证明不了就别急着交付 —— 用**文件级自检 + ACE 读回**两层。
## 1. 容器:`ACEP2` = 1280 B 头 + 一个 zstd 帧
```
off 0 "ACEP2" + 01 01 00 魔数 + 版本三字节
off 8 u32 头部长度(= payload 起点;实测 1280)
off 12 u32 0
off 16 u64 压缩长度 ← 头长 + 压缩长 = 文件大小(可用来判"文件被截断没有")
off 24 u64 原始长度 ← 解压后应有的字节数
off 32..1279 1248 B 高熵区(香农熵 7.84 bit/B;gzip/deflate/brotli/裸 zstd 全解不开)—— 用途未知
off 1280 zstd 帧(魔数 28 b5 2f fd …),解出来就是 payload
```
### 1.0 万一打不开:`.acep` 还有两种历史壳(**正常情况不用管**)
> 当前格式就是 §1 的 `ACEP2`,**正常路径不需要判壳**。只有"解不开/首字节不是 `ACEP2`"时才对一下下面两条——
> 工具 `info` 会直接点名是哪种(`unpack` / `get` / `dump` 三种壳里可读的两种都认)。
- **历史一(可读、可编辑)**:首字节 `{"compressMethod":"zstd"` —— 包装 JSON(`content` = base64 的 zstd 帧、`salt`、`version:1000`),解出来是**内层 JSON 文本**。
改法**不是** §4,走 `set-json`(整树解析 → 改路径 → 重 stringify → 重 zstd → 重 base64 → 重建包装,只换 `content`)。
实测(`我曾遇到.acep`,2023-08,改轨名):**回读一致 ✅、包装键齐全 ✅**(内层 259,818 B → 文件 25,651 B)。
- **历史二(加密、已弃用,不处理)**:首字节 `{"content"` 且**没有** `compressMethod`(`salt` 是两段 `16 B*8 B`)——
`content` 解 base64 后 **zstd(含补魔数)/gzip/deflate/brotli 全解不开**、熵 **7.978 bit/B** ⇒ **是加密**。
**不尝试解密**(`info` 会明说"不碰");要那份工程只能用当年那版 ACE 打开后另存。
⚠️ `version:2` 只是它**唯一样本**的特征,**不是判据** —— 别拿版本号下结论。
> ✅ **旧壳会被 ACE 自己升级成新壳**(2026-10-04 实测,**很实用**):拿一份"历史一"工程(`senpa.acep`,213,087 B)
> 让 ACE `project open` → `project save`,落盘后 `info` 报 **`ACEP2`**、76,152 B,**内容无损**(67 个音符、23 条 `pitchDelta` entry 与值域原样)。
> ⇒ **想让旧工程走文件路线(如画音高线)**:先让 ACE 打开并保存一次,升成 `ACEP2` 再动手(我们的写工具只吃新壳)。
### 1.1 打包(重新压缩)时只动三处
| 位置 | 写什么 |
|---|---|
| `off 8` | 头部长度(**不变**,仍是 1280) |
| `off 16` | 新压缩长度 |
| `off 24` | 新原始长度 |
**其余头部字节从源文件原样复制**,尤其那 1248 B 高熵区。
> 为什么敢原样复制:拿一份 ACE 自己存的工程,只改 payload 里的一个文本项、其余头字节照抄 ⇒ 头部**逐字节相同**、ACE 正常打开
> ⇒ 这说明高熵区**不是 payload 的校验和**(payload 都变了它却没变),也说明它至少不拦这种改法。
## 2. payload 是 **CBOR**(不是 JSON、也不是自定义二进制)
### 2.1 顶层与对象形态
顶层是 map(实测 **26 键**):
```
version(22) versionRevision duration trackCells pianoCells colorIndex mergedPatternIndex
recordPatternIndex trackControlPanelW loop singer_library_id extraInfo patternIndividualColorIndex
tempoBrushOn minBpm(60) maxBpm(180) tempoTrackHeight canvas{width,height,frameRate,adaptive}
vocalControlRoute tempos[] timeSignatures[] master **tracks[100]** chordTrack videoTracks[] pianoDisplayConfig
```
- `tracks` 恒 **100 个槽位**(空槽也在,且被自动配色吃过颜色 —— 这就是 CLI 里"空轨道槽"的来源;读回来时空槽没有 `trackUuid`)。
- 轨道对象:`uuid/type/name/gain/pan/mute/solo/record/listen/color/externalFxChain/extraInfo/inputSource/`
`soundSourceMetadata/singers/choirConfig/roomEffect/language/recordMode` + **`patterns[]`**。
- pattern 对象:`uuid/name/timeUnit/pos/dur/clipPos/clipDur/enabled/color/fadeIn/fadeOut/extraInfo`
+ **`notes[]`** + **`parameters{}`** + `vocalControls{}`。
- 音符里的歌词/读音:`lyric`(字)+ **`syllable`**(音素覆盖,空格分隔符号串;`""` = 没有覆盖、用默认发音)
+ `freezedDefaultSyllable`(冻结的默认读音)+ `headConsonants` / `tailConsonants`(**头/尾辅音长度,秒**)
+ `brLen`(呼吸长度)+ **`phonemeTimings`**(v2 的 pins:**数组的数组** `[[符号, 秒], …]`)—— 时长的两套存法见 **§2.4**。
CLI 侧 `clip note-content` 的 `syllable` 字段就是它。
### 2.2 参数曲线 lane
```
tracks[i].patterns[j].parameters.<lane> = [ { type, offset, values }, … ] // 实测 1 条或多条 entry
```
| lane | 样本数 | `offset` | 说明 |
|---|---|---|---|
| **`pitchDelta`** | **3095** | **360** | **人声音高曲线**(半音偏移,相对音符音高)—— 文件里唯一能改音高的地方 |
| `vuv` | 3095 | 360 | 有声/无声(0/1) |
| **`energy` / `tension` / `air`(envelope 系)** | **1 样本/tick** | 段起点 tick | ✅ **2026-10-05 定量**:`vocalparam read --param energy --range-begin 10000 --range-end 11000` 回 **`count:1000`、每层 `points:1000`** ⇒ **960 Hz**(**不是** pitchDelta 的 15/16 tick/样本) |
| `gender` / `mamba*` | 空 | — | ⚠️ 只在**新世代(singing-mamba)** clip 上有;ACE 明说"lane exist on the singing-mamba generation, this clip's singer is verse24" |
**编码**:`values` 是 CBOR 数组,每项 `0xfb` + **float64 大端** = **9 字节/值**
⇒ **元素个数不变时可以直接原位覆盖**,**完全不用重编码 CBOR**。这是本技能所有写法的地基。
- ⚠️ **entry 里的 tick 是「片段内局部坐标」,不是工程绝对 tick**(2026-10-05 实测):
绝对位置 = `pattern.pos` + entry 的 `offset`/`points` 里的 tick。
证据:用户工程 `pattern.pos=3120`、`pitchDelta[0].offset=177` ⇒ 渲染音频的第一声正好在 `(3120+177)/960 = 3.434 s` ✓
(`notes[].pos` 也是同一个局部坐标系 ⇒ 画曲线时**不要**自己加 `pattern.pos`。)
- ⚠️ **一条 lane 可以有 N 条 entry(曲线是分段存的)**:实测一份 2023 工程 `pitchDelta` **95 条**、`tension` **85 条**、`vuv` **78 条**
(每条 entry 带自己的 `offset` + `values`);我们自己的新工程常见 1 条(一条 lane 一条 entry)。
- ✅ **ACE 保存时会"合并"分段**(2026-10-04 实测):我们写 3 条 entry(offset `0`/`1121`/`2243`,覆盖 tick `0–3362`),ACE `save` 后变成**1 条** entry(offset `0` / 3586 样本),
**值逐样本保留**(非零数与值域不变)。⇒ 多 entry 写是安全的;**别指望"写完还是几条"**,回读要按"合并后的那一条"比。
**⛔ 音高线有「三种画法」,落在「三个不同的地方」**(2026-10-05:用户指认画法 + 读其工程 `%USERPROFILE%\Documents\lala-resaved\未命名.acep` 照出存储位置):
| 画法(UI 口径,用户 2026-10-05 指认) | 存在哪 | 形态 | 坐标语义 |
|---|---|---|---|
| ① **曲线** | `patterns[*].parameters.pitchDelta[i]` | `type:"data"` + `offset` + `values`(float64 数组) | **delta(半音,相对音符音高)** |
| ② **锚点** | 同一个 `pitchDelta` 里的另一条 entry | `type:"anchor"` + `points` + `pointsVUV`(**没有 `offset`/`values`**) | **绝对音高**(不是 delta!)`points` = `[tick, 音高, tick, 音高, …]`;`pointsVUV` = 每点一个 `0/1` |
| ③ **颤音(跟随音符走)** | **`notes[k].vibrato`**(音符自己的字段,**不在 lane 里**) | 对象,8 个字段(见下) | **音符内偏移**(`startPos` 相对本音符起点)⇒ 音符一挪,颤音跟着走 |
⇒ 所以 ① ② 会**混在同一条 lane 里**(一串 entry,按时间顺序接力),③ 则完全不在 lane 里。
⇒ **三种都能手写**(2026-10-05 逐项验收,见 §5.5):① 等长原位覆盖;② 走 `scripts/acep.cjs anchor`(插 entry 只能追加到 lane 末尾);③ 走 `scripts/acep.cjs vibrato`(没有颤音的音符要**插键**)。
> 💡 ACE 自己就是这么说的(`vocalparam layers` 里 pitch 行 `available:false` 的 `unavailableReason` 原文):
> **"the channel stores a delta while the draw primitive takes absolute pitch, and anchors and vibrato ride on top"**From Akunda123/SVIXAGENT, MIT.
More from Akunda123/SVIXAGENT
- 0.655score
ace-studio-audio-plugins
Akunda123
How to drive the audio plugins ACE Studio hosts — third-party VST3/AU instruments and effects, and Studio's own built-in effects — through Studio's built-in…
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sv-lyricist
Akunda123
为 Synthesizer V / Instrument X 歌手创作中文/英文歌词的完整指南。基于主题/情绪/风格生成结构完整的歌词(intro/verse/pre-chorus/chorus/bridge/outro 及 build/drop/breakdown…
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sv-ix
Akunda123
Instrument X(IX)宿主实操手册 —— IX 与 SV2 的**运行时 API 差异**、**桥脚本安全守则**(哪些 API 会卡死/闪退宿主),以及 IX 独有的**音符技法(articulations)**全套:13 种技法全集 · **每乐器支持矩阵**(Tremolo 震音 / Trill…
SkillAFreshness: A★ 29Claude Code +9 - 0.652score
composition
Akunda123
写歌与编曲的实操手册(乐理/和弦进行/旋律创作/编曲配器/段落结构),并衔接 AKDAgent 的旋律/和弦生成工具。触发:用户要写歌、作曲、编曲、配和弦、设计和声进行、选配器/音色、定段落结构、判断旋律与和弦是否打架、给 sv_generate_melody…
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
ace-params
Akunda123
ACE Studio(第三方宿主,走它自己的 acestudio-cli / MCP,不经我们的桥)的**参数功能表与写法**:人声参数曲线的真机花名册(dynamic/air/falsetto/tension/energy + 不可用的 formant/pitch 及原因)、每个参数的 scale 与…
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
ace-studio-features
Akunda123
What ACE Studio's features are and when to reach for each one — track types and what makes sound on them, audio effects, Vocal Synth and its voice library, AI…
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
sv-texture
Akunda123
织体(texture / 伴奏型)配方手册 —— 专门讲"同一串和弦怎么铺开",并落到 AKDAgent 的工具与音符。含:织体类型学(柱式 / 分解 / 琶音 / 切分 / ostinato / 对位 / 长音铺底 / riff)· 段落↔织体对应与推进手法(加减层 / 换型 / 改密度 / 留白)· 落到…
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
ace-studio-workflows
Akunda123
Recommended end-to-end workflows in ACE Studio — the order to run features in, which feature to reach for at each step, and where the work has to leave Studio…
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
ace
Akunda123
【ACE 模式总入口】在 ACE Studio 里干活(或在 AKDAgent 里切到 ACE 皮肤 / 用户提到 ACE)时**先加载本技能**:它给 ACE 模式的分工表(该接着加载哪个官方技能、参数怎么写)、第一步在线自检、任务路线图(看工程 / 加内容 / 生成类 staged job / 出片 / 调声…
SkillAFreshness: A★ 29Claude Code +9 - 0.649score
sv-scripting
Akunda123
Synthesizer V Studio 脚本开发的完整参考,分三部分:api(API 参考,完整类文档)、函数(实用代码模式与官方示例)、流程(脚本类型/调试/最佳实践)
SkillAFreshness: A★ 29Claude Code +9 - 0.647score
sv-bridge
Akunda123
⛔ 已退役—— AKDAgent **旧的 JS 剪贴板桥**(SVAgentBridge.js)的历史参考:安装/运行方式、操作实现、ES5.1 约束、排错与扩展。**现役桥是 Lua 文件通道桥,请改用 akdagent-protocol 技能**;本技能仅在查阅旧剪贴板方案的实现细节时使用
SkillAFreshness: A★ 29Claude Code +9 - 0.646score
akdagent-protocol
Akunda123
AKDAgent 协议 v1 完整规范(**现役通道 = 纯文件通道**,剪贴板已整体退役):`akdagent-{req,res,hb,boot}-<host>.json` 的**字段与语义**(请求 `v/seq/id/op/args` ↔ 响应…
SkillAFreshness: A★ 29Claude Code +9
Signals
- Stars
- 29
- Forks
- 5
- Open issues
- 4
- Last commit (this folder)
- Oct 6, 2026 (1 month ago)
- Last release
- Oct 9, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Akunda123/SVIXAGENT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Akunda123
- 0.655score
ace-studio-audio-plugins
Akunda123
How to drive the audio plugins ACE Studio hosts — third-party VST3/AU instruments and effects, and Studio's own built-in effects — through Studio's built-in…
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sv-ix
Akunda123
Instrument X(IX)宿主实操手册 —— IX 与 SV2 的**运行时 API 差异**、**桥脚本安全守则**(哪些 API 会卡死/闪退宿主),以及 IX 独有的**音符技法(articulations)**全套:13 种技法全集 · **每乐器支持矩阵**(Tremolo 震音 / Trill…
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sv-lyricist
Akunda123
为 Synthesizer V / Instrument X 歌手创作中文/英文歌词的完整指南。基于主题/情绪/风格生成结构完整的歌词(intro/verse/pre-chorus/chorus/bridge/outro 及 build/drop/breakdown…
SkillAFreshness: A★ 29Claude Code +9 - 0.652score
composition
Akunda123
写歌与编曲的实操手册(乐理/和弦进行/旋律创作/编曲配器/段落结构),并衔接 AKDAgent 的旋律/和弦生成工具。触发:用户要写歌、作曲、编曲、配和弦、设计和声进行、选配器/音色、定段落结构、判断旋律与和弦是否打架、给 sv_generate_melody…
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
ace-studio-features
Akunda123
What ACE Studio's features are and when to reach for each one — track types and what makes sound on them, audio effects, Vocal Synth and its voice library, AI…
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
ace
Akunda123
【ACE 模式总入口】在 ACE Studio 里干活(或在 AKDAgent 里切到 ACE 皮肤 / 用户提到 ACE)时**先加载本技能**:它给 ACE 模式的分工表(该接着加载哪个官方技能、参数怎么写)、第一步在线自检、任务路线图(看工程 / 加内容 / 生成类 staged job / 出片 / 调声…
SkillAFreshness: A★ 29Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get acep running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
acep skill. Agent Mart. https://agentmart.dev/skills/akunda123-acep (last updated 2026-10-24)