关于 audio-jingle
audio-jingle 是按项目音频类型规划并生成音乐、语音或音效的技能,适合需要通过统一媒体分发器制作音频的创作者。它根据音频类型选择模型,并将生成结果保存到项目中。
主要功能
- 01音乐、语音和音效模式
- 02按音频类型路由模型
- 03规划节奏、音色或质感
- 04通过统一分发器生成
- 05生成文件保存到项目
适用场景
- 01制作带指定风格和节奏的短音乐
- 02将定稿脚本转换为语音
- 03生成指定质感与时长的音效
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nexu-io/ open-design --skill audio-jingle安装后在 Claude Code 中输入/audio-jingle确认已加载。
附带文件example.html
详细介绍
音频短曲技能
包含三个子模式。当前项目的 audioKind 决定运行哪一种:
audioKind | 路由到的模型 | 计划重点 |
|---|---|---|
music | Suno V5(默认)、Udio、Lyria 2 | 流派 + 节奏 + 乐器编配 |
speech | MiniMax TTS(默认)、Fish、ElevenLabs V3 | 脚本 + 声音 + 语速 |
sfx | ElevenLabs SFX(默认)、AudioCraft | 质感 + 冲击力 + 时长 |
资源映射
audio-jingle/
├── SKILL.md
└── example.html
工作流
步骤 0 — 读取项目元数据
audioKind、audioModel、audioDuration(秒),以及(对 speech 而言)voice。根据已知值分支处理,并原样使用。缺少元数据并不意味着要提问:在可行时推断一个安全的默认值,只有当缺失的答案会实质性改变所请求的输出或妨碍生成时,才生成澄清表单。
重要提示:voice 与提供方相关。对于 minimax-tts,--voice 必须是有效的 MiniMax voice_id(例如 male-qn-qingse),而不是自然语言描述。如果你只有文字版的声音要求(“温暖的女声旁白”“中性普通话”),请将其保留在计划中,但省略 --voice,以便使用守护进程的默认 voice id;或者请用户选择特定 id。
步骤 1 — 制定计划
音乐
- 流派 + 参考艺人(1-2 位)
- 节奏(BPM)+ 调性
- 乐器编配(最多 3-5 种乐器)
- 人声:有 / 无 / 哼唱 / 合唱
- 情绪变化曲线(前奏 → 副歌 → 尾奏)
语音
- 脚本(最终稿,非草稿——TTS 会逐字照读)
- 目标声音 + 语速
对 MiniMax 而言,这必须是实际的voice_id,而不是--voice中的文字描述 - 专有名词 / 首字母缩写的发音提示
音效
- 质感(撞击 / 呼啸 / 环境音 / 拟音)
- 时长 + 音量包络(急促起音还是缓慢渐强)
- 分层说明(单次音效还是多层叠加)
发送前用 2-3 句话说明计划。
步骤 2 — 撰写提示词
采用上游模型偏好的格式。将 audioDuration 直接绑定到 API 参数;绝不要在文字中写“制作一个 30 秒的音频”。
步骤 3 — 通过媒体契约派发
使用统一派发器——不要手动调用提供方 API:
"$OD_NODE_BIN" "$OD_BIN" media generate \
--project "$OD_PROJECT_ID" \
--surface audio \
--audio-kind "<music|speech|sfx>" \
--model "<audioModel from metadata>" \
--duration <audioDuration seconds> \
[--voice "<provider voice id (speech only)>"] \
--output "<short-slug>-<duration>s.mp3" \
--prompt "<assembled prompt from Step 2 — for speech, the literal script>"
该命令会输出一行 JSON:{"file": {"name": "...", ...}}。
文件字节会写入项目;FileViewer 会自动渲染音频播放控件。
步骤 4 — 交付
回复内容包括:计划摘要、派发器返回的文件名,以及一句建议用户如何尝试不同版本的话(例如“将节奏从 92 BPM 调整到 108 BPM”,而不是“做得不一样”)。
硬性规则
- TTS 会逐字朗读你的脚本。派发前务必校对——哪怕多一个逗号都会改变语气节奏。
- MiniMax TTS 不接受
--voice中的自由文本声音描述。请使用实际的 MiniMaxvoice_id(例如male-qn-qingse),或省略该标志并使用守护进程的默认声音。 - 音乐:30 秒以内 = 单一段落;30–90 秒 = 前奏 + 主体;90 秒以上 = 完整曲线。不要试图在 15 秒内塞进一首三幕式歌曲。
- 音效:优先使用一层描述明确的音效,而不是一段“弄得酷一点”之类的话——生成器更容易响应具体的质感词。
- 每轮都要保存文件。音频文件一写入,查看器就会显示播放控件。