夜雨聆风学习资料网

ARTICLE · 1139704

你的音乐你做主!开源AI音乐生成工具 HOT-Step-CPP,三大模型随意切换,轻松玩转音乐创作

你的音乐你做主!开源AI音乐生成工具 HOT-Step-CPP,三大模型随意切换,轻松玩转音乐创作
今天介绍一个开源工具HOT-Step-CPP——它把 AI 音乐生成直接搬到你自己的电脑上。ACE-Step、MiniMax、YuE2 三大模型随意切换,输入风格和歌词,就能生成一首完整的歌,还能拆音轨、转 MIDI。

下面从下载到出第一首歌,一步步带你走一遍。


一、这是个什么软件?

HOT-Step-CPP 是一个完全运行在你本地电脑上的 AI 音乐生成工具。

简单说就是:

  • 你输入:歌曲风格 + 歌词
  • 它输出:一首完整的歌(WAV / MP3)

和很多在线 AI 音乐网站不同,歌曲生成这一步是在你自己的电脑上算出来的,不会把歌词和生成任务发送到云端。

它的官方定位是:

Local AI music generation powered by GGML

翻译过来就是:由 GGML 驱动的本地 AI 音乐生成工具。

其中 GGML 是一个让 AI 模型能在普通电脑 CPU / GPU 上高效运行的程序库,你可以把它理解成“让 AI 在本地跑起来的发动机”。

项目地址:https://github.com/scragnog/HOT-Step-CPP

采用 MIT License 开源,可以免费使用。


二、它能做什么?

HOT-Step-CPP 不只是一个“文字生成音乐”的小工具,它更像一个本地 AI 音乐工作站。

功能
通俗解释
AI 音乐生成
输入风格和歌词,生成歌曲
Custom-Gen
手动填写参数,精细控制生成过程
Auto-Gen
只选一个音乐类型,AI 帮你写标题、风格和歌词
Lyric Studio
歌词创作工作区,可批量生成和修改歌词
Cover Studio
用一首已有歌曲做参考,生成风格相近的新歌
Repaint Studio
只重新生成歌曲中的某一段,比如只重做副歌
Stem Separation
把一首歌拆成人声、鼓、贝斯、其他乐器
MIDI Studio
把音频转成 MIDI(一种给电脑看的“乐谱”格式)
LoRA / LoKr
加载风格适配器,让模型偏向某种风格
Training Studio
在软件里训练自己的风格适配器(实验性功能)

它目前支持三个主要的音乐模型后端(可以理解成“三套不同的 AI 音乐引擎”):

  • ACE-Step 1.5
  • MiniMax-Music3
  • YuE2

三、普通用户最简单的用法

如果你只是想“装上、打开、生成一首歌”,不需要自己编译源码。

官方已经提供了打包好的 Release(发布包,相当于开发者替你编译好的成品压缩包)。

第 1 步:下载对应版本

打开 Release 页面:

https://github.com/scragnog/HOT-Step-CPP/releases  

根据你的电脑硬件选择:

你的硬件
选哪个
NVIDIA RTX 20 系及以上、GTX 16 系
cuda13.1(推荐)
NVIDIA GTX 10 系、Tesla P40/P100
cuda12.8
AMD 或 Intel 显卡
vulkan
没有可用显卡
cpu
Apple Silicon(M1 及以后)
macOS-arm64(Metal)

注意:

  • 文件名会写清楚平台和 GPU,比如 HOT-Step-CPP-v1.3.4-win-x64-cuda13.1.zip
  • cpu
     版任何电脑都能跑,但速度会慢很多
  • 下载包只有 100~500 MB,但模型还需要另外下载(最小的包约 5 GB,推荐包约 9 GB)

第 2 步:解压并启动   

  1. 把整个压缩包解压到一个单独的文件夹里,不要打乱目录结构   
  2. 启动程序:   - Windows:双击 HOT-Step.bat   - Linux / macOS:在终端里运行 ./HOT-Step.sh
  3. 会弹出一个控制台窗口,不要关掉它,关掉程序就停了   
  4. 浏览器会自动打开 http://localhost:3001,如果没打开,自己手动输入这个地址

小提示:Windows CUDA 版本第一次启动时,会自动下载 CUDA 运行库(约 510 MB ~ 810 MB)。下载完成前还不能生成音乐,控制台会显示进度。如果下载失败,引擎会退回 CPU 模式运行。

第 3 步:下载第一个模型

压缩包里不包含模型文件。所以第一次启动时,引擎会提示 no models found,这是正常的。

页面加载约 8 秒后,Model Manager(模型管理器)会自动打开。你也可以随时通过顶部栏 Models 区域的Get More Models打开它。

最简单的新手操作:

  1. 停留在 ACE-Step 1.5 标签页(这是默认后端,也是所有工作室都支持的一个)
  2. 在 Starter Packs 下,点击 Quick Start 卡片上的下载按钮  
  3. 这个包约 9 GB,包含 Turbo DiT、4B 语言模型、文本编码器和几个解码器   
  4. 等进度条走完。下载中断了也可以续传  
  5. 点击侧边栏的 Restart 并确认

为什么必须重启?因为引擎只在启动时扫描一次模型文件夹,重启后新模型才会被识别。

第 4 步:生成第一首歌(最简单的例子)

这是最核心的一步,我们用一个最小例子走完:

  1. 点击左侧边栏的 Custom-Gen 
  2. 在 风格描述 里填入:
Warm 90s trip-hop, dusty breakbeat, upright bass,      breathy female vocals, 88 BPM

意思是:温暖的 90 年代 trip-hop 风格、带灰尘感的 breakbeat 鼓点、立式贝斯、气声女声、88 BPM。

注意:写得越具体越好。“chill song”这种模糊描述效果会差很多。要写清楚:风格、乐器、人声类型、速度。   

  1. 在 歌词 里填入:
[Verse]      Walking through the night      I can see the distant light[Chorus]      We will rise again      We will never lose the flame      

其中 [Verse]、[Chorus] 是段落标签,各自单独占一行。

如果你不想写歌词,可以打开纯音乐(无人声)开关。

  1. 点击 Generate(生成)   
  2. 生成记录里会显示进度,右侧的 Terminal 会显示引擎的实时输出   
  3. 生成完成后,歌曲会出现在 曲库 里

到这一步,你就完成了从零到第一首歌的全过程。

如果你连风格都不想写,可以用 Auto-Gen:只选一个音乐类型,AI 会帮你写好标题、风格描述和歌词。


四、进阶玩法:用 YuE2 导入 ABC 乐谱,生成《贝加尔湖畔》

前面用的是 ACE-Step 1.5,靠风格描述和歌词生成。

HOT-Step-CPP 支持的另一个模型YuE2,多了一个很实用的功能:可以直接导入 ABC 乐谱。

ABC 是一种用纯文本写乐谱的格式。你可以把它理解成“用字母和数字写的简谱”,一段文本就是一首曲子的旋律、和弦、结构。YuE2 能读懂这种格式,把它作为参考,生成更贴近你想要的旋律走向的音乐。

下面用一首大家熟悉的歌——《贝加尔湖畔》——走一遍完整流程。

1. 切换到 YuE2

在顶部功能区切换到YUE2后端,然后进入左侧的Custom-Gen。

如果你还没下载 YuE2 的模型,先在 Model Manager 的 YuE2 标签页里下载一个包。显存有限的话可以选YuE2 Compact (imatrix),约 3.1 GB。

2. 填写风格描述

在风格描述里填入:

Jazz ballad, brushed drums, upright bass, warm piano,      muted trumpet, intimate Mandarin male vocal, 60 BPM  

意思是:爵士叙事曲风格、刷式鼓、立式贝斯、温暖钢琴、弱音小号、亲密的中文男声、60 BPM。

3. 填写歌词

在歌词里填入:

[Verse]      在我的怀里      在你的眼里      那里春风沉醉      那里绿草如茵      月光把爱恋      洒满了湖面      两个人的篝火      照亮整个夜晚[Chorus]      多少年以后      如云般游走      那变换的脚步      让我们难牵手      这一生一世      有多少你我      被吞没在月光      如水的夜里[Post-Chorus]      多想某一天      往日又重现      我们流连忘返      在贝加尔湖畔[Chorus]      多少年以后      往事随云走      那纷飞的冰雪      容不下那温柔      这一生一世      这时间太少      不够证明融化      冰雪的深情 [Post-Chorus]      就在某一天      你忽然出现      你清澈又神秘      在贝加尔湖畔      你清澈又神秘      像贝加尔湖畔  

4. 导入 ABC 乐谱

ABC 乐谱不是填在歌词框里的,入口在顶部功能区的「生成」设置里。

具体操作: 

  1. 点击顶部功能区的 「生成」(就是 模型 | YUE2 | 适配器 | 生成 | LM / 思考 那一排里的「生成」)   
  2. 在生成设置里找到 PREVIEW THE SCORE FIRST(生成前预览乐谱)   
  3. 把它打开   
  4. 下方会展开 LEAD SHEET (ABC) 文本框   
  5. 把下面的 ABC 乐谱粘贴进去
X:1      T:      M:2/4      L:1/16      Q:1/4=60      V: Vocal clef=treble name=”Vocal Melody” snm=”Vocal”      V: Ins clef=treble name=”Ins Melody” snm=”Inst.”      K:F      % intro      V: Vocal      Z2|”Gm”z8|”C”z8|      V: Ins      Z|z2def2c'2|b8|z2cde2b2|      V: Vocal      ”Fmaj7”z8|”D”z8|”Gm”z8|”A7”z8|      V: Ins      a8|z2A2d2c2|B3AG4|G2E2A2G2|      V: Vocal      ”Dm”z8|      V: Ins      d8|      % verse      V: Vocal      ”Dm”z2DEF2c2|      V: Ins      Z|      V: Vocal      ”Gm”B4z4|”C”z2CDE2B2|”Fmaj7”A4z4|”D”z2AAd2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B2G2z3F|”C”E2FG3B2|”Fmaj7”A4z4|”Dm”z2DEF2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B4z4|”C”z2CDE2B2|”Fmaj7”A4z4|”D”z2AAd2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B2G2z3F|”A7”E2AG3FE|”Dm”D2DDD2d2|      V: Ins      Z3|      % chorus      V: Vocal      ”Bb”d6z2|”Bb”z2Ddc2dc|”Fmaj7”A4z4|”Fmaj7”z2AAd2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B2G2z3F|”C”E2FG3B2|”Fmaj7”A6z2|”Fmaj7”z2DDD2d2|      V: Ins      Z4|      V: Vocal      ”Bb”d8|”Bb”z2deggf2|”Fmaj7”A6z2|”Fmaj7”z2AAd2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B2G4z2|”C”c2de3e2|”Fmaj7”a8|”A”e8|      V: Ins      Z4|      V: Vocal      ”A”z8|”Dm”z2DEF2c2|      V: Ins      Z2|      % post-chorus      V: Vocal      ”Gm”B4z4|”C”z2CDE2B2|”Fmaj7”A4z4|”D”z2AAd2cB-|      V: Ins      Z4|      V: Vocal      ”Gm”BGG2z3E|”A”E2AG3F2|”Dm”D4z4|”Dm”z8|      V: Ins      Z2|z4fdAF|D2DEF2c2|      % interlude      V: Vocal      ”Gm”z8|”C”z8|”Fmaj7”z8|”D”z8|      V: Ins      B8|z2cde2b2|a8|z2AAB2a^g|      V: Vocal      ”Gm”z8|”C”z8|”Fmaj7”z8|”A”z8|      V: Ins      g6f2|e2fg3c'=b|a8|z2dfad'2^c'|      V: Vocal      ”Gm”z8|”C”z8|”Fmaj7”z8|”D”z8|      V: Ins      d'2DGBd2^c|d3d'e'4|c'8|z2d^fad'2c'|      V: Vocal      ”Gm”z8|”A7”z8|”Dm”z8|      V: Ins      b6a2|g2e2a2g2|d'd'^c'd'a'f'd'a|      % chorus      V: Vocal      ”Dm”z2DD”Dm7/C”D2d2|      V: Ins      f^cz6|      V: Vocal      ”Bb”d6z2|”Bb”z2Ddc2e2-|”Fmaj7”e2A4z2|”Fmaj7”z2AAd2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B2G2z3F|”C”E2FG3B2|”Fmaj7”A6z2|”Fmaj7”z2DDD2d2|      V: Ins      Z4|      V: Vocal      ”Bb”d6z2|”Bb”z2deggf2|”Fmaj7”A6z2|”Fmaj7”z2AAd2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B2G4z2|”C”c2de3e2|”Fmaj7”a6gf|”A7”e8|      V: Ins      Z4|      V: Vocal      ”A7”z8|”A7”z2DEF2c2|      V: Ins      Z2|      % post-chorus      V: Vocal      ”Gm”B4z4|”C”z2CDE2B2|”Fmaj7”A4z4|”Dm7”z2AA”D7”d2c2|      V: Ins      Z4|      V: Vocal      ”Gm”B2G2z3E|”A7”E2AG3E2|”Dm”D4z4|”Dm”z2AAd2c2|      V: Ins      Z2|z4fdAF|D2z6|      V: Vocal      ”Gm”B2G2z3E|”A7”EE2GG4|”A7”z4FF3-|”Dm”FDD4z2|      V: Ins      Z4|      % outro      V: Vocal      ”Dm”z8|”Dm”z8|”Dm”z4”D”z4|      V: Ins      Z3|      V: Vocal      ”D”z4”Dsus2”z4|”Dsus2”z4”Dm”z4|”Dm”z8|”Dm”z8|      V: Ins      Z4|      V: Vocal      ”Dm”z8|”Dm”z8|”Dm”z8|      V: Ins      Z3|  

这段 ABC 谱里几个关键信息:

记号
含义
X:1
曲子编号
M:2/4
拍号,每小节两拍,以四分音符为一拍
L:1/16
默认音符时值,1/16 音符
Q:1/4=60
速度,每分钟 60 个四分音符
K:F
调性,F 大调
V: Vocal
人声旋律声部
V: Ins
乐器旋律声部
"Gm"
、"C"、"Fmaj7"
和弦标记
z
休止符
Z
整小节休止
% verse
、% chorus
注释,标记段落

也就是说,这段文本同时告诉 YuE2:旋律怎么走、和弦是什么、速度多快、哪里是人声、哪里是乐器、哪里是主歌、哪里是副歌。

5. 生成

点击Generate。

YuE2 会把风格描述、歌词和 ABC 乐谱一起作为参考,生成一首贴近《贝加尔湖畔》旋律走向和爵士叙事曲风格的音乐。

6. 关于 ABC 乐谱的几点说明

  • ABC 乐谱是参考,不是逐音符复制。生成结果会受模型、参数、随机种子影响
  • 段落注释(% verse、% chorus)可以帮助模型理解歌曲结构
  • 和弦标记("Gm" 这种)会影响和声走向
  • 如果只想试旋律、不写歌词,可以把歌词留空或开 Instrumental
  • ABC 谱可以用 EasyABC、ABCjs 这类工具预览,确认没写错再导入

五、生成的文件都放在哪?

所有内容都保存在你解压出来的那个文件夹里:

路径
内容
models/
模型文件。ACE-Step 1.5 直接放这里,MiniMax-Music3 和 YuE2 分别放 models/mm3/ 和 models/yue2/
adapters/
LoRA 和 LoKr 适配器
engine/
引擎程序,以及第一次启动下载的 CUDA 运行库
server/data/
歌曲库数据库、歌词数据库、生成的音频
logs/
每次运行的日志,排查问题用
.env
配置文件,第一次启动时从 .env.example 生成

模型和适配器文件夹可以在设置里改到别的位置,但改完需要重启。


六、给新手的几个实用提醒

  1. 不要关控制台窗口,关了服务就停了,浏览器会打不开   
  2. 第一次启动会下载 CUDA 运行库,耐心等进度走完   
  3. 模型要单独下载,压缩包里没有   
  4. 下载完模型要重启,否则引擎识别不到  
  5. 风格描述要具体:风格 + 乐器 + 人声 + 速度   
  6. 显存不够时:换更小的模型包、减少生成长度、关闭不需要的功能
  7. 显卡没被用上:先确认你下载的是 CUDA / Vulkan 版,不是 CPU 版  
  8. ABC 乐谱不是填在歌词框:要点击顶部功能区的 「生成」,打开 PREVIEW THE SCORE FIRST,再在 LEAD SHEET (ABC) 里粘贴

七、如果你是开发者

想改源码的话,流程会复杂不少,大致需要:

Git      Node.js 24 LTS      CMake 3.21+      Visual Studio 2022 Build Tools      CUDA Toolkit(NVIDIA 显卡时)  

关键步骤:

git clone --recursive https://github.com/scragnog/HOT-Step-CPP.git      cd HOT-Step-CPP      engine\build.cmd      cd server && npm install && cd ..      cd ui && npm install && cd ..      .\LAUNCH.bat  

其中 --recursive 很重要,它会连项目依赖的子模块一起下载。

开发模式用 dev.bat,访问 http://localhost:3000,支持热更新(改代码自动刷新页面)。


八、一句话总结

HOT-Step-CPP 可以概括成一句话:

一个开源的本地 AI 音乐生成工具,ACE-Step、MiniMax、YuE2 三大模型随意切换,从生成到音轨分离、MIDI 一整套都能在自己的电脑上完成。

对普通用户来说,最短路径就是:

下载 Release选对 CUDA / Vulkan / CPU 版本          ↓      解压          ↓      双击 HOT-Step.bat          ↓      打开 localhost:3001          ↓      Model Manager 下载 Quick Start 包          ↓      重启          ↓      Custom-Gen 填风格和歌词          ↓      Generate          ↓      在 Library 里听歌  

如果你想试 YuE2 的 ABC 乐谱功能,路径是:

顶部功能切换到 YUE2          ↓      左侧 Custom-Gen 填风格描述 + 歌词          ↓      点击顶部功能区的「生成」          ↓      打开 PREVIEW THE SCORE FIRST          ↓      在 LEAD SHEET (ABC) 里粘贴 ABC 乐谱         ↓      Generate  

官方文档:

  • README:项目功能和快速开始
  • docs/user/getting-started.md:快速入门
  • docs/dev/architecture.md:架构说明
  • docs/dev/building.md:源码编译
  • FEATURES.md:完整功能列表
#本地部署 #AI音乐 #YuE2 #MiniMax #AI翻唱

相关学习资料