ai-music-generation
作者 inferen-sh使用 ElevenLabs Music、Diffrythm 和 Tencent Song Generation,通过 inference.sh CLI 从文本提示生成 AI 音乐和完整歌曲。非常适合背景音乐、配乐、社交媒体短视频、播客以及免版税音乐。支持快速歌曲生成、纯伴奏和完整人声歌曲。
概览
什么是 ai-music-generation?
ai-music-generation 技能让你可以通过 inference.sh CLI(infsh),使用简单的文本提示生成原创音乐和完整歌曲。它把你的 agent 或命令行工作流连接到多个 AI 音乐模型,让你无需离开终端,就能快速创作背景音乐、片头、jingle 以及完整人声歌曲。
在底层,ai-music-generation 会调用托管在 inference.sh 上的应用,为你提供一种干净、可复现的方式来编写脚本并自动化音乐创作流程。
核心能力
使用 ai-music-generation,你可以:
- 将文本提示变成音乐:用自然语言描述风格(genre)、氛围(mood)、节奏(tempo)和乐器配置。
- 生成完整歌曲或短音频片段:既可以快速生成用于社交媒体的短片,也可以生成适合视频和播客的较长曲目。
- 在多个模型间自由选择(通过 inference.sh apps):
- ElevenLabs Music(
elevenlabs/music):最长约 10 分钟,商业使用许可友好。 - Diffrythm(
infsh/diffrythm):快速 text-to-song 生成,适合高频迭代。 - Tencent Song Generation(
infsh/tencent-song-generation):可生成带人声的完整歌曲。
- ElevenLabs Music(
- 生成多种音频形式:
- 纯伴奏(Instrumentals)
- 伴奏底轨(Backing tracks)
- 完整人声歌曲
- 氛围配乐与循环(loops)
适合哪些用户?
ai-music-generation 非常适合:
- 生产 YouTube、TikTok 或其他社交内容,需要快速生成独特背景音乐的人。
- 制作 播客(podcast),希望有片头、片尾和转场音效的人。
- 开发 游戏或应用,需要动态配乐或循环背景音乐的团队。
- 在 市场或创意代理公司 工作,需要为客户提案快速生成 demo 音乐的创意人员。
- 运行 agents 或自动化工作流,需要按需生成音频的开发者。
该技能主要面向熟悉命令行的技术用户,希望将 AI 音乐生成集成到脚本、CI 流水线或 agent 框架中的场景。
什么时候不太适合使用 ai-music-generation?
以下情况下,这个技能可能不太理想:
- 你需要 基于 GUI 的音乐编辑器 或 DAW(如 Ableton、Logic)——本技能是 CLI-first 的。
- 你想要 编辑或 remix 现有音频;ai-music-generation 专注于生成新音乐,而非精细音频编辑。
- 你要求 离线或本地(on-prem) 生成——模型是通过 inference.sh 远程访问的。
- 你不熟悉管理 CLI 工具或类似外部 API 的服务。
如果你主要需要的是细粒度波形编辑、多轨混音或母带制作,可以把这个技能和传统音频编辑器搭配使用:用 ai-music-generation 负责“生成素材”,再用 DAW 做后期处理。
使用方法
前置条件
在安装 ai-music-generation 技能之前,请确保:
- 已安装并可使用 Node.js 和 npx(用于把该技能安装到你的 agent skills 环境)。
- 已安装并完成配置 inference.sh CLI(
infsh)。
安装 inference.sh CLI 时,请参照仓库中的官方说明:
- 安装指南:
https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md
安装好 infsh 后,运行:
infsh login
完成登录流程,以便 CLI 能访问相关音乐模型。
安装 ai-music-generation 技能
使用 npx 从 inferen-sh/skills 仓库添加该技能:
npx skills add https://github.com/inferen-sh/skills --skill ai-music-generation
这会把 ai-music-generation 的技能元数据和相关支持文件拉取到你的本地 skills 环境中,方便你的 agents 或工具进行调用。
安装后建议查看的文件:
SKILL.md– 技能的高层说明及支持的工具列表。- 仓库中
tools/audio/目录附近的工具 – 有助于构建更完整的音频工作流。
快速开始:生成你的第一首 AI 歌曲
完成 infsh 登录后,你可以立刻使用 Diffrythm 模型生成一段音轨,该模型针对快速 text-to-song 生成做了优化。
在终端中运行:
infsh app run infsh/diffrythm --input '{"prompt": "upbeat electronic dance track"}'
这条命令会做什么:
infsh app run infsh/diffrythm:选择 Diffrythm 音乐 app。--input '{"prompt": "..."}':以 JSON 形式传入你的文本提示。- 应用会返回一个音频文件(或 URL),你可以播放、下载,或在后续 pipeline 中继续处理。
你可以通过修改 prompt 控制曲风、氛围、节奏等,例如:
infsh app run infsh/diffrythm --input '{"prompt": "cinematic orchestral soundtrack, slow build, inspiring"}'
如何选择合适的模型
ai-music-generation 通过 inference.sh 暴露了三个主要音乐模型:
ElevenLabs Music (elevenlabs/music)
适用场景:
- 需要 较长时长曲目(最长约 10 分钟)。
- 需要适用于商业或客户项目的 商业许可。
- 希望得到高质量、打磨良好的背景音乐。
示例调用:
infsh app run elevenlabs/music --input '{"prompt": "lofi chillhop beat with warm piano and vinyl crackle"}'
Diffrythm (infsh/diffrythm)
适用场景:
- 需要对创意想法进行 快速反馈和迭代。
- 为社交短视频或概念 demo 生成短到中等长度的歌曲。
示例调用:
infsh app run infsh/diffrythm --input '{"prompt": "high-energy rock track with driving guitars"}'
Tencent Song Generation (infsh/tencent-song-generation)
适用场景:
- 希望生成 带人声的完整歌曲,而不仅是纯伴奏。
- 需要更接近完整“歌曲结构”的 demo 或概念作品。
示例调用:
infsh app run infsh/tencent-song-generation --input '{"prompt": "emotional pop ballad with powerful female vocals"}'
集成到 agents 和自动化工作流
当你把 ai-music-generation 添加到 skills 配置后,可以:
- 将其暴露为一个 tool,供基于 LLM 的 agent 在需要音乐时调用。
- 把它接入脚本流程,例如:
- 接收一段文字 brief(如某次营销活动的描述)。
- 自动生成多个 prompt 变体。
- 使用不同模型调用
infsh。 - 将生成的音频保存到内容目录或资产流水线中。
一个简单的 CLI 工作流可以是:
- 从用户处接收描述和目标时长。
- 为选定的 app 构造一个结构化 JSON
--input。 - 在脚本中运行
infsh app run ...。 - 存储输出文件路径,并可选地记录元数据以便复用。
由于所有调用都通过 infsh 进行,你可以很方便地将其集成到 CI 任务、定时任务(cron)或支持“返回音乐链接”的对话式 agent 中。
Prompt 编写最佳实践
为了从 ai-music-generation 模型中获得更好的效果,建议在 prompt 中包含:
- Genre(风格):如 "lofi hip hop"、"cinematic orchestral"、"synthwave"。
- Mood(氛围):如 "relaxing"、"dark and tense"、"uplifting"。
- Tempo / energy(节奏 / 能量感):如 "slow and atmospheric"、"high energy"、"mid-tempo groove"。
- Key elements(关键元素):如 "warm piano"、"heavy bass"、"female vocals"、"acoustic guitar"。
- Use case(使用场景):如 "for a podcast intro"、"for a game boss fight"、"for a product launch video"。
示例 prompt:
infsh app run infsh/diffrythm --input '{
"prompt": "driving synthwave track, nostalgic 80s vibe, steady 120 bpm, for a tech product trailer"
}'
常见问题(FAQ)
安装 ai-music-generation 实际上会得到什么?
ai-music-generation 会从 inferen-sh/skills 中添加一个技能定义,描述 agent 如何通过 inference.sh CLI 调用支持的音乐生成应用。它本身不会安装音乐模型;这些模型是托管在远端的,通过 infsh 访问。
使用 ai-music-generation 是否必须安装 inference.sh CLI?
是的。该技能依赖 inference.sh CLI(infsh) 与 AI 音乐模型通信。如果没有安装、登录并配置好 infsh,对底层应用(例如 infsh/diffrythm 或 elevenlabs/music)的调用将无法正常工作。
支持哪些 AI 音乐模型?
ai-music-generation 主要围绕以下通过 inference.sh 提供的模型构建:
- ElevenLabs Music(
elevenlabs/music)– 能生成较长曲目,许可更偏向商业友好。 - Diffrythm(
infsh/diffrythm)– 快速、通用的歌曲生成模型。 - Tencent Song Generation(
infsh/tencent-song-generation)– 侧重带人声的完整歌曲。
你可以在 infsh app run 命令中通过选择对应的 app ID 来指定使用哪个模型。
生成的音乐可以用于商业项目吗?
这个技能本身只是一个集成层。生成音频能否用于商业用途,取决于各个模型的许可条款以及 inference.sh 的使用条款。 在 SKILL 元数据中,ElevenLabs Music 被标注为支持商业许可,但你仍应始终查看最新条款:
- 每个 app 在 inference.sh 文档中的许可说明;
- 对应 模型提供方(如 ElevenLabs)官网上的最新授权政策。
这个技能能编辑现有音频文件吗?
不能。ai-music-generation 专注于 从文本提示生成新的音乐和歌曲。如需编辑、混音或母带处理现有音频,需要使用其他音频编辑工具或 DAW,并将 ai-music-generation 视为“源音频生成器”。
我能控制歌曲长度、结构或是否包含人声吗?
控制能力取决于底层应用:
- ElevenLabs Music:支持更长时长(约 10 分钟);具体参数请查看 inference.sh 文档。
- Diffrythm:偏向快速生成默认时长歌曲。
- Tencent Song Generation:主要用于生成带人声的完整歌曲。
在支持的情况下,你可以在 prompt 或 JSON --input 中增加时长或风格相关的提示字段。所有可用参数请参考对应 app 在 inference.sh 上的文档。
ai-music-generation 适合非技术用户吗?
不算直接适合。ai-music-generation 默认假设你熟悉:
- 运行 CLI 命令;
- 在
--input参数中编辑 JSON; - 安装和配置
infsh。
非技术用户通常会通过 图形界面、聊天机器人或自定义工具 间接使用该技能,而开发者则在后台将这些界面连接到 ai-music-generation。
生成音乐失败时该如何排查?
如果某条命令执行失败,可以按以下步骤排查:
-
确认已安装
infsh且其所在目录已加入PATH。 -
再次运行
infsh login,确认会话仍然有效。 -
检查命令语法,尤其是
--input中 JSON 引号是否正确。 -
使用已知 app 和简单 prompt 做测试,例如:
infsh app run infsh/diffrythm --input '{"prompt": "simple piano melody"}' -
查看
infsh输出的错误信息——通常会指明是认证、配额还是输入格式问题。
如果仍无法解决,请查阅主仓库 inferen-sh/skills 以及 inference.sh 文档,了解当前限制或服务状态。
