mcpField
M
music-generation

music-generation

github.com/michaelboeding创意与媒体3074 次安装2 周前更新
代码仓库

关于 music-generation

用于通过 Google Lyria、Suno 或 Udio 生成音乐的技能,指导 Agent 按人声需求选择服务、整理提示词并运行相应脚本。

主要功能

  1. 01按人声需求选择服务
  2. 02整理曲风与情绪提示词
  3. 03处理歌曲歌词
  4. 04调用 Lyria、Suno 和 Udio 脚本
  5. 05控制伴奏的 BPM 与调性

适用场景

  1. 01制作纯音乐背景音
  2. 02生成带歌词或人声的歌曲
  3. 03制作游戏或视频配乐

安装

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

$npx skills add https://github.com/michaelboeding/skills --skill music-generation

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
lyria.py
suno.py
udio.py

详细介绍

音乐生成技能

使用 AI(Suno、Udio、Google Lyria)生成音乐、歌曲和音频。

前置条件

至少需要一个 API 密钥:

  • GOOGLE_API_KEY - 用于 Google Lyria(与视频/图像使用同一个密钥)✅
  • SUNO_API_KEY - 用于 Suno 音乐生成
  • UDIO_API_KEY - 用于 Udio 音乐生成

可用的 API

Google Lyria(仅限器乐)
  • 最适合:背景音乐、节拍、配乐、游戏音频
  • 时长:任意长度(实时流式传输)
  • 功能:BPM 控制、调性/音阶、明亮度、密度
  • 输出:48kHz 立体声 WAV
  • API 密钥:与视频/图像生成使用同一个 GOOGLE_API_KEY ✅
  • ⚠️ 仅限器乐 - 无法生成演唱人声
Suno(推荐用于有人声的歌曲)
  • 最适合:完整的演唱歌曲、朗朗上口的旋律、各种流派
  • 时长:最长 4 分钟
  • 功能:歌词生成、器乐模式、风格标签
  • 流派:流行、摇滚、爵士、电子、古典、嘻哈等
Udio
  • 最适合:高保真音频、实验性风格、混音
  • 时长:每次生成最长 2 分钟
  • 功能:风格控制、音质选项
  • 流派:流派丰富,在电子/实验音乐方面表现出色

工作流

步骤 1:提出关键问题——需要人声还是器乐?

这决定了使用哪个 API:

需求API原因
人声/歌词Suno 或 UdioLyria 无法生成人声
仅限器乐Lyria(优先)与视频/图像使用同一个 API 密钥,可实时控制
背景音乐Lyria最适合配乐、游戏音频
完整歌曲Suno人声质量最佳

向用户提问示例:

“我来生成这段音乐!先快速确认几个问题:

  1. 需要人声/歌词吗?

    • 需要 → 我会使用 Suno(最适合歌曲)
    • 不需要,仅器乐 → 我会使用 Lyria(与视频/图像使用同一个密钥)
  2. 想要什么流派/氛围?(例如:轻松的 lo-fi、史诗感管弦乐、欢快的流行乐)

  3. 需要多长?(Lyria:任意长度;Suno:最长 4 分钟)

  4. 对 BPM 有偏好吗?(例如:轻松风格为 90,舞曲为 128)”


步骤 2:理解需求

解析用户的音乐需求,提取以下信息:

  • 流派/风格:流行、摇滚、爵士、电子、古典等
  • 情绪:快乐、悲伤、充满活力、平静、戏剧化
  • 节奏:快、慢、中等、指定 BPM
  • 人声:有人声 → Suno/Udio;器乐 → Lyria
  • 用途:背景音乐、歌曲、短曲、配乐
  • 时长:需要多长?
步骤 2:编写提示词

将用户的需求转换为有效的音乐生成提示词:

  1. 指定流派:具体说明风格
  2. 描述氛围:情绪基调和能量水平
  3. 加入乐器:说明哪些乐器应突出
  4. 补充制作风格:lo-fi、精致、复古、现代
  5. 设定节奏:BPM 或描述性节奏(欢快、缓慢)

转换示例:

  • 用户:“欢快的夏日歌曲”
  • 优化后:“一首节奏欢快的独立流行歌曲,搭配明亮的原声吉他、欢快的尤克里里和阳光般的氛围。充满愉悦感的夏日颂歌,旋律朗朗上口、能量积极。男声演唱,120 BPM,适合电台播放的制作风格”
步骤 3:处理歌词(如需要)

对于有人声的歌曲:

  • 用户提供歌词:直接使用
  • 生成歌词:请 Suno/Udio 生成,或先使用 Claude 编写
  • 器乐:指定“器乐”,以跳过人声

Suno 的歌词格式:

[Verse 1]
Your lyrics here

[Chorus]
Catchy chorus lyrics

[Verse 2]
More lyrics
步骤 4:选择 API

根据需求进行选择:

用途推荐的 API原因
器乐/背景音乐Lyria使用同一个 API 密钥、时长不限、可实时控制
有人声的完整歌曲Suno人声质量最佳
Lo-fi 节拍Lyria非常适合氛围感/轻松风格
实验性/电子音乐Udio擅长这些流派
需要指定歌词Suno支持输入歌词
游戏/视频配乐Lyria可精确控制 BPM 和调性
第 5 步:生成音乐

执行 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/ 中相应的脚本:

使用 Google Lyria(纯音乐):

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
  --prompt "chill lo-fi hip hop, jazzy piano, vinyl crackle" \
  --duration 60 \
  --bpm 85

使用带调性/音阶的 Lyria:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
  --prompt "ambient, ethereal synths, dreamy" \
  --duration 120 \
  --scale "C" \
  --brightness 0.7

使用多个提示词的 Lyria(混合):

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
  --prompt "minimal techno" \
  --prompt "deep bass, 808" \
  --bpm 128 \
  --duration 90

使用 Suno(带人声):

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/suno.py \
  --prompt "upbeat indie pop, summer vibes, acoustic guitar" \
  --title "Summer Days"

使用 Udio:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/udio.py \
  --prompt "cinematic orchestral, epic trailer music" \
  --duration 120
第 6 步:交付结果
  1. 提供生成的音频文件路径
  2. 分享使用的提示词和设置
  3. 说明时长和格式
  4. 主动提出可以:
    • 生成变体
    • 尝试不同的风格/流派
    • 调整节奏或情绪
    • 延长曲目
    • 添加或移除人声

错误处理

缺少 API 密钥:告知用户需要哪个密钥:

Lyria 需要 google-genai 软件包:pip install google-genai

用户想要人声,但只有 GOOGLE_API_KEY:说明 Lyria 仅支持纯音乐,并建议使用 Suno/Udio。

违反内容政策:改写歌词或提示词。

生成失败:使用简化的提示词重试。

超出配额:建议稍后重试或尝试其他服务商。

提示词工程技巧

流派标签(Suno 风格)

为获得最佳效果,请加入具体的流派标签:

  • [pop, upbeat, female vocals, 128 BPM]
  • [jazz, smooth, saxophone, laid-back]
  • [electronic, synthwave, 80s, driving]
  • [classical, orchestral, emotional, strings]
情绪描述词
  • 充满活力:欢快、有推动力、强劲、激烈
  • 平静:轻松、氛围感、宁静、柔和
  • 快乐:愉快、明亮、阳光、喜悦
  • 悲伤:忧郁、感性、真挚、忧伤
  • 史诗感:电影感、戏剧性、恢弘、壮丽
制作风格
  • Lo-fi:温暖、复古、磁带底噪、怀旧
  • 精致:清晰、现代、适合电台播放、专业
  • 原始:车库风、现场感、自然、未经修饰
  • 电子:合成器、数字化、经过处理

API 对比

特性LyriaSunoUdio
API 密钥GOOGLE_API_KEY ✅SUNO_API_KEYUDIO_API_KEY
最长时长无限制4 分钟2 分钟
人声❌ 不支持✅ 出色✅ 良好
纯音乐✅ 出色✅ 很好✅ 出色
BPM 控制✅ 60-200❌ 不支持❌ 不支持
调性/音阶控制✅ 支持❌ 不支持❌ 不支持
音频质量48kHz WAV很好出色
歌词输入❌ 不支持✅ 支持✅ 支持
实时引导✅ 支持❌ 不支持❌ 不支持
最适合节拍、配乐歌曲实验性创作

提示词示例

流行歌曲
Catchy pop song with female vocals, bright synths, and an anthemic chorus. 
Feel-good energy, summer vibes, 120 BPM, radio-friendly production.
电影配乐
Epic orchestral trailer music with building tension. Powerful brass, 
sweeping strings, thundering percussion. Dramatic and emotional.
Lo-fi 节拍
Chill lo-fi hip hop beat, jazzy piano samples, vinyl crackle, 
relaxed drums, perfect for studying. 85 BPM, nostalgic mood.
电子舞曲
High-energy EDM track with massive drops, pulsing synths, 
four-on-the-floor beat. Festival-ready, 128 BPM.

Lyria 专用示例

Lo-fi 学习节拍
python3 lyria.py -p "lo-fi hip hop, jazzy piano, vinyl crackle, chill" \
  --duration 300 --bpm 85 --brightness 0.3
Techno/舞曲
python3 lyria.py -p "minimal techno, deep bass, 808 drums" \
  --duration 120 --bpm 128 --density 0.7
氛围音乐/冥想音乐
python3 lyria.py -p "ambient, ethereal, soft pads, dreamy" \
  --duration 180 --brightness 0.8 --density 0.2
游戏配乐
python3 lyria.py -p "epic orchestral, cinematic, dramatic strings" \
  --duration 90 --scale "D" --mode quality
Lyria 提示词技巧
  • 乐器:钢琴、吉他、合成器、鼓、贝斯、弦乐、808、Rhodes、Moog
  • 流派:Lo-fi hip hop、minimal techno、ambient、jazz fusion、synthwave、chillout
  • 情绪:chill、充满活力、梦幻、黑暗、欢快、忧郁、史诗感
  • 组合提示词:使用多个 -p 标志混合风格

评论

支持 Markdown