Music to Video
heygen-com/hyperframes
Turns a music track into a beat-synced HyperFrames video such as a lyric video, slideshow or kinetic promo, with any supplied images or clips cut onto the beat grid.
Rock and band-format music as a style layer (乐队编制风格层) - what changes when five people in a room have to play it.
$ npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-style-rock-band --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/music-composition/skills/mc-style-rock-band .claude/skills/mc-style-rock-band && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mc-style-rock-band" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-style-rock-band into .claude/skills/mc-style-rock-band/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-style-rock-band", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-style-rock-bandType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-style-rock-band --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/music-composition/skills/mc-style-rock-band .agents/skills/mc-style-rock-band && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mc-style-rock-band" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-style-rock-band into .agents/skills/mc-style-rock-band/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-style-rock-band", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-style-rock-band --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/music-composition/skills/mc-style-rock-band .cursor/skills/mc-style-rock-band && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mc-style-rock-band" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-style-rock-band into .cursor/skills/mc-style-rock-band/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-style-rock-band", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jtydhr88/music-composition-skills.git --path plugins/music-composition/skills/mc-style-rock-band--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-style-rock-band --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/music-composition/skills/mc-style-rock-band .gemini/skills/mc-style-rock-band && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mc-style-rock-band" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-style-rock-band into .gemini/skills/mc-style-rock-band/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-style-rock-band", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jtydhr88/music-composition-skills mc-style-rock-bandInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/music-composition/skills/mc-style-rock-band .github/skills/mc-style-rock-band && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mc-style-rock-band" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-style-rock-band into .github/skills/mc-style-rock-band/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-style-rock-band", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-style-rock-band --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/music-composition/skills/mc-style-rock-band .opencode/skills/mc-style-rock-band && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mc-style-rock-band" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-style-rock-band into .opencode/skills/mc-style-rock-band/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-style-rock-band", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mc-style-rock-bandRock and band-format music as a style layer (乐队编制风格层) - what changes when five people in a room have to play it.
Mc Style Rock Band is an agent skill from jtydhr88/music-composition-skills. Rock and band-format music as a style layer (乐队编制风格层) - what changes when five people in a room have to play it. The band roster as a hard constraint, why rock opens with fewer instruments than any other style, power chords and the harmony rules that stop applying, and riff as the primary hook carrier - Rooksby's 30 riff types (interval / scale / chord based), riff length and the 3+1 repetition pattern, riff vs vocal (alternate, end-of-line, or sustain), where riffs sit in the form, variation devices…
Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `reference.md`).
The repository describes itself as: Professional agent skills for composing and arranging popular music. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7adca0c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mc Style Rock Band loads about 4.5k tokens when it runs. Until then it costs about 225 tokens; SKILL.md has 1,355 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jtydhr88/music-composition-skills at commit 7adca0c, republished under its MIT licence (© jtydhr88). 1,355 words, ~4,491 tokens.
.claude/skills/mc-style-rock-band/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.这个 skill 的组织原则不是"摇滚听起来怎样",而是:
当这段音乐必须由房间里的五个人同时演奏时,什么变了?
这个约束比"摇滚"这个风格标签管用得多,而且它同时覆盖
朋克、独立、放克、乡村摇滚、布鲁斯——语料里那一整包 Alt-Rock---Blues---Country-Rock---Indie---Funk---Reggae 就是这么打包的。
| 任务 | 读 |
|---|---|
| 判断乐队手法能不能搬走 | ★ §2 移植表 |
| 编制怎么定 | §3(★ 它是约束,不是调色板) |
| 开场怎么进 | ★ §4(实测:摇滚开场铺得最少) |
| 和声 | §5(★ 哪些通用规则在这里失效) |
| hook 放哪 | §6 riff |
| riff 怎么写(类型/长度/变形) | ★ §6.2–§6.6 + reference.md §1–§3 |
| riff 与人声怎么共处 | §6.4 |
| riff 与贝司/鼓怎么咬合 | ★ §6.7 |
| 双吉他怎么分工、调弦怎么选 | §3.3–§3.5 |
| 查 riff 分类表/谱例索引/术语 | reference.md |
| 听起来"拼出来的"不像演奏的 | §7 |
| 不归这里 | 归哪 |
|---|---|
| 打得像不像真人 | mc-rhythm-section(★ 通用,不限风格) |
| 吉他/贝司/鼓的乐器法 | 电吉他与电贝司的乐器法本库不转写,调弦与对 riff 友好的调见本 skill reference §6–§7;鼓组各件的编配见 mc-rhythm-section reference §2 |
| 失真音色怎么做 | 出库 → 声音设计与混音库(本库不覆盖吉他失真效果链;mc-sound-design 是合成器音色) |
| 频段预算 | mc-texture-layering |
| 曲式 | mc-form |
| 乐队录音的实操 | 出库 |
| riff 的指板指法、把位、推弦细节 | 出库(本 skill 只管写作与编排,reference 只记页号) |
| 拍号与 groove 的通用理论 | mc-rhythm-groove(本 skill 只记 riff 相关的拍号效果,reference §4) |
| 必填 | 问法 |
|---|---|
| ① 编制名单 | ★ 写死。几把吉他、有没有键盘。这是硬约束 |
| ② 现场能不能演 | ★ 决定能叠几层(§3.2) |
| ③ hook 在人声还是 riff | §6 |
| ④ 开场有几件在场 | ★ 实测摇滚只有 8%(§4) |
| ⑤ riff 是哪一型、几小节、下面是什么和弦 | §6.2、§6.3 |
| 手法 | 可搬出去吗 | 说明 |
|---|---|---|
| 编制即约束(先定名单再写) | ✅ ★ 可搬,而且该搬 | 无限音源的最大害处是永远不用做取舍 |
| 极稀薄的开场 | ✅ ★ 可搬(§4) | 实测摇滚在这一项上是极值,值得学 |
| riff 当 hook | ✅ 可搬 | 它就是 arrangement_hook(lint #8)的一种实现 |
| Power chord(平行五度) | ⚠️ 半搬 | 它是音色手段不是声部写作。搬进有真正声部写作的编制会撞规则(§5.1) |
| 全员齐奏的落点 | ⚠️ 半搬 | 在流行里很有效,但不能多——会盖掉人声 |
| 失真吉他的频段占用 | ❌ 不可搬 | 它几乎吃掉整个中频,别的风格承受不起 |
| "能演出来"这个标准 | ✅ ★ 可搬 | §7 |
★ 判据:
可以搬走它的纪律(编制约束、稀薄开场、能演出来), 不要搬走它的频谱占用方式(失真吉他 + 全员齐奏)。
乐队音乐与制作型音乐最根本的差别: 制作型音乐里"再加一层"是免费的;乐队音乐里加一层意味着多一个人或多一次叠录。
★ 这个约束是好事:
mc-texture-layering 开篇那句"音乐空间有边界,加超过限度就会覆盖已有内容",
在乐队编制里是物理事实,不是提醒。
| 说明 | |
|---|---|
| 现场能演 | 编制 = 人数。这条线上的编排最干净 |
| 可以叠录 | 双轨吉他、加键盘层、加和声。★ 但要问:这首歌现场怎么办? |
实务折中:核心四件(鼓/贝司/吉他/人声)必须现场成立, 叠录的层是色彩,抽掉之后歌还站得住。
| 编制 | riff 的写法 | 页 |
|---|---|---|
| Power trio/四人含主唱(只有一件和声乐器) | 倾向至少两个音的 riff,和弦类 riff 更有吸引力;单音 riff 里给某些音加三度以暗示和弦——两音都不是根音时最好,根音留给贝司 | Rooksby《Riffs》p0140、p0048 |
| 有第二把吉他 | 可以和声化 riff,单音 riff 可叠 | Riffs p0140 |
| 有键盘手 | 试更有"切割感"的单音 riff,键盘填和声;★ 让键盘手限制音数以服务 riff(Deep Purple 的做法) | Riffs p0140 |
| 无贝司(White Stripes 式) | 在五声小调的每个音上建大三和弦,得到六个大和弦的色板(reference §7) | Riffs p0123 |
★ 这是 §3.1 的推论:编制名单写死之后,riff 该有几个音、谁奏根音,就已经定了一半。
| 分工 | 说明 | 页 |
|---|---|---|
| 一把 riff、一把和弦 | 副歌里奏 riff 的吉他跟人声旋律走,另一把奏直八分音符和弦;riff 不被第二把吉他或贝司加倍,编曲更有呼吸感 | Riffs p0056 |
| 一把 riff、一把 shuffle | 和弦变到 C、D 时另一把奏标准 shuffle 而非移调的 riff,riff 在独奏后再现时显得新鲜 | Riffs p0038 |
| 两把相似但不同 | 两把吉他奏相似但不完全相同的 part(All Right Now);同一音阶 riff 部分音不同(Helicopter) | Riffs p0111、p0139 |
| 分音 | 快速五度一人难奏干净 → 两把各奏一个单音;三度和声两把各取一音 | Riffs p0139、p0178 |
| 双主音(twin lead) | 两把吉他奏以三度为主的平行线(Wishbone Ash、Thin Lizzy、Queen);三度在 1–2 弦或 3–4 弦最好,低音弦上发浑 | Riffs p0043 |
| 一把持续、一把 riff | 第一把不承载踏板音,立体声另一侧的第二把最终进入、用 D5 支持它 | Riffs p0091 |
| 左右分置 | intro 里 riff 只在中央出现一次,乐队进来后 riff 分裂为左右两把 | Riffs p0038 |
| 12 弦叠六弦 | 电 12 弦混小声叠在过载六弦上,高八度弦加泛音感 | Riffs p0139 |
★ 与 §5.1 的接口:双吉他各奏一条线时,平行五度的问题回来了;双主音的三度平行是它的语汇,不是错误。
(全表见 reference.md §6–§7。)写作阶段要知道的五条:
mc-sound-design 的音色决定同源。roster[].note。仓库实测语料,各风格"开场就在场的乐器占全部 roster 的比例":
| 风格 | 开场在场比例 |
|---|---|
| ★ rock | ★ 8% |
| jazz-acoustic | 16% |
| Alt-Rock 包 | 20% |
| pop | 21% |
| edm | 21% |
| hiphop-rnb | 24% |
读法:★ 摇滚是所有风格里开场最克制的。
为什么:因为它后面要全员齐奏。 如果开场就全员,全奏时就没有落差了。
实测同时印证了本库的强规则:「开场不该把乐器一次铺满」54/59 命中。 ★ 摇滚不只是满足这条,是把它做到了极值。
自检动作:★ 把你的开场编制数一遍。超过全部 roster 的 20%,就太满了。
| 指标 | rock | Alt-Rock 包 | pop |
|---|---|---|---|
| roster 规模(中位) | 30 | 38 | 36 |
| 中途进场的乐器数 | 26 | 28 | 29 |
| 提前退场的乐器数 | 18 | 16 | 16 |
⚠ 不要引用 BPM(beat tracking 在失真吉他上的可靠性未验证)。
mc-counterpoint reference §1 的规则 2:严格禁用平行五度与平行八度。
★ 在这里它不适用,但理由要说清:
Power chord 不是和弦,是音色。 它没有三音,不参与功能和声;平行移动它是在平移一个音色, 不是在做两个声部的运动。
★ 判据:问这两个"声部"有没有各自的旋律身份。 没有 → 它是音色,平行随便走。 有 → 平行五度的问题回来了(例如双吉他各奏一条线时)。
Rooksby 从音色角度给出同一结论:五度没有三音、非大非小,能耐受大量失真而在摇滚语境里保持有效,这与失真增强的泛音有关(Rooksby《Riffs》p0030);三度承载大小调的情感内容,在低音弦上发浑(Riffs p0030、p0096),所以摇滚 riff 三度用得少、五度用得多(Riffs p0043)。
C–G–F–C 这类"属到下属"的进行在古典和声里视为错误
(mc-harmony reference §5 的对照表)。
★ 在摇滚/民谣里它是标准语汇。 给三个和弦都加小七(C7/F7/G7)就得到带蓝调音的布鲁斯声音。
| 规则 | 说明 | 页 |
|---|---|---|
| 两个相距半音的大三和弦不在任何大调里 | 半音移位做成五度/大三和弦必出离调音,这是它"叛逆"的来源;朋克在 12 小节的每个和弦前加低半音的大三和弦 | Rooksby《Riffs》p0018–p0019 |
| bVII 是常态 | 全音移位抹掉导音,调式变 Mixolydian;I–bVII–IV 是摇滚核心进行;"每个大调 I–IV–V riff 可能对应两三个 Mixolydian I–bVII–IV riff" | Riffs p0022–p0023、p0097、p0100 |
| 五声小调上建大三和弦 | A 五声小调 → A、C、D、E、G 大三和弦,可再加 F;等价说法:大调扔掉减和弦与三个小和弦,3/6/7 音降半音转大三 | Riffs p0123 |
| 小和弦少见 | 摇滚偏爱五度,对小和弦的"过度情感"不安;最常见的小和弦 riff 是 I–VII–VI(Am–G–F) | Riffs p0104 |
| riff 的调式由下方和弦裁决 | 缺三音的 riff 被听成哪个调式,由节奏吉他/贝司决定;调式 riff 需要不削弱它的和声支持 | Riffs p0071、p0078 |
| 调式是风味不是全程 | 摇滚里调式很少以"纯"形式出现,旋律与和弦都守在调式内的更少 | Riffs p0077 |
| 隐含和弦 | 吉他静态、贝司在下移动造成和弦变化的错觉;同一五度换低音被听成不同和弦 | Riffs p0037、p0033 |
| 大七和弦在重型语境里 | 重摇滚少用(太甜),但与其力量结合时效果巨大 | Riffs p0137 |
这些与 §5.2 同源:摇滚和声的骨架是布鲁斯与 Mixolydian,不是功能大调。 mc-harmony 的功能规则在这里退到"骨架仍在"(§5.3),色彩由 riff 的音程决定(§6.2)。
在乐队音乐里,arrangement_hook(lint #8)通常就是一条 riff。
| 要点 | 说明 |
|---|---|
| 它是记忆点,不是垫底 | ★ 与 example-01 里"合成主音只弹 hook,不做垫底"同理 |
| 它需要空间 | riff 响的时候人声通常不唱(交替出现,mc-texture-layering §4.2 解法③) |
| 它要复现 | hooks.arrangement_hook.recurs_at 要写清在哪几段回来 |
| 它可以是节奏而非音高 | 一个特定的停顿/切分也能当 riff |
细则(分类表、重复模式、变形手法、谱例索引、术语)见 reference.md;下面是写 riff 时要过的七道关。
Rooksby 的工作定义:"短小、重复、令人难忘的乐句,通常在吉他低音区,集中了摇滚歌曲的大部分能量与兴奋"(Rooksby《Riffs》p0007)。四个词各是一条约束:
★ riff 的四种功能:节奏(让人动)、填充无人声的段落、动态对比(主歌收、器乐段用 riff 爆发)、临时替代和弦进行(Riffs p0008)。写之前先说出它在这首歌里承担哪一种。
判据:和弦进行也可以是 riff——只要重复得够频繁、且有定义明确的有力节奏型(Riffs p0013–p0014);反过来,同样的和弦在 intro/verse 里靠明确节奏成为 riff,到 chorus 就只是伴奏(American Idiot,Riffs p0100)。"这是 riff 还是伴奏"由节奏型决定,不由音决定。
Rooksby 分三组共 30 型(Riffs p0013;完整表见 reference §1): ① 两个单音之间的音程——半音/全音/八度/五度/四度/三全音/三度/六度/混合; ② 音阶——小调五声/布鲁斯/大调五声/大调/Mixolydian/自然小调/Dorian/Phrygian/Lydian/Locrian/半音阶; ③ 和弦——踏板音/持续音/琶音/大调和弦/Mixolydian 和弦/小调和弦/挂留/三和弦/转位/非常规。
写作时的判据不是"哪型好听",而是每一型自带的和声后果:
| 选了 | 就得接受 | 页 |
|---|---|---|
| 半音移位做成五度/大三和弦 | 必出离调音——这是"叛逆"的来源,也意味着它不在任何一个大调里 | Riffs p0018–p0019 |
| 全音移位 bVII→I | 导音没了,调式是 Mixolydian;bVII 和弦随之而来 | Riffs p0022–p0023 |
| 五度、四度、八度 | 非大非小,上面配什么和弦都行——和声由别人(贝司/节奏吉他)决定 | Riffs p0027、p0030、p0034 |
| 三度、六度 | 明确大小调;甜、缺攻击性;低音弦上发浑 | Riffs p0043、p0048、p0096 |
| 小调五声/布鲁斯音阶 | 在大调和弦上"硬",在小调和弦上融合、失去断言感 | Riffs p0053 |
| 大调五声 | 放在小调和弦上"相当糟" | Riffs p0063 |
| Dorian/Phrygian/Lydian/Locrian | 必须有不削弱它的和声支持,否则被听成别的(5.15 被听成 Mixolydian 而非 Dorian);调式多作"风味"而非全程纯用 | Riffs p0077–p0078 |
| 半音阶 | 需要稳定鼓点+清晰陈述的根音保住稳定性 | Riffs p0085 |
| 踏板音/持续音/转位/带空弦的和弦 riff | 移调会丢空弦,要在写作阶段"作曲解决" | Riffs p0122 |
| 非常规和弦 | 节省用——"没有正常,就不知道什么是奇怪" | Riffs p0116 |
失效条件:riff 缺三音时(多数五度/四度/八度/五声 riff 都缺),它的调式由下方的和弦决定——Taxman、Paperback Writer 被听成 Mixolydian 而非五声,是节奏吉他的大三和弦干的(Riffs p0071)。所以单写 riff 不算写完,得写出它下面是什么。
不对称 riff(怪音阶、怪重音、不可预测的跳进、变拍号)对演奏者有趣,但较少引起公众共鸣(Riffs p0013)——想要 Smoke On The Water 那种就别堆。
a1 a1 a1 a2;八小节 a1 a1 a1 a2 / a1 a1 a1 a3;十六小节末尾再加 a4;问答式 a1 a2 a1 a3(Riffs p0129–p0130;全表见 reference §2.2)。自检:数一下 riff 在进人声前响了几遍——四遍以上且没有任何变体(重音、贝司音、加乐器),就已经在消耗它。
两种关系都合法,但要选:
| 关系 | 怎么做 | 页 |
|---|---|---|
| 交替(riff 响时不唱) | riff 填无人声的段落;主歌收、器乐段爆发 | Riffs p0008 |
| riff 落在句尾 | riff 嵌在每句歌词的结尾,不分散对歌词的注意力(Queen Bitch);riff 作为歌词的"确认"而非同时进行(The Thunderthief、Money) | Riffs p0099、p0145 |
| riff 持续、人声在上 | 硬摇滚/金属里 riff 从 intro 持续到主歌,人声在其上唱 | Riffs p0130 |
| 人声骑在 riff 之上 | 旋律不跟 riff 走而"骑"过去,建立对位节奏(Howlin' Wolf) | Riffs p0046 |
| 主歌换材料 | 人声在单一静态和弦上、随后接更忙的 riff——静态和弦不会分散对人声的注意力 | Riffs p0047 |
★ 让 riff 与人声同时成立的三个条件(Riffs p0131):复杂的 riff 会分散对旋律的注意力,且不像和弦那样提供和声支持;要在 riff 上叠旋律,就 ①旋律节奏匹配 riff 节奏;②旋律选与 riff 音和声协调的音;③riff 有间隙时把旋律放进间隙。
音区解法:低音区 riff 不像高音吉他 riff 那样与主唱冲突(Ball Of Confusion,Riffs p0056);高吉他 riff+低贝司的配置在编曲中间留出空间给人声(U2,Riffs p0037);主歌里 riff 吉他退出混音、只留贝司奏 riff(Smells Like Teen Spirit,Riffs p0131)。
失效条件:riff 里有会撞歌词的音,人声一进就把它删掉——Are You Gonna Go My Way 主唱进入时 riff 的四度消失(Riffs p0062);riff 的上行跑句要落在歌手乐句之间的空隙,它才能同时是伴奏和 hook(Street Life,Riffs p0065)。
Rooksby 列出的位置:intro;主歌里持续;主歌与副歌之间的连接;独奏下方或引出独奏;coda 再现(Riffs p0131)。每个位置有各自的策略:
| 位置 | 策略 | 页 |
|---|---|---|
| intro riff | 先给缩短版(五个音、停在未解决的音上),再给完整版——"写一条 riff,再做一个缩短版来延迟完整版的出现" | Riffs p0095 |
| intro 像从 12 小节的第 9 小节进入,增强 riff 进入时的冲击 | Riffs p0025 | |
| riff 延迟进入:序列合成器→钢琴→鼓→第一段主歌之后吉他 riff 才来 | Riffs p0099 | |
| 前 5 秒抓耳:贝司 E 八度对吉他 Bb 八度的三全音 | Riffs p0041 | |
| verse riff | 主歌简化、副歌或连接段保留完整形式 | Riffs p0131 |
| 主歌只留贝司奏根音、和弦是暗示的;或贝司单独奏根音撑第三段主歌,再由左右两把吉他加倍 | Riffs p0098、p0102 | |
| 贝司 riff 撑第一段主歌(只配镲与人声),其他乐器进来但贝司持续到副歌——"riff 持续、上方发生别的事"造张力 | Riffs p0070 | |
| 主歌 riff 无贝司,贝司到副歌才进 | Riffs p0111 | |
| 过门 riff | 用琶音 riff 连接副歌与主歌;第一副歌后的第二条 riff 作为通往第二主歌的链接 | Riffs p0094、p0070 |
| 独奏段 | 独奏常用简化形式、上全音移调 | Riffs p0064、p0121 |
| coda | 结尾移调给听多次的 riff 注入新生命;把 riff 移到 E 用到吉他与贝司的最低音,力量最大 | Riffs p0120、p0082 |
| 一条 riff 撑全曲 | 两小节 riff 撑整首、只靠偶尔重音变化(Louie Louie,Riffs p0100);三种变体承载整首歌(Ain't Talkin' Bout Love,Riffs p0096)。前提是 riff 有变体等级(§6.3) |
贝司进入时机(Riffs p0139):别在第一分钟用光弹药——①贝司先低八度叠吉他,稍后再低一个八度;②贝司先奏踏板音再进齐奏;③贝司先奏 riff、吉他再叠上。
自检:hooks.arrangement_hook.recurs_at 里每一次出现,都写得出"这一次与上一次的差别"(简化/完整/移调/换低音/换乐器)。一模一样出现三次以上,就是 §6.6 的手法没用上。
按 RHM 三个面改,不要把 riff 当完成品,而是"只展示了一面的物体"(Riffs p0118;全表见 reference §3):
| 面 | 手法 | 一句话 | 页 |
|---|---|---|---|
| 节奏 | 测速度 | 目标是不失去 riff 身份的最快速度,不是能奏的最快;demo 常偏慢 | Riffs p0118 |
| 节奏 | 减时 | 结尾把四小节 riff 压成两小节,听众感觉加速而速度未变 | Riffs p0134 |
| 节奏 | 移重音/反转时值/移一拍 | 在重复中加原本没有的重音;附点八分+十六分反过来;某些音前后移一拍或半拍 | Riffs p0134、p0060 |
| 节奏 | 换拍号 | 4/4 放进 5/4 多出一拍休止给鼓 fill;插一小节 3/4 让下一段早一拍到 | Riffs p0135、p0132 |
| 和声 | 重配和声 | 大→关系小;只含五度/四度的 riff 在不同段落分别配大、小和弦 | Riffs p0119 |
| 和声 | 改贝司音 | 齐奏 riff 改贝司音暗示转位;第一转位不如根音齐奏"稳",可用来延迟根音齐奏的出现 | Riffs p0119 |
| 和声 | 换语境不换音 | riff 不动、和弦走 Em→G→C→F(Androgyny);"改变被听见的语境而非改变音符" | Riffs p0119–p0120、p0184 |
| 和声 | 局部和声化 | 只在最后一小节上方加几个音;三度/六度带大小调色彩,四度/五度/八度保持空洞;选八度时看人声线的音高 | Riffs p0140 |
| 音高 | 移调(跟结构) | 12 小节里先上四度再上五度,一条单小节 riff 撑完 12 小节 | Riffs p0120–p0121 |
| 音高 | 移调(不跟结构) | 最常见上大二度(第二副歌后为独奏);小三度;沿五声音阶依次移;要不安就用半音或三全音 | Riffs p0121–p0122 |
| 音高 | 八度叠加 | 同音高叠 2–3 轨后再加不更响;改叠不同八度 | Riffs p0139 |
| 形式 | 逐遍发展 | A5 节奏→加小三度→小三度变 bIII 和弦→跑句加厚;"发展在摇滚里几乎不用",所以偶尔用有奇效 | Riffs p0177、p0175 |
失效条件:
★ 这是 riff 能不能"像演奏的"的关键,与 §7 直接相连。
与鼓(Riffs p0135):
与贝司:
bass_kick_relation 结合式的 riff 版本。自检(写完 riff 必做):
这是乐队风格最常见的失败,而且它有具体成因:
| 成因 | 解法 |
|---|---|
| 每件乐器都完美对齐网格 | → mc-rhythm-section §2.2:逐乐器量化,留一件不量化 |
| 全员从头响到尾 | → 至少一件提前退场(59/59 强规则) |
| 没有人在回应别人 | ★ 乐队音乐的本质是互动:吉他在人声句间填,鼓在吉他 riff 落点上重,贝司跟着底鼓走或故意不跟(→ mc-rhythm-section §7.1) |
| 动态全程一致 | 真乐队在主歌会自动收,副歌会自动放。→ energy_curve |
| fill 落在 4 的倍数 | → lint #10 |
| riff 和鼓同时砸满 | → §6.7:"所有人同时演奏不会更重,只会更弱"(Rooksby《Riffs》p0146);在军鼓处给 riff 留空 |
| riff 每遍一模一样 | → §6.3、§6.6:3+1 变体、改贝司音、换语境不换音 |
★ 一个最直接的自检:
想象这五个人在房间里。他们在听彼此吗? 每一层都说得出"它在回应谁",这首歌就会像演奏的。
| 字段 | 本 skill |
|---|---|
meta.style_layer | mc-style-rock-band |
arrangement.roster | ★ §3 —— 先定名单,它是约束 |
roster[].entry | ★ §4 —— 开场在场的不超过 20% |
hooks.arrangement_hook.what | §6.1–§6.2 —— 写出 riff 的类型(reference §1 的名字)、长度(小节数)、它下方的和弦(§6.2 失效条件) |
hooks.arrangement_hook.first_at | §6.5 —— 缩短版先出,还是完整版直接出;贝司什么时候进 |
hooks.arrangement_hook.recurs_at | §6.5 —— 每次出现写差别(简化/完整/移调/换低音/换乐器) |
form[].harmony | §5.4 —— bVII、五声小调上的大三和弦是常态,不需要豁免 |
form[].note | §6.6、reference §4 —— 拍号变化(插 3/4、5/4 段)写在这里 |
meta.key | §3.5、reference §7 —— 调要对吉他友好(E、A、F#、B 一类);不友好的调写出理由 |
roster[].note / roster[].timbre | §3.5 —— 调弦(drop D/open G)与指型记在 note;改了调弦,timbre 里的失真度要降 |
depth_map | §6.4 —— riff 与人声同时在前景时,riff 要么在低音区要么在高音区,不占中间 |
groove.quantize_policy | §7 —— 留一件不量化 |
bass_kick_relation | 结合式(重)或交织式(有旋律感)。§6.7 —— 贝司对 riff 是加倍/奏根音/奏踏板音/奏转位低音,四选一写清 |
checks.exemptions | ★ 用 power chord 的平行五度不需要豁免(§5.1 已说明它不是声部写作),但双吉他各奏一条线时要注意;双主音的三度平行是语汇(§3.4) |
arrangement_hook 有一条 riff,且写了它在哪几段复现rock 10 首、Alt-Rock---Blues---Country-Rock---Indie---Funk---Reggae 10 首。
★ §4 那条"开场 8%"是本 skill 最实的一条依据。mc-harmony reference.md §5、
mc-counterpoint reference.md §1.1Alt-Rock---Blues---Country-Rock---Indie---Funk---Reggae)
没有拆开,所以本 skill 的实测数字不区分放克与雷鬼。© jtydhr88, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in plugins/music-composition/skills/mc-style-rock-band of jtydhr88/music-composition-skills.
Open the folder on GitHubat commit 7adca0c
Mc Style Rock Band next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mc Style Rock Band this skilljtydhr88/music-composition-skills | 154 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Music to Videoheygen-com/hyperframes | 60k | 3 repos | ~4.7k | Automated safety check: Notes | Apache-2.0 | |
| MiniMax Music Generationbytedance/deer-flow | 84k | — | ~717 | Automated safety check: Pass | MIT | |
| Venice Audio Musicnexu-io/open-design | 100k | — | ~297 | Automated safety check: Pass | Apache-2.0 | |
| AI Music Albumnexu-io/open-design | 100k | — | ~328 | Automated safety check: Pass | Apache-2.0 | |
| Music Generation Studiosickn33/agentic-awesome-skills | 47k | 1 repos | ~3.1k | Automated safety check: Pass | MIT-0 |
heygen-com/hyperframes
Turns a music track into a beat-synced HyperFrames video such as a lyric video, slideshow or kinetic promo, with any supplied images or clips cut onto the beat grid.
bytedance/deer-flow
Generates songs, jingles or instrumental tracks as MP3 files from a style prompt and optional lyrics through the MiniMax music API.
nexu-io/open-design
Music generation queueing, retrieval, and completion endpoints via Venice.ai.
nexu-io/open-design
Full-lifecycle AI music album production — concept, lyric drafting, track sequencing, and export.
sickn33/agentic-awesome-skills
Install and use the official AI Music Generator package, pinned by digest, for paid hosted work on the Beatra service.
ruvnet/ruflo
List the account's saved music productions with metadata and audiourl
jtydhr88/music-composition-skills
The post-generation AI-tell audit (AI 味诊断). An agent skill from jtydhr88/music-composition-skills.
jtydhr88/music-composition-skills
Arrangement architecture (编曲结构学) - the shape of a track over time rather than its notes.
jtydhr88/music-composition-skills
The corpus layer (语料层) - how real recordings are made to testify for or against the textbook rules.
jtydhr88/music-composition-skills
Thematic development (乐思发展层) - what the theme is and what each section does with it.
jtydhr88/music-composition-skills
Song form and section design (曲式与段落) - the terminology, the standard templates, and how to build a setsu backwards from the chorus.
jtydhr88/music-composition-skills
Melody writing (旋律法) - what a melodic line expresses and how to make it singable.
Rock and band-format music as a style layer (乐队编制风格层) - what changes when five people in a room have to play it. Mc Style Rock Band is an agent skill from jtydhr88/music-composition-skills. Rock and band-format music as a style layer (乐队编制风格层) - what changes when five people in a room have to play it.
Mc Style Rock Band fits situations like: arranging for a band lineup; A track needs a riff hook; A riff sounds monotonous; fights the vocal.
Run `npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a claude-code`. Or copy the skill folder (plugins/music-composition/skills/mc-style-rock-band in jtydhr88/music-composition-skills) into .claude/skills/mc-style-rock-band in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a codex`. Or copy the skill folder (plugins/music-composition/skills/mc-style-rock-band in jtydhr88/music-composition-skills) into .agents/skills/mc-style-rock-band in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jtydhr88/music-composition-skills --skill mc-style-rock-band -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mc-style-rock-band, .gemini/skills/mc-style-rock-band, .github/skills/mc-style-rock-band and .opencode/skills/mc-style-rock-band in your project.
SKILL.md names no scripts, command-line tools or credentials: Mc Style Rock Band is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mc Style Rock Band is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mc Style Rock Band: Music to Video (heygen-com/hyperframes, 60k stars), MiniMax Music Generation (bytedance/deer-flow, 84k stars), Venice Audio Music (nexu-io/open-design, 100k stars) and AI Music Album (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jtydhr88 (a GitHub user) maintains it in jtydhr88/music-composition-skills, which has 154 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on September 22, 2026.
Source: jtydhr88/music-composition-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.