本文へ移動
cccskills
無料GitHub で公開

ai-music

AI 音乐 / BGM 生成:给短视频、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。通过可插拔 provider(阿里 DashScope / Suno 类第三方 API)文生音乐,异步提交→轮询→下载,产物可再裁剪/归一化或加到视频。

当用户说“AI 音乐”“AI 配乐”“生成 BGM”“背景音乐”“原创音乐”“AI 作曲”“纯音乐”“给视频配乐”“做首曲子”时使用。与 tts-voiceover 的区别:tts-voiceover 生成人声口播/旁白,ai-music 生成背景音乐/配乐(无人声或带演唱)。

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.3 KB
  • EASEL-META.md1.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

AI 音乐 / BGM 生成(AI Music)

给短视频、Vlog、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。全程通过共享脚本 skills/shared/scripts/ai_music.py 封装音乐生成 API(可插拔 provider), 异步提交 → 轮询 → 下载。生成的音乐可再交给 audio_ops.py / video_ops.py 做裁剪、归一化或加到视频。

边界:本 SKILL 只做背景音乐 / 配乐。要人声口播 / 旁白 / 朗读用 tts-voiceover。

输入

字段必填说明
prompt是风格 / 情绪 / 乐器描述(如“轻快 lo-fi,钢琴+鼓点,vlog 片头”)
provider否dashscope 或 suno-compatible,也可用 env MUSIC_PROVIDER
lyrics否歌词(提供后走带演唱模式,不再是纯音乐)
duration否时长(秒),部分 provider 支持
instrumental否纯音乐(无人声 BGM)
output否默认 outputs/主题名/{name}.mp3

输出

  • 音乐音频文件(mp3,放入 outputs/主题名/)
  • 打印实际提交的 provider / model、任务轮询过程、最终输出路径

配置(需设的环境变量)

配置检查路径铁律:先 cd 到运行时说明给出的 Easel 项目根,确认当前目录有 .env 和 skills/shared/scripts/,再运行注册表、check 或生成命令。不得改用 workspace 的共享脚本副本,也不得以 env / printenv 没显示变量为由判断未配置。

在项目根 .env 或环境变量中设置(脚本自动向上查找 .env)。用户自己填 key。

通用

MUSIC_PROVIDER=dashscope        # 或 suno-compatible;也可用 --provider 覆盖

provider = dashscope(阿里云 DashScope / 百炼)

DASHSCOPE_API_KEY=...           # 必填(别名 DASHSCOPE_KEY / ALIYUN_API_KEY)
DASHSCOPE_MUSIC_MODEL=audio-generation  # 可选(兼容旧名 DASHSCOPE_MODEL)
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/api/v1   # 可选

provider = suno-compatible(Suno 类第三方 API 网关)

MUSIC_API_KEY=...               # 必填
MUSIC_BASE_URL=https://api.example.com/v1   # 必填,你的 API 根地址
MUSIC_MODEL=music-1             # 可选,按服务商模型名调整

执行步骤

先跑 python skills/shared/scripts/model_registry.py configured --group music --env-file .env。只有一个可用时直接显式传 --provider;多个可用且用户没点名时,先列出选项询问,不按 MUSIC_PROVIDER 擅自选择。

脚本路径(相对项目根):skills/shared/scripts/ai_music.py。每个子命令支持 -h。

1. 先自检配置 check(不发请求)

python skills/shared/scripts/ai_music.py check --provider dashscope

缺 key 会明确列出缺哪个 env(含别名提示)。配置齐了再往下。

2. 生成音乐 generate

# 纯音乐 BGM(dashscope)
python skills/shared/scripts/ai_music.py generate --provider dashscope \
  --prompt "轻快的 lo-fi 嘻哈,钢琴 + 柔和鼓点,适合 vlog 片头" \
  --duration 30 --instrumental \
  -o outputs/主题名/vlog-bgm.mp3

# 带演唱(suno-compatible,给了歌词)
python skills/shared/scripts/ai_music.py generate --provider suno-compatible \
  --prompt "温暖的民谣,吉他弹唱" \
  --lyrics "$(cat lyrics.txt)" \
  -o outputs/主题名/song.mp3

--poll-interval(轮询间隔,默认 5s)、--timeout(超时,默认 300s)可按需调。

3. 后处理(可选,复用已有共享脚本,不在本 SKILL 重造)

# ① 裁剪到片头需要的长度
python skills/shared/scripts/audio_ops.py trim outputs/主题名/vlog-bgm.mp3 \
  -o outputs/主题名/bgm-8s.mp3 --duration 8

# ② 归一化到社媒响度(-14 LUFS)
python skills/shared/scripts/audio_ops.py normalize outputs/主题名/vlog-bgm.mp3 \
  -o outputs/主题名/bgm-norm.mp3

# ③ 把 BGM 加到视频(可调原声/BGM 音量比,自动循环并截断)
python skills/shared/scripts/video_ops.py bgm -i clip.mp4 -o clip_bgm.mp4 \
  --music outputs/主题名/vlog-bgm.mp3 --voice-volume 1.0 --music-volume 0.3

规则

  1. 先 check 再 generate — 缺 key 时 check 给出清晰中文提示,不浪费一次失败请求。
  2. 绝不覆盖原始素材 — 只写新文件到 outputs/主题名/。
  3. 不重造能力 — 裁剪 / 归一化 / 加视频 BGM 复用 audio_ops.py / video_ops.py。
  4. provider 可插拔 — 换服务商只改 --provider + env,SKILL 流程不变。
  5. 与 tts-voiceover 分工 — 背景音乐/配乐找 ai-music,人声配音找 tts-voiceover。 两者可组合:ai-music 出 BGM + tts-voiceover 出旁白 → video_ops.py bgm 混音。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI 作图、换图、改图、图像编辑、给我画一张、生成一张图 时使用。支持 OpenAI 兼容 API 与 apimart 异步 API,用户自备 API key。

日本語の概要は準備中です。原文の説明を表示しています。

ZJU-REAL/Easel3,5932026年10月12日 更新

AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI 兼容)异步生成视频,用户自备 API key。当用户说 AI 视频生成、文生视频、图生视频、AI 生成视频、AI 短视频、让图片动起来、数字人视频、生成一段视频 时使用。与 video-strategy(选型/策略)、video-editing(剪辑处理)、clipify(切片)区别:本 SKILL 是从 0 用 AI 生成新视频。

日本語の概要は準備中です。原文の説明を表示しています。

ZJU-REAL/Easel3,5932026年10月12日 更新

outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、 "outputs 整理"、"之前做的"时使用。 与其他 produce 层 SKILL 的区别:produce 层负责生成内容, asset-manager 负责生成后的产物管理(归档、检索、标签)。

日本語の概要は準備中です。原文の説明を表示しています。

ZJU-REAL/Easel3,5932026年10月12日 更新

音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。 当用户说"降噪""去噪""去杂音""消除背景噪声""电流声""风噪""录音有杂音""音频降噪"时使用。 和 audio-editing 的区别:audio-editing 做剪辑/转码/音量等通用音频操作(内置 denoise 兜底),本 SKILL 专做降噪调参。

日本語の概要は準備中です。原文の説明を表示しています。

ZJU-REAL/Easel3,5932026年10月12日 更新

通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成 mp3”“调音量/响度”“提取音轨/扒音频”“拼接音频”“淡入淡出”“加速/减速音频”“变速不变调”时使用。与 audio-denoise 的区别:audio-denoise 专做降噪,audio-editing 做除降噪外的通用音频操作(也内置 denoise 作为兜底)。

日本語の概要は準備中です。原文の説明を表示しています。

ZJU-REAL/Easel3,5932026年10月12日 更新

audio-mix

無料

音频混合 / 混音:把旁白口播 + 背景音乐 + 音效混成一轨,BGM 自动循环补足并可闪避(旁白说话时自动压低 BGM 保证人声清晰)。当用户说 混音、音频混合、旁白加背景音乐、配音加BGM、人声和音乐混一起、加音效、音频叠加、BGM 压低、闪避、ducking、把配音和bgm合起来 时使用。基于 shared/scripts/audio_mix.py。与 audio-editing concat 区别:concat 是前后顺序拼接,本 SKILL 是同时叠加混音;与 video-editing bgm 区别:那个给视频配乐,本 SKILL 输出纯音频。

日本語の概要は準備中です。原文の説明を表示しています。

ZJU-REAL/Easel3,5932026年10月12日 更新

ZJU-REAL のスキルをすべて見る

このスキルの問題を報告する