I

ai-music-generation

作者 inferen-sh

使用 ElevenLabs Music、Diffrythm 和 Tencent Song Generation,通过 inference.sh CLI 从文本提示生成 AI 音乐和完整歌曲。非常适合背景音乐、配乐、社交媒体短视频、播客以及免版税音乐。支持快速歌曲生成、纯伴奏和完整人声歌曲。

Stars0
收藏0
评论0
收录时间2026年3月27日
分类语音生成
安装命令
npx skills add https://github.com/inferen-sh/skills --skill ai-music-generation
概览

概览

什么是 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 Musicelevenlabs/music):最长约 10 分钟,商业使用许可友好。
    • Diffrythminfsh/diffrythm):快速 text-to-song 生成,适合高频迭代。
    • Tencent Song Generationinfsh/tencent-song-generation):可生成带人声的完整歌曲。
  • 生成多种音频形式
    • 纯伴奏(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 技能之前,请确保:

  1. 已安装并可使用 Node.js 和 npx(用于把该技能安装到你的 agent skills 环境)。
  2. 已安装并完成配置 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 技能

使用 npxinferen-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 工作流可以是:

  1. 从用户处接收描述和目标时长。
  2. 为选定的 app 构造一个结构化 JSON --input
  3. 在脚本中运行 infsh app run ...
  4. 存储输出文件路径,并可选地记录元数据以便复用。

由于所有调用都通过 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/diffrythmelevenlabs/music)的调用将无法正常工作。

支持哪些 AI 音乐模型?

ai-music-generation 主要围绕以下通过 inference.sh 提供的模型构建:

  • ElevenLabs Musicelevenlabs/music)– 能生成较长曲目,许可更偏向商业友好。
  • Diffrythminfsh/diffrythm)– 快速、通用的歌曲生成模型。
  • Tencent Song Generationinfsh/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。

生成音乐失败时该如何排查?

如果某条命令执行失败,可以按以下步骤排查:

  1. 确认已安装 infsh 且其所在目录已加入 PATH

  2. 再次运行 infsh login,确认会话仍然有效。

  3. 检查命令语法,尤其是 --input 中 JSON 引号是否正确。

  4. 使用已知 app 和简单 prompt 做测试,例如:

    infsh app run infsh/diffrythm --input '{"prompt": "simple piano melody"}'
    
  5. 查看 infsh 输出的错误信息——通常会指明是认证、配额还是输入格式问题。

如果仍无法解决,请查阅主仓库 inferen-sh/skills 以及 inference.sh 文档,了解当前限制或服务状态。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...