mcpField
A
ace-step

ace-step

github.com/calesthio创意与媒体221108 次安装15 周前更新
代码仓库

关于 ace-step

ace-step 是面向音乐创作的 ACE-Step 工作流技能,适用于使用 ACE-Step 生成歌曲、配乐、人声轨或参考音频编辑的创作者。它强调本地生成、批量试听与人工筛选,并提醒输出仍需编辑、母带处理和权利核查。

主要功能

  1. 01文本生成音乐与歌词歌曲
  2. 02生成器乐、翻唱及风格迁移
  3. 03参考音频重绘、提取与补全
  4. 04分层轨道生成及完成
  5. 05本地推理与异步 REST API

适用场景

  1. 01为视频、广告或播客制作配乐
  2. 02根据歌词生成带人声歌曲
  3. 03围绕参考音频制作翻唱或编辑版本
  4. 04批量生成候选并筛选音乐方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/calesthio/generative-media-skills --skill ace-step

安装后在 Claude Code 中输入/ace-step确认已加载。

附带文件EVAL.md

详细介绍

ACE-Step 音乐制作

当任务需要使用 ACE-Step 或 ACE-Step 1.5 作为音乐引擎,或需要为歌曲、背景音乐、人声轨道、翻唱、混音、分轨或视频配乐素材选择开放权重/本地音乐生成方案时,请使用此技能。

将 ACE-Step 视为快速生成式音乐工作站,而非确定性的 MIDI 音序器。它能够遵循风格、歌词、结构、节奏、调性和参考音频方面的指导,但生成结果仍需试听、筛选、编辑、母带处理、版权检查和交付格式准备。

当前可依据的事实

以下文档事实已于 2026-07-10 根据 ACE-Step 官方 GitHub、Hugging Face 模型卡、官方文档和 arXiv 报告核实。

  • ACE-Step 1.5 是由 ACE Studio 和 StepFun 共同领导开发的开源音乐基础模型。它结合了规划语言模型与扩散 Transformer 声学渲染器。
  • 主要生成模式包括文本生成音乐、歌词生成歌曲、器乐生成、翻唱/风格迁移、重绘、LEGO/分层音轨生成、提取和补全。部分编辑模式的文档说明仅适用于基础模型。
  • ACE-Step 1.5 的 Hugging Face 官方模型卡列出了许可证 MIT、模型类型 Text2Music、支持 50+ 种语言,以及可在消费级硬件/本地运行的声明。GitHub 仓库采用 MIT 许可证。
  • 官方 API 为异步 API:使用 POST /release_task 提交任务,使用 POST /query_result 轮询,然后通过 /v1/audio?path=... 下载文件。
  • 可通过 audio_duration / duration / target_duration 控制时长;官方 API 文档列出的范围为 10-600 秒。技术报告称 v1.5 可生成从短循环到 10 分钟的作品。
  • API 文档列出的输出格式选项包括 flac、mp3、opus、aac、wav 和 wav32。
  • 官方模型库指南对 DiT 模型系列作了如下区分:
    • acestep-v15-turbo:速度快、SFT、8 步、高质量、中等多样性、中等可微调性;适合作为生产迭代的首选默认模型。
    • acestep-v15-base:50 步、启用 CFG、中等质量、高多样性、易于微调;当需要仅基础模型支持的任务、CFG、更高探索性、提取/LEGO/补全支持或训练/微调工作流时使用。
    • acestep-v15-sft:50 步、高质量、中等多样性、易于微调;当更看重 SFT 质量而非 turbo 速度,且不需要仅基础模型支持的功能时使用。
    • XL 模型使用更大的 4B DiT 解码器;官方文档称其目标是实现更高质量,但需要更多 VRAM:使用卸载/量化时需 >=12GB VRAM,不使用卸载时需 >=20GB。
    • LM 选项包括 acestep-5Hz-lm-0.6B、1.7B 和 4B;文档指出,更大的 LM 在作曲和旋律复制方面表现更强。
  • 官方文档指出,提供了适用于 Windows CUDA、Windows ROCm、Linux CUDA 和 macOS Apple Silicon MLX 的启动脚本。可将自定义启动设置保存在 .env 中,并使用 ACESTEP_CONFIG_PATH、ACESTEP_LM_MODEL_PATH、PORT 和 LANGUAGE 等变量。
  • ACE-Step DAW 是一个单独的 AGPL-3.0-or-later 项目,其分发义务与 MIT 模型仓库不同;不要假设 MIT 条款适用于捆绑 DAW 的部署。

来源:

判断 ACE-Step 是否适合

当用户需要以下内容时,优先选择 ACE-Step:

  • 本地/离线或可自托管的音乐生成;
  • 快速迭代大量完整歌曲候选版本;
  • 根据歌词生成演唱和伴奏;
  • 用于视频、广告、游戏或播客的纯音乐衬底;
  • 参考音频工作流,例如翻唱、重绘、提取、补全或风格迁移;
  • 开放权重模型的保管权,以及可复现的随机种子/模型元数据;
  • 完成设置后较低的边际成本,以及降低对托管式商业音乐生成器的依赖。

当用户需要以下内容时,不要把 ACE-Step 说成完美选择:

  • 保证与在世艺人、受版权保护的歌曲或唱片公司曲库相似的声音在法律上无风险;
  • 精确到音符级或字词级的时序控制;
  • 无需人工试听或母带处理即可直接用于广播的最终母带;
  • 除非确实有已部署的 ACE-Step 服务可用,否则需要云 API 服务等级协议;
  • 使用 ACE-Step DAW 时,若未经审查 AGPL 义务便要分发 DAW。

如果用户要求“做得像[艺人/歌曲]”,应将其转化为允许使用且不指向特定对象的音乐属性:年代、配器、速度范围、混音密度、人声表现力、和声风格、制作质感、情绪和结构。除非用户提供相应权利/同意,否则避免克隆受保护的人声或重现可辨识的旋律。

生产工作流

  1. 确定交付内容:纯音乐衬底、带人声的完整歌曲、循环钩子、翻唱、重绘/编辑、分轨提取、曲目补全或风格探索批次。
  2. 选择运行方式:交互式试听使用本地 Gradio,流水线/服务使用 REST API,脚本化本地生成使用 Python 推理;仅当需要逐层编曲且许可可接受时,使用 ACE-Step DAW。
  3. 选择模型:
    • 从 acestep-v15-turbo 开始,用于快速的文本转音乐/人声构思。
    • 对仅需基础模型的任务、CFG、提取、LEGO、补全、更广泛的多样性或微调,切换到 base 或 xl-base。
    • 仅在硬件支持且质量提升比延迟/VRAM 更重要时使用 XL。
  4. 将说明文本和歌词作为单独的控制项编写。
  5. 生成一批候选版本。仅在复现结果或对有潜力的结果进行小幅修改时使用固定随机种子。
  6. 先试听,再根据元数据评判。至少从结构、歌词清晰度、人声契合度、混音平衡、段落过渡、瑕疵和版权风险几个方面进行评分。
  7. 为每个选定的成品保存来源元数据:模型、LM 模型、任务类型、提示词/说明文本、歌词、时长、BPM/调性/拍号(如已设置)、随机种子、推理步数、引导/偏移设置、源音频/参考音频来源、输出格式和验证日期。
  8. 为目标用途准备素材:修剪前奏/尾奏、设置循环或淡入淡出、匹配响度、为旁白/对白留出余量、在可用且需要时导出分轨,并在有要求时记录 AI 参与情况。

提示词:说明文字、歌词和元数据

说明文字是主要的声音控制输入。它可以是简单的标签、以逗号分隔的描述词,也可以是自然语言。内容要具体到足以指导制作人,但不要堆砌过多,以免模型收到相互矛盾的目标。

好的说明文字可以包含:

  • 流派/子流派和时代;
  • 情绪和能量;
  • 用概括性描述表达的人声特征,不要克隆真人;
  • 主奏乐器和节奏组;
  • 制作质感和混音风格;
  • 预期用途:预告片配乐、TikTok 钩子、游戏循环、企业讲解视频配乐、播客主题曲;
  • 结构提示:前奏、高潮段、副歌、桥段、尾奏;
  • 限制条件:纯音乐、不要鼓、少量人声、不要重低音、结尾可循环。

对于有人声的歌曲,使用方括号结构标签编写歌词。确保歌词易于演唱。贯穿一个核心比喻或故事线。避免冗长的散文段落、不一致的段落标签,以及与说明文字相冲突的段落标签。

常见标签包括 [Intro]、[Verse 1]、[Pre-Chorus]、[Chorus]、[Bridge]、[Outro],以及 [Chorus - powerful] 或 [Bridge - whispered] 这类描述性变体。

对于纯器乐作品,在歌词中加入 [Instrumental],或使用器乐结构标签,例如:

[Intro - sparse pads]
[Main Theme - warm piano and soft pulse]
[Lift - added strings, brighter harmony]
[Outro - clean loopable tail]

元数据是可选的引导信息,而非严格的传输网格。若需求指定了速度范围、调性色彩、语言或目标时长,请使用元数据:

  • bpm:文档记录的范围为 30-300;常见速度比极端速度更可靠。
  • key_scale:示例包括 C Major、Am、F# Minor;常见调性更容易保持稳定。
  • time_signature:文档记录的 API 形式包括 2、3、4、6,分别对应 2/4、3/4、4/4、6/8。
  • audio_duration:文档记录的 API 范围为 10-600 秒;短片段和 2-4 分钟的歌曲通常比超长单次生成更稳妥。
  • vocal_language:歌词语言有要求时设置;否则由 LM 推断。

需要 LM 规划器为文本转音乐、LEGO 或补全任务生成代码或补充缺失的元数据时,请使用 thinking=true。官方 API 文档说明,封面、重绘和提取任务会跳过 LM。

用户提供了粗略的歌词/说明文字,并希望 LM 整理格式和元数据时,请使用 use_format=true 或 /format_input。如果含义或品牌用语很重要,请在制作前检查重新格式化后的歌词。

运行模式

REST API 模式

将此模式用于生产系统和视频流水线。提交任务、轮询状态,然后下载。

{
  "prompt": "cinematic synthwave product launch bed, 118 BPM, pulsing analog bass, glossy arpeggios, confident but not aggressive, clean mix with space for voiceover, 30-second social ad structure",
  "lyrics": "[Instrumental]\n[Intro - filtered pulse]\n[Main Theme - bright synth hook]\n[Lift - wider drums and strings]\n[Outro - clean button ending]",
  "model": "acestep-v15-turbo",
  "thinking": true,
  "audio_duration": 30,
  "bpm": 118,
  "time_signature": "4",
  "audio_format": "wav",
  "batch_size": 4,
  "use_random_seed": true,
  "inference_steps": 8
}

需要记住的 API 信息:

  • POST /release_task 返回任务 ID。
  • POST /query_result 接受任务 ID 列表,并返回状态:0 表示运行中,1 表示成功,2 表示失败。
  • 结果记录可能包含文件 URL、提示词、歌词、元数据、种子值、LM 模型和 DiT 模型。
  • 本地部署可以选择通过请求体中的 ai_token 或 Authorization: Bearer ... 进行 API 密钥身份验证。
  • 上传参考音频/源音频时,使用 reference_audio / ref_audio 或 src_audio / ctx_audio 等 multipart 字段。
Python/本地推理模式

当 Agent 需要本地脚本、直接管理文件或非 HTTP 集成时,使用 Python 推理。将生成的文件、参数和日志保存在项目资源目录中。具体的类/函数名称请以已安装版本的官方文档为准;ACE-Step 文档更新很快。

Gradio/UI 模式

需要人工判断审美时,使用 Gradio。批量生成、试听、标记候选结果、优化说明文字/歌词/元数据,然后导出最终音频和参数记录。这通常比追求一个“完美提示词”更好,因为音乐品味因人而异,种子/模型的微小变化可能造成显著影响。

ACE-Step DAW 模式

当用户需要创作分层作品,且新音轨会参考此前生成的音轨时,使用 ACE-Step DAW。托管或捆绑前,请检查 AGPL-3.0-or-later 义务。DAW README 说明,它会将 /api 代理到 localhost:8001 上的 ACE-Step 1.5 后端,也可以配置为使用云端 ACE Music API。

针对具体任务的指南

视频用器乐背景音乐

优先考虑易于编辑,而非追求整首歌曲的惊艳效果:

  • 询问或推断平台、时长、旁白/对白密度、情绪,以及是否需要循环/淡入淡出;
  • 除非用户明确想要歌词,否则避免繁忙的主唱人声;
  • 要求留出混音空间:“宽广但不杂乱”“无主唱”“控制低中频”“不影响对白”;
  • 生成时略长于所需时长,然后裁剪或循环;
  • 编辑时导出 WAV 或 FLAC,轻量预览则导出 MP3/AAC;
  • 在编辑后进行响度匹配,而不是编辑前。
带人声的完整歌曲

将创意写作与模型提示分开处理:

  • 让歌词符合适合演唱的结构;
  • 副歌保持简短且易于重复;
  • 使用标签标记演唱方式的变化;
  • 如果语言不明显或混杂,设置 vocal_language;
  • 批量生成多个候选版本,并评估歌词与提示的匹配度,而不只是氛围;
  • 仅当源音频和支持基础生成/编辑的模型可用时,才通过重绘修复薄弱片段。
翻唱与风格迁移

仅在拥有源音频及任何声音/风格参考的权利或同意时使用。避免克隆名人声音或进行误导性署名。模型可以转换源素材,但法律风险取决于源素材、参考内容、提示和分发情境。

操作上:

  • 通过 src_audio / src_audio_path 提供源音频;
  • 在支持的情况下设置 task_type="cover";
  • 调整 audio_cover_strength:文档说明,较低值用于风格迁移;
  • 不要将 thinking=true 用作此处的质量调节手段;官方文档说明,cover 任务会跳过 LM 规划。
重绘

使用重绘替换或重新生成某个时间段,同时保留周围内容:

  • 提供 src_audio;
  • 设置 task_type="repaint";
  • 指定 repainting_start 和 repainting_end;
  • 提供简洁的 instruction,并在支持的情况下提供描述所需替换内容的说明;
  • 试听两个边界处的过渡。
提取、LEGO 与补全

当文档所述任务需要时,使用支持基础任务的模型。

  • extract:从混音中分离出所需音轨;指令必须指出目标分轨。
  • lego:逐层构建,让后续部分“听到”先前的音轨;适用于鼓组 -> 贝斯 -> 和声 -> 主奏/人声等工作流。
  • complete:为未完成的音轨添加指定乐器;需要源音频、指令和描述所需风格的说明。

可用音轨名称和确切指令因版本而异。确定生产环境约定前,请查阅已安装的官方推理/API 文档。

LoRA 个性化

仅当用户拥有训练歌曲的权利,且希望打造可反复使用的风格/人物形象时,才使用 LoRA/LoKr。未经明确许可,不要使用商业歌曲、艺人曲库或私人录音训练。记录数据集来源和适配器版本。

优先将 LoRA 用于可复用的品牌声音标识、游戏原声风格、创作者片头曲风格,或获得授权的内部艺人风格。不要将其作为“创作一首著名艺人 X 的歌曲”的捷径。

迭代策略

先批量探索,再进行可控的优化:

  • 第 1 轮:使用宽泛的描述词 + 批量生成 4-8 个候选版本 + 随机种子。
  • 第 2 轮:保留最佳方向,移除相互矛盾的词语,必要时锁定时长/BPM。
  • 第 3 轮:仅当候选版本已接近目标,且你只测试一两处改动时,才固定种子。
  • 第 4 轮:使用编辑模式或后期制作进行局部修复,而不是重写整首歌。

常见问题及修复方法:

  • 混音浑浊:简化配器,要求编曲更稀疏、降低密度,并为旁白留出空间;
  • 副歌/钩子较弱:缩短副歌文本,将其标记为 [Chorus - powerful],添加一种令人印象深刻的乐器;
  • 歌词含混:减少每行的音节数,使用更清晰的结构标签,或尝试其他种子;
  • 输出平庸:补充制作背景,使用少见但协调的配器,并加入一个独特的节奏或和声提示;
  • 提示词冲突:移除相互竞争的流派、不可能实现的配器,或“柔和 激进 史诗 极简 极繁”的词语堆叠;
  • 时长偏差/重复:生成更短的片段,在后期剪辑或拼接;
  • 风格过于接近受保护的参考作品:改写为抽象属性后重新生成。

交付前 QA 清单

如果条件允许,请通过耳机和扬声器完整聆听。

检查:

  • 开头和结尾是否适合剪辑;
  • 是否存在明显的咔嗒声、音频中断、颤音、刺耳削波或音量骤变;
  • 歌词与已批准文本是否足够一致,能满足使用场景的要求;
  • 是否意外包含真实人物姓名、商标、侮辱性词语或不安全歌词;
  • 旋律/钩子是否有意抄袭受保护的作品;
  • 音乐是否为旁白、对白、音效或字幕留出了所需空间;
  • 循环点、淡入淡出和分轨在最终时间线上是否正常;
  • 导出格式是否符合下游需求;
  • 是否已保存元数据和来源/参考作品的出处信息;
  • 商业发行时,是否已记录 AI 参与情况以及许可/授权说明。

示例:30 秒 SaaS 发布会背景音乐

意图:为带旁白的产品发布视频制作背景音乐。

除非已安装运行时默认使用其他模型,否则使用 acestep-v15-turbo 快速构思。导出 WAV 以便编辑。

请求:

{
  "prompt": "premium minimalist SaaS launch underscore, confident and optimistic, 112 BPM, warm analog pulse, soft kick, muted claps, airy piano motif, restrained strings lift at the end, clean modern mix, no lead vocal, dialogue-safe, suitable for a 30-second product reveal",
  "lyrics": "[Instrumental]\n[Intro - soft pulse and piano]\n[Build - subtle percussion and wider pads]\n[Reveal - restrained strings lift]\n[Outro - clean button ending]",
  "model": "acestep-v15-turbo",
  "thinking": true,
  "audio_duration": 34,
  "bpm": 112,
  "time_signature": "4",
  "audio_format": "wav",
  "batch_size": 6,
  "inference_steps": 8,
  "use_random_seed": true
}

采用这种结构的原因:额外生成几秒以便留出剪辑余量,要求不含主唱,描述混音空间,并让结尾便于编辑使用。

可能出现的问题:主旋律过强或鼓点过密。可通过添加“不要独奏主合成器,不要繁忙的踩镲,为旁白留出中频空间”并减少配器来修复。

示例:多语言短歌演示

意图:制作一段 45 秒的双语创作者广告歌,不模仿真实艺人。

{
  "prompt": "upbeat indie pop jingle, friendly mixed English and Spanish vocal, handclaps, nylon guitar, light bass, bright chorus, social media creator intro, warm and human, not overproduced",
  "lyrics": "[Intro - guitar]\n[Verse 1]\nMorning light, we start again\nPequeños sueños, paso a paso\n[Chorus - bright]\nHere we go, aquí estamos\nMake it real, lo intentamos\n[Outro - claps]\nHere we go, aquí estamos",
  "model": "acestep-v15-turbo",
  "thinking": true,
  "vocal_language": "es",
  "audio_duration": 45,
  "bpm": 124,
  "audio_format": "wav",
  "batch_size": 4
}

采用这种结构的原因:歌词简短且易于演唱,描述词说明了双语意图,副歌可重复用于品牌宣传。

QA 重点:清晰度、语言混用是否生硬、人声瑕疵,以及广告歌能否剪辑为 10-15 秒。

示例:将有风险的用户提示改写为版权安全的风格

用户要求:“制作一首完全像 Taylor Swift 最新单曲的曲子,人声氛围也要相同。”

改为以下表述:

I can't help clone a real artist's voice or recreate a specific protected song. I can make a rights-safer pop track using broad attributes: confessional lyrics, bright acoustic guitar, clean pop drums, intimate female vocal tone, polished modern mix, and a lift into a catchy chorus.

然后生成:

{
  "prompt": "modern confessional pop, intimate female vocal tone, bright acoustic guitar, clean pop drums, polished radio mix, emotional but optimistic, catchy chorus, original melody, no artist imitation",
  "lyrics": "[Verse 1]\nI kept a note beside the door\nA little truth I hid before\n[Pre-Chorus]\nNow every streetlight points me home\n[Chorus - lifted]\nI am not the shadow anymore\nI open up the windows\nI am walking through the door",
  "model": "acestep-v15-turbo",
  "thinking": true,
  "audio_duration": 90,
  "audio_format": "wav",
  "batch_size": 4
}

示例:重绘较弱的桥段

意图:保留选定的歌曲,但替换 72-96 秒处平淡的桥段。

如果已安装模型/文档要求重绘使用基础模型,请使用支持编辑的路径或基础模型路径。

{
  "task_type": "repaint",
  "src_audio_path": "/project/assets/music/song_candidate_03.wav",
  "repainting_start": 72.0,
  "repainting_end": 96.0,
  "instruction": "Replace this bridge with a quieter half-time section, whispered vocal feel, reduced drums, and a smooth rise into the final chorus.",
  "prompt": "same song identity, intimate half-time bridge, sparse drums, warm pad, whispered vocal feel, smooth transition back to bright chorus",
  "model": "acestep-v15-base",
  "audio_format": "wav",
  "batch_size": 3
}

检查修复结果时,聆听 65-105 秒的片段,而不只是编辑范围。

评论

支持 Markdown