mcpField
S
scenario-ace-step

scenario-ace-step

github.com/scenario-labs创意与媒体1.2k402 次安装1 天前更新
代码仓库

关于 scenario-ace-step

scenario-ace-step-step 是面向 Scenario 音乐制作的技能,涵盖 ACE-Step 1.5 的文本生成、翻唱、局部重绘和分轨编辑。它按任务选择独立模型,并指导如何检查模型参数、迭代歌曲及验证编辑结果。

主要功能

  1. 01文本生成完整歌曲
  2. 02翻唱与局部重绘
  3. 03添加、补全或提取音轨
  4. 04Turbo 与 Quality 模型选择
  5. 05歌词与段落提示指导

适用场景

  1. 01从歌词和风格描述制作歌曲
  2. 02重绘歌曲片段以替换歌词
  3. 03为录音添加匹配的音轨
  4. 04从混音中分离指定音轨

MCP 相关

该技能围绕 Scenario 的 MCP 工具使用流程,指导通过 search 发现模型、用 model_schema_get 查看参数,并调用 model_run、作业及资源工具。

安装

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

$npx skills add https://github.com/scenario-labs/skills --skill scenario-ace-step

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

详细介绍

Scenario ACE-Step 音乐

概述

Scenario 上的 ACE-Step 1.5 音乐制作系列将每种模式拆分为独立模型:文本生成音乐、翻唱和重绘各有 Turbo 与 Quality 两种版本,此外还有一组三个全质量编辑模型(添加音轨、完成曲目、提取分轨),编写本文时共九个成员。使用 search 发现它们,按模式名称选择成员,并将 model_schema_get 视为接口规范。

关于连接和核心循环,请参阅本仓库中的 scenario 技能;关于与模型无关的音频工作,请参阅 scenario-audio 技能。如果此处提及的同级技能不在你的可用技能中,请让用户安装它(npx skills add scenario-labs/skills --skill <name>);无人值守时,根据工具架构继续操作,并指出这一缺失。

快速参考

模式关键输入行为
文本生成音乐prompt 或 lyrics(任一即可)完整歌曲;duration 为 10 到 600 秒(留空则由模型选择),以及 bpm、keyscale
翻唱srcAudio(+ referenceAudio)为歌曲重新设计风格,或用新的 lyrics 重新演唱;audioCoverStrength 设置原曲保留程度
重绘srcAudio + 时间窗口原位重新生成 repaintingStart 到 repaintingEnd 的部分,保持长度不变
添加音轨srcAudio + trackName + prompt添加一个与调性、速度和律动匹配的分轨,可选指定时间窗口
完成曲目srcAudio + completeTrackClasses + prompt围绕部分录音编排分轨(Vocal2BGM)
提取分轨srcAudio + trackName从混音中分离一个分轨

数值范围以编写本文时为准:请通过 model_schema_get 查看上限。分轨字段必须使用十二个固定值之一(人声、和声、鼓、贝斯、吉他、键盘、打击乐、弦乐、合成器、音效、铜管、木管),不能填写自由文本。srcAudio 是单个音频资源:先使用 upload_asset,或复用已生成的资源 ID。所有成员均支持:numOutputs(1 到 4)会按倍数增加费用,thinking(默认为 true,提取分轨除外)会执行规划步骤;如有 vocalLanguage,默认会自动检测。只有三个编辑模型支持 guidanceScale,只有翻唱支持 audioCoverStrength;repaintingEnd: -1 表示重绘至曲目结尾。

版本选择

Turbo 和 Quality 同级模型接受相同参数,但编写本文时,只有 Repaint Turbo 支持 audioFormat(mp3、wav、flac)。该系列中没有任何成员暴露 seed,所以对同一时间窗口进行两次重绘,就会得到两个不同版本,歌手也可能有所变化。重绘会重新生成该时间窗口;不要假设它会保留原始人声。使用 numOutputs 批量生成后再挑选,而不要为匹配效果反复运行;在重绘已唱出的歌词前,请先阅读下一节。其他系列中的某些片段编排器则恰好相反:它们支持 seed,但不支持 numOutputs;这一规则见 scenario-audio。Quality 是完整尺寸的检查点,针对保真度和提示词遵循度进行了调优;Turbo 则通过蒸馏提升速度,且编写本文时费用只有一半。先用 Turbo 反复调整(歌词、结构、时间窗口),再用选定版本的参数运行 Quality 同级模型。三个编辑模型都没有 Turbo 版本。duration 和 numOutputs 都会影响价格,因此生成长曲目或批量运行前,请使用 dry_run=true。

创作歌曲

将 prompt 保持为一行风格说明(流派、情绪、乐器、制作),并将歌词放在 lyrics 中,用分段标签组织,例如 [Verse]、[Chorus],在标签内标注演唱指示,例如 [Bridge - whispered],和声放在(括号)中,用大写字母表示高声演唱的歌词。无演唱的音乐应设置 instrumental: true,而不是在说明中写“no vocals”。速度和调性有专用字段(bpm、keyscale,例如 "C Major"),不要写在说明中。

无需重新生成即可编辑

  • Cover 会保留可辨识的结构;audioCoverStrength 接近 1 时会忠实保留编曲,0.5 到 0.6 时会改变流派,同时保留钩子,约 0.2 时只会借鉴情绪。referenceAudio 可选地提供流派和感觉;改写后的歌词放在 lyrics 中。
  • 如果要修正歌词,且必须保留源音频中的人声(例如唱错了一句,或必须改掉某个名字),可以尝试 Cover:将整段录音放在 srcAudio 中,将修正后的歌词放在 lyrics 中,将 audioCoverStrength 设为默认值 1,并将 numOutputs 设为最多 4,以便挑选录音版本。较高的强度会倾向于保留源音频,但不保证歌词、人声、演绎或时序都得到修正。仅凭波形差异既不能证明人声发生变化,也不能证明存在可听见的拼接。在编辑前,应将候选版本与母带试听对比,并在两段录音中定位替换片段的边界。如果无法试听,或没有候选版本符合要求,请交付候选版本供审核,并保持母带不变。验证后,只保留修正片段:使用 model_scenario-audio-cut(一个固定的一方 ID,是 Scenario 唯一确定性的音频裁剪器,因此发现它只会重新推导出该 ID)从选中的版本中剪出片段,使用 asset_download 下载该片段和母带,然后在本地拼接。没有 MCP 工具可以合并两个音频文件,因此拼接需要在下载的文件上进行,不应通过再次运行来填补缺口;如果该曲目配有视频,则由 scenario-video-assembly 中的合成器将片段作为音频层铺在视频片段上。
  • 如果可以接受为 Repaint 窗口中的那一段重新录制,请以 "Repaint the selected section with new sung lyrics:" 开头填写 prompt,在 lyrics 中传入完整歌词,并将新段落放在对应位置,同时设置 thinking: false。请预期该段会使用新的人声录制版本。
  • Complete Track 最适合处理旋律和节奏清晰的源音频。

示例:修正生成歌曲中的副歌

  1. 使用 target="models"、query="ace-step"、public=true 进行 search。按模式名称选择成员,例如 model_ace-step-1-5-turbo-text-to-music 和 model_ace-step-1-5-turbo-repaint(撰写本文时可用的结果:每个会话都要重新发现)。
  2. 运行前,先对每个 ID 调用 model_schema_get。
  3. 对 Text to Music 成员调用 model_run,并设置 dry_run=true,以及 parameters={"prompt": "indie folk, warm, fingerpicked guitar, soft female vocals", "lyrics": "[Verse]\n...\n[Chorus]\n...", "duration": 90, "vocalLanguage": "en"}; 更改 duration 或 numOutputs 后重新估算。
  4. 使用 wait=false 重复调用,然后通过任务 ID 调用 jobs_wait;超时时使用 pending_job_ids 再次调用,切勿再次调用 model_run。
  5. 使用 asset_display 试听;记录副歌片段的时间范围,例如 24 到 52 秒。
  6. 确定修正必须保留哪些内容。若要为副歌重新录制,且可以改变人声,请使用 Repaint 成员:调用 model_run,并传入 parameters={"srcAudio": "<asset id>", "repaintingStart": 24, "repaintingEnd": 52, "thinking": false, "prompt": "Repaint the selected section with new sung lyrics:", "lyrics": "<full sheet with the new chorus in place>"}。 如果必须保持源人声的连贯性,请改用 Cover 成员:传入 parameters={"srcAudio": "<asset id>", "lyrics": "<full sheet with the new chorus in place>", "audioCoverStrength": 1, "numOutputs": 3}, 然后先试听,再按照“无生成即可编辑”一节中的说明剪切并拼接。
  7. 再次试听,然后使用 asset_download 下载选中的版本(下载音频时省略 format)。

常见错误

  • 期待一个模型自行推断模式:每种模式都是单独的成员;请从 search 中按名称选择。
  • prompt 中的歌词单会限制在 512 个字符以内,并承载风格信息;歌词应放在 lyrics 中。
  • 在 trackName 或 completeTrackClasses 中使用自由文本声部名称(“kick drum”):只有十二个固定值有效。
  • 不带配方就重新绘制新唱的歌词:哨兵提示词、包含新段落的完整歌词单,以及 thinking: false 必须搭配使用。
  • 为修正一行演唱歌词而重新绘制,并期待歌手保持不变:没有种子值来固定一次演绎,而且窗口会重新生成,因此人声可能会变化。使用完整的 audioCoverStrength 和修正后的 lyrics 进行 Cover,可以提供供试听的候选版本,但无法保证演绎效果匹配。
  • 在这些成员上查找 seed,或在有种子值的合成器上查找 numOutputs:在这里使用 numOutputs 批量生成;如果某个成员有 seed 但没有批量字段,就使用不同的种子值并行运行多次,每次运行单独计价。
  • 期待 Repaint 改变音轨时长:窗口会在原位置重新生成。同一音轨的更长版本属于扩展流程,scenario-audio 技能会介绍这一流程,并由另一类成员执行;从头生成不同长度的音轨则需要重新运行 Text to Music。

评论

支持 Markdown