【工具分享】给播客加音乐:找到一个免费能商用的 AI 音乐 API
同样是 AI 把文章念成播客,为什么有的听着像”念稿机器人”,有的却像”一档正经节目”?
差距往往不在脚本、也不在 TTS,而在最后一公里——音乐。片头片尾那段几秒的标志音乐、垫在人声底下若有似无的 BGM,是”一段录音”和”一档节目”的分水岭。
但这一环偏偏最少人讲透:能商用的不好找、免费的更难、混音还全是连环坑。这篇就讲我怎么找到一个免费、能商用、还省事的 AI 音乐 API(ACE-Step 1.5 的云端版 acemusic.ai),把播客生成流程里缺的这一块补齐——从选型、调 API、给提示词,到最终把音乐混进人声听感还自然。
(系列上一篇《AI 帮我把文章讲成播客:脚本、评分与 TTS 的完整流程》讲了脚本改写、7 维评分、单次 TTS 合成,那套流程跑通后,音乐是唯一没展开的尾巴——本篇补上它。文末有踩坑速查表,赶时间可直接翻到最后当 checklist 用。)
一、为什么要给播客加音乐
对单人独白播客尤其重要,加音乐有四个实打实的好处:
- 专业感的分水岭:同样一段独白,加了片头片尾音乐 + BGM,听感立刻从”一段录音”变成”一档节目”。
- 节奏填充:单人没有搭档接话,音乐能填补节奏空隙、营造氛围。
- 品牌标识:片头片尾的音乐就是节目的”声音 logo”(业内叫 jingle,就是新闻联播开场、播客片头那种几秒的标志性短乐),一听就知道是哪档。
- 降低枯燥感:研究说独白吸引力偏低,BGM 是补偿手段之一。
具体要加两种音乐,它们的诉求还不一样:
- 片头片尾音乐:独特性优先(要一听就认出是你的节目)。
- BGM(背景音乐):一致性优先(轻、不抢戏、每期风格稳定)。
诉求不同,选型时就得分开考虑。
二、有哪些免费的方案
为了让选型有底,我先让 AI 把市面上”免费”的 AI 音乐方案搜了一遍,拿到一份十几项的清单。但清单只是起点——每一项我都去翻了它的官网授权协议(LICENSE)文件和文档,结果发现”免费”和”能用”之间隔着一道叫授权的墙。下面按”能不能商用”分成三类,这是选型的第一道筛子。
方案 A:本地开源模型
这是最容易被”开源”两个字误导的一类。开源 ≠ 能商用,下面这些模型的授权协议(LICENSE)差异极大:
能商用(Apache 2.0 / MIT):
| 模型 | 授权协议 | 特点 | 维护方 |
|---|---|---|---|
| ACE-Step 1.5 | MIT | 器乐/人声全流派,4GB VRAM 可跑,对标 Suno | ACE Studio × StepFun |
| DiffRhythm(谛韵) | Apache 2.0 | 扩散架构,10 秒生成 ~4 分 45 秒带人声完整歌曲,速度快 | ASLP-lab(西北工大) |
| YuE | Apache 2.0 | 主打歌词 → 完整歌曲(带人声 + 伴奏),可生成 ~5 分钟长曲 | m-a-p(HKUST) |
| InspireMusic | Apache 2.0 | 音乐/歌曲/音频统一工具包,中文社区文档全 | 阿里通义 FunAudioLLM |
⚠️ 授权历史的一个坑:YuE 早期是 CC-BY-NC(非商用),2025.01.29 才改为 Apache 2.0。所以网上很多老文章还写着”YuE 不能商用”——以仓库当前的授权协议(LICENSE)为准,别信二手转述。同理,HuggingFace 上一些旧 checkpoint 的 metadata 还挂着 CC-BY-NC,下载前看清楚版本。
能商用但”不是音乐专用”(别误用):
| 模型 | 授权协议 | 为什么单列 |
|---|---|---|
| Riffusion | MIT | 基于 Stable Diffusion 的”音频版”,实时生成短乐段,但质量偏”玩具级”,适合 demo 不适合成品 |
| Bark | MIT | 实际是 TTS(语音合成)模型,带一点音效能力,不是音乐生成模型,别拿来当 BGM 用 |
不能商用(NC / 自定义 License):
| 模型 | 授权协议 | 为什么不能商用 |
|---|---|---|
| MusicGen(audiocraft) | CC-BY-NC 4.0 | 明确”非商用” |
| AudioLDM 2 | CC-BY-NC-SA-4.0 | 明确”非商用”,且衍生需相同协议分享 |
| Stable Audio Open 1.0 | Stability Community License | 明确”非商用” |
| 腾讯 SongGeneration 2 | 腾讯自定义非商业授权 | ⚠️ 大坑:很多中文媒体报”开源可商用”,但官方授权协议(LICENSE)写明”仅学术/研究/教育用途,禁止商用” |
真实代价:免费、可离线,但要 GPU(≥4GB 显存)+ ~10GB 磁盘装模型;而且授权协议(LICENSE)是雷区——尤其腾讯 SongGeneration 2 的”伪开源”陷阱最坑,第三方网站(如 songgeneration.net)声称可商用,但官方仓库的授权协议白纸黑字禁止,照抄媒体会踩雷。
方案 B:免费托管 API
不用本地部署、调 API 就生成,听起来最省事——但”免费”背后常藏授权或额度限制:
| 平台 | 免费? | 商用? | 真相 |
|---|---|---|---|
| acemusic.ai | ✅ 真·免费 | ✅ 可以 | ACE-Step 官方云端版,同一个 MIT 模型 |
| Suno(官网) | ✅ 有免费额度 | ❌ 免费层不可商用 | Pro 计划(~$10/月)才含商用授权 |
| ElevenLabs Music | ✅ 有免费层(~20 分钟) | ❌ 免费层不可商用 | Starter 计划(0.15/分钟 |
| Google Lyria 3 | ❌ 无免费层 | ✅ 可以(付费) | ~$0.08/首,通过 Gemini API 调用 |
| HuggingFace Serverless API | ✅ 有免费额度 | ⚠️ 看具体模型 | 平台免费,但调哪个模型就受那个模型的授权协议(LICENSE)约束——MusicGen 免调用也不可商用,ACE-Step/MIT 模型才可商用 |
真实代价:唯一真正免费 + 能商用的只有 acemusic.ai 一个。其他平台要么免费层不可商用(Suno、ElevenLabs),要么干脆没免费层(Lyria 3)。别看到”free”就上——要查清楚是”免费体验”还是”免费用”。
还有个域名混淆坑:acemusic.ai(官方免费)和 acestep.io(第三方站,免费计划限 personal use、商用要付费)长得像,搜索时差点认错。关键选型回到一手文档(官方 GitHub README)。
方案 C:免版权音乐库
| 平台 | 商用? | 注意点 |
|---|---|---|
| Pixabay | ✅ 多数 OK、免署名 | 要看每条的授权说明(Content License) |
| Freesound | ✅ 只取 CC0 的可以 | 必须严格按授权类型过滤,只取 CC0(完全放弃版权、可任意商用)的那种 |
真实代价:零成本零依赖、专业制作级,但非定制(你要的和现有曲子不一定对得上)、要手动挑。

小结
三条路筛下来:
- 本地开源能商用的:ACE-Step、DiffRhythm、YuE、InspireMusic(都要 GPU 环境)
- 免费托管 API 能商用的:acemusic.ai(HuggingFace 免费但要自己卡模型的授权协议)
- 免版权库:可用但非定制,要手动挑(Pixabay/Freesound 都得自己翻、按授权类型过滤)
选型第一关不是”哪个音质好”,而是”免费能不能商用”——下面就是按这个筛的。
三、选型落定:ACE-Step 1.5
上面的清单是 AI 帮我搜出来的,但选型不能只看清单——清单上每个”能商用”的模型,我都去翻了它的 GitHub 授权协议(LICENSE)、README 和官方文档,确认授权条款、硬件门槛、有没有现成的云端版。翻完一圈,能真正进决赛的有四个:ACE-Step 1.5、DiffRhythm、YuE、InspireMusic。最后我选了 ACE-Step 1.5。
为什么是它:三个维度都对得上
① 授权最干净
翻 ACE-Step 1.5 的 GitHub 授权协议(LICENSE),白纸黑字是 MIT(v1 是 Apache 2.0)。这是四个能商用模型里授权最宽松的——MIT 比 Apache 2.0 还简单,几乎没有附加义务。而且它由 ACE Studio 和 StepFun 联合开发,训练数据明确走”已授权 + 免版税 + 合成”的合规路线,v1.5 在 2026 年 1 月 28 日开源发布。相比之下,DiffRhythm、YuE、InspireMusic 虽是 Apache 2.0(也能商用),但授权条款比 MIT 多几条专利相关的义务。
② 能力最强
README 里写消费级显卡 4GB VRAM 就能本地跑,还能生成带人声的完整歌曲——这个门槛在开源音乐模型里是最低的一档。质量上,社区和媒体普遍说它”对标 Suno”,是当下开源里最强的一档。YuE 强在歌词→带人声长曲(可到 5 分钟),DiffRhythm 强在扩散架构生成快(10 秒出 4 分多钟的歌),但我要的是片头片尾器乐和 BGM,不是带人声的长曲,这俩的优势用不上;InspireMusic 能力够用,但翻它的 commit 记录,更新节奏明显比 ACE-Step 慢,社区热度也不如后者。
③ 云端版免费(这是决定性优势)
这一点是我翻 ACE-Step 的 GitHub README 时发现的——README 顶上有一句容易被忽略的话:“Try acemusic.ai — 100% free!”。acemusic.ai 是 ACE-Step 官方做的云端版,同一个 MIT 模型、免费、免 GPU、免安装、免 key 费。
这是 DiffRhythm、YuE、InspireMusic 都没有的待遇——它们只能本地跑,要 GPU、要装环境。而有了 acemusic.ai,我不装任何东西、不花一分钱、调几行 API 就能生成音乐。对一个只想做播客片头的人来说,这一条直接决定了”用不用得起来”。
教训:“开源” ≠ “商用免费”——选模型先查授权协议(LICENSE),别看名气大就装。MusicGen/Stable Audio Open 不能商用,腾讯 SongGeneration 2 更是”伪开源”陷阱。
而 BGM 原本想走免版权库那条路(确定性最高),实测也断了:免版权库的问题是要手动挑——Pixabay、Freesound 的曲子得自己一首首翻、按授权类型过滤,挑到合适的还不一定能和你的节目调性对得上。对一个想要”稳定风格、每期一致”的播客来说,这个人工成本不划算。于是片头片尾音乐和 BGM 都得靠 AI 生成 → 都落到 ACE-Step,一个后端、一把钥匙,反而更简单。
四、先听为敬:一段 4 分钟的中文人声长曲子
选型定了,模型的能力到底怎么样?我不打算在这篇里堆参数和代码——直接听一段中文人声音乐。
我用 ACE-Step 1.5 的云端 API 生成了一段 4 分钟(240 秒)的中文人声歌曲:温暖民谣 Ballad 风格,木吉他 + 软钢琴铺底,带完整的多段歌词结构(Verse 1 / Chorus / Verse 2 / Chorus / Bridge / Chorus)。官方文档标称最长能到 10 分钟,我测了 4 分钟——生成出来精确 240.0 秒,时长严格按参数走。
建议你点开听一遍,感受比文字直接。我自己听完最大的触动是:它真的在”唱歌”,不是在”念歌词”——主歌部分人声是压着的、有诉说感,到副歌会自然地把情绪推上去,桥段还做了一个短暂的停顿和转折。这种”懂得在哪里该收、哪里该放”的处理,放在 AI 生成的音乐里,是相当能打的水准。
而且生成速度很快:这段 4 分钟的歌,只花了 29.5 秒就出来了。
更多细节——怎么调 API、怎么写提示词、还有哪些玩法——我整理在**下一期《ACE-Step 1.5 深度测评》**里,欢迎关注第一时间收到。
不过这篇还没完。会生成音乐只是第一步,把它混进人声、听感还自然,才是更折腾的活。

五、把音乐混进人声:让 AI 生成的音乐像”长在节目里”
生成音乐不难,但一段孤立的曲子和一段”长在节目里”的音乐,中间隔着一整套混音原则。我让 AI 帮我检索了一圈播客制作的音频工程资料(The Podcast Host、Voice123、MicVision Studio 等),再结合我自己落地踩过的坑,总结成下面这套。
原则 1:BGM 永远不能和人声抢频段
人声的能量集中在 1-4 kHz(说话的清晰度就在这个范围)。如果 BGM 在这个频段也有强能量(比如带人声合唱、带明显主旋律),两者会”撞车”,结果是 BGM 听着糊、人声听着闷。
怎么落地:
- 选曲就避开:BGM 优先选纯器乐(
instrumental: true)、无明显主旋律(no melody lead)的曲子。带歌词、带人声的曲子基本不能当 BGM——听众的耳朵会自动去追踪人声,和你的人声抢注意力。 - 必要时做频率避让(EQ 避让):在 BGM 轨道上做一个 EQ(均衡器)处理,把 1-4 kHz 这个范围削掉 3-6 dB,给人声腾出”频率空间”。这比单纯调音量更有效——音量降的是整体,EQ 只压冲突的那一段。
原则 2:让人声压住 BGM(ducking),而不是固定音量
ducking(侧链压低)是播客混音的第一技能:人声一出现,BGM 自动压低;人声一停,BGM 自动恢复。这样 BGM 在过门(人声间隙)时能被听见、在说话时又不抢戏,比”固定一个音量”自然得多。
关键参数(以 ffmpeg 的 sidechaincompress 滤镜为例,翻译成人话):
| 参数 | 推荐值 | 人话解释 |
|---|---|---|
threshold(触发阈值) | 人声正常音量附近 | 人声多大才开始压 BGM。设太高压不动,太低 BGM 一直被压 |
ratio(压低比例) | 4~ 8 | 压多少。4比较自然,太狠 BGM 会”喘” |
attack(启动速度) | 10-50 ms | 人声出现后多快压低 BGM。太快会”切”,太慢会”抢” |
release(恢复速度) | 200-500 ms | 人声停后多快让 BGM 恢复。太短有”泵感”,太长人声停了 BGM 还没回来 |
一个我踩过的坑:sidechaincompress 的输入顺序——第一个输入是 main(BGM,进输出),第二个是 sidechain(人声,只当控制信号)。写反了就是 BGM 没进输出、人声反被压,调多少音量都没用。这是这套滤镜最容易踩的雷。
原则 3:响度对齐到平台标准(-16 LUFS)
混音前,先把人声和 BGM 的响度(不是峰值音量)对齐到统一标准。播客行业的交付响度是 -16 LUFS(Apple Podcasts、Spotify 的推荐值),单声道。响度不对齐,混出来的成品在不同平台听起来忽大忽小。
怎么落地:
- 先把人声轨归一化到 -16 LUFS——用现成工具就行,比如
ffmpeg-normalize(一行命令,不用记参数)或 ffmpeg 自带的loudnorm滤镜。 - BGM 不用归一化到这么响——它本就该比人声小。常见做法是 BGM 比人声低 -6 到 -10 dB(MicVision Studio 的建议)。
- 混完之后再做一次整体归一化,确保最终成品落在 -16 LUFS。
原则 4:混音别用会自动归一化的工具
这是我最想提前告诉你的一个坑。ffmpeg 里有个最常用的混音滤镜叫 amix,它默认会做归一化(normalize)——简单说就是”自动把整体音量压低,防止爆音”。这个设计在多数场景是好的,但在”人声 + BGM”场景下会出问题:它会把整体增益压低,BGM 的能量被抵消,结果你怎么调音量都听不到 BGM。
解法:别用 amix,改用 amerge + pan 组合——这两个不做归一化,音量完全由你自己控制。具体命令网上搜”ffmpeg amerge pan ducking”就有一堆现成的,不用记参数。核心就一句:混人声和 BGM,绕开 amix 的自动归一化。
原则 5:片头片尾用 fade + gap,绝不硬切
音乐和语音的衔接处是最暴露业余感的地方。硬切(音乐停、人声立刻进)会非常突兀。
行业通用做法(Captivate.fm):
- 片头音乐:开头淡入(fade in,0.2 秒)避免”咔”一声;结尾淡出(fade out,0.5 秒)平滑收。
- 音乐和人声之间:留 0.3-0.4 秒静音间隔(gap),给耳朵一个”切换”的缓冲。
- 人声开头:淡入(fade in,0.2 秒),避免人声第一个字爆音。
- 片尾音乐:人声结束后不要立刻接音乐,留 0.5 秒静音,再淡入(fade in)音乐。
原则 6:人声一次合成,避免拼接感
如果开场白和正文是两次独立 TTS 合成再拼接,会因为音色/语气/响度的微差,听感像两段拼的。把开场白并进脚本第一句,整篇一次合成(“大家好,这里是 XX,第 N 期,今天讲 XXX”),从头到尾一个语气,连贯。
原则 7:片头时长锁 3-5 秒,越早开口越好
Reddit r/podcasting 的共识:片头音乐放 3-5 秒,就让人声进。BGM 在片头可以多留几秒垫底,但人声越早开口,留存率越高——听众点进来是想听内容,不是听你的片头曲。Buzzsprout 社区讨论的甜区是 总时长 12-20 秒(含人声),超过 20 秒就开始掉听众了。
我的最终方案
按这套原则落地,最终混音方案是:
- 片头片尾音乐:acemusic.ai 生成(ACE-Step,3-5 秒,器乐),淡入淡出(fade in/out)+ 0.3 秒间隔。
- 人声:mimo voiceclone 单次合成(开场白并进第一句),归一化到 -16 LUFS。
- BGM:用
amerge+pan混音(不用 amix),比人声低 -8 到 -10 dB,BGM 轨道做 EQ 避让削掉 1-4 kHz。人声压低(ducking)开关在,但先关掉用固定垫底——等耳朵觉得人声被盖了再开 ducking 微调压低比例,别一上来就上 ducking(多一个变量多一层排查)。
结语
从文章到播客,流程不复杂(清洗 → 脚本 → TTS → 音乐 → 发布)。脚本、音色、音乐现在都能 AI 生成——门槛被拉得很低。
但这一路下来有个清楚的感受:生成是便宜的,把生成的东西调成能用,才是真功夫。ACE-Step 1.5 让”有段免费能商用的音乐”不再是问题,但”把这段音乐混进人声、听感还自然”这一环,得照着响度标准、人声压低(ducking)、频率避让(EQ)这套行业原则一层层调——这部分,AI 替不了你。
希望这篇的选型对比、提示词模板和混音原则,能帮你在给播客加音乐时少走弯路。
附:踩坑速查
选型 / API 篇(详细解法见下一篇《ACE-Step 1.5 深度测评》):
| 坑 | 一句话解法 |
|---|---|
| MusicGen / Stable Audio Open 非商用 | 商用用 ACE-Step / acemusic.ai |
| 不想装本地 GPU 环境 | 用云端 acemusic.ai,或本地便携包双击启动 |
| acemusic.ai / acestep.io 域名混淆 | 回官方 README 确认 |
| 免版权库要手动挑、风格难一致 | 改 acemusic.ai 生成 BGM,风格可控 |
| urllib 被 WAF 403 | 请求带 User-Agent: curl/8.4.0 |
混音篇(本篇第五部分详解):
| 坑 | 解法 |
|---|---|
| BGM 怎么调都听不到 | 频段撞车 → EQ 避让 1-4kHz;混音被自动归一化 → 用 amerge+pan 替 amix |
| BGM 抢戏/人声被盖 | 上人声压低(ducking),压低比例 4,启动 10-50ms |
| 响度忽大忽小 | 人声归一化到 -16 LUFS(Apple/Spotify 标准) |
| 片头片尾硬切 | 音乐淡出 0.5s + 0.3s 静音间隔 + 人声淡入 0.2s |
| 开场白和正文割裂 | 并进脚本第一句,整篇一次合成 |
| 片头太长掉听众 | 片头音乐 3-5 秒就让人声进,总时长 ≤ 20 秒 |