先说一件很多人搜「Magenta 本地部署」时会踩空的事:那个 19.8k star 的 magenta/magenta 老仓库,已经在 2026 年 1 月 6 日归档转只读了,magenta-demos 同一天一起归档。它属于 TensorFlow 1 时代的 MelodyRNN、MusicVAE、GANSynth,装依赖比跑模型还费劲。今天 Magenta 组织里还在动的是 magenta-realtime、ddsp、mt3、magenta-js、magenta-studio 这几个仓库,音乐生成的主线就是 magenta-realtime。
Magenta RealTime 2 于 2026 年 6 月 4 日发布,开源权重两档:mrt2_base 2.4B、mrt2_small 230M。它不是「输入一段文字等三十秒出一首歌」的那种模型,而是逐帧自回归的实时流式模型——一帧 40ms,v1 是 2 秒一块,v2 改成逐帧,控制延迟从大约 3 秒压到大约 200ms,官方说法是延迟降低约 15 倍。结构上是 SpectroStream 音频编解码器加 MusicCoCa 文本/音频联合嵌入,再接一个带 Depthformer 的 decoder-only Transformer。v2 还新增了 MIDI 条件输入,每帧一个 128 维 multihot 向量,可以拿键盘直接弹进去。
但有个关键限制必须提前讲明白:真正的实时流式播放走的是 Apple Silicon 上的 C++ 引擎和 MLX 后端,NVIDIA 显卡上跑的是 JAX 后端的离线(非实时)推理。所以租 GPU 的正确姿势不是「租张卡当实时合成器」,而是批量出片、做风格向量提取、跑评估集、微调下游模型——这些恰恰是本地 Mac 最吃不消、按秒计费的云卡最划算的部分。
01 —
Magenta 家族现在有哪些东西可以跑
权重都在 HuggingFace 的 google/magenta-realtime-2,整仓 15.6GB
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| Magenta RealTime 2 · mrt2_base | 2.4B | fp32 检查点 9.84GB,bf16 权重约 4.8GB,建议 24GB 卡起 | 每层 25 帧窗口注意力 × 20 层,约 20s 有效感受野 | 质量档。Apple Silicon 上要 M2 Max/M3 Pro 以上才能实时;在 NVIDIA 上做离线批量生成正合适。 |
| Magenta RealTime 2 · mrt2_small | 230M | fp32 检查点 1.13GB,bf16 权重约 0.46GB,16GB 卡绰绰有余 | 每层 41 帧窗口注意力 × 12 层,同样约 20s 有效感受野 | 轻量档。任意 Apple Silicon(含 MacBook Air)都能实时;云上适合大批量扫参数、跑消融实验。 |
| SpectroStream 音频编解码器 | 随权重包一同分发 | 含在 15.6GB 仓库内,与 LLM 同卡驻留 | 48kHz 立体声 → 25Hz 帧率 / 64 层 RVQ / 10-bit 码 / 16kbps | 负责把波形 token 化再还原。它决定了输出是 48kHz 立体声,而不是很多开源音乐模型那种 32kHz 单声道。 |
| MusicCoCa 风格嵌入模型 | 随权重包一同分发 | 单独跑只做 embedding 时占用极小 | 输入 16kHz 单声道音频或文本 → 768 维向量,量化为 12 层 RVQ token | 文本提示和音频提示共用一个空间,风格混合、音色克隆全靠它。可以脱离 LLM 单独调用来批量提特征。 |
| Magenta RealTime v1(legacy 分支) | 论文口径整体 750M;LLM 分 Base 220M / Large 770M 两档 | HuggingFace google/magenta-realtime 仓库 11.1GB(TF/Keras savedmodel) | 10s 音频上下文,每次生成 2s 分块 | 论文报告 Large 配置在 H100 上 RTF=1.8,Demo 可在免费 Colab TPU v2-8 上实时跑。要复现 2025 年的论文结果才用它。 |
| magenta/magenta 经典 Python 库 | MelodyRNN / MusicVAE / GANSynth / Performance RNN 等 | TF1 时代模型,CPU 也能跑,显存不是瓶颈 | 符号化 MIDI 为主,非音频波形 | 已于 2026-01-06 归档只读,仅作论文附录保留。新项目请直接用 magenta-realtime;做转录去 mt3,做可微分合成去 ddsp。 |
02 —
该租哪张卡:按你实际要做的事对号入座
NexGPU 列表价,按秒计量按小时计价,停机即停止计算计费
跑 mrt2_small、批量提 MusicCoCa 风格向量、扫提示词
RTX 3090 24GB$0.193/卡·时
1.13GB 的检查点在 24GB 上根本不占地方,而 3090 是整个价目表里最便宜又满足 JAX CUDA 13 的 sm_75 门槛的卡,比 Tesla T4 还便宜。
mrt2_base 2.4B 离线生成、bulk_generate 出片
RTX 4090 24GB$0.540/卡·时
9.84GB 的 fp32 检查点加上 SpectroStream 与 JAX 显存池,24GB 是稳妥起点,Ada 架构的吞吐比 3090 明显更适合长时间连续生成。
同时驻留 codec、LLM 和一份微调副本,或做下游模型训练
RTX A6000 48GB$0.817/卡·时
48GB 能让你把 mrt2_base、SpectroStream、MusicCoCa 和优化器状态一起放下,不用反复换出换入,也不必和 JAX 的预分配策略斗智斗勇。
追求最高单卡吞吐、逼近实时的离线流水线
H100 SXM 80GB$3.582/卡·时
Live Music Models 论文里唯一给出的 GPU 实测数字就是 H100 上 RTF=1.8(v1 Large 配置),要按这个基准做容量规划就直接上同款卡。
03 —
在 NexGPU 上把 Magenta RealTime 2 跑起来
Python 3.12 + uv + jax[cuda13],四步,从开机到出第一段音频
- 01
开实例,先确认算力等级
在 console.nexgpu.net 选一台 NVIDIA 实例,用 Ubuntu CLI 或 PyTorch 预置镜像即可,2000+ 镜像里不需要额外申请配额。开机第一件事是确认计算能力:jax[cuda13] 的下限是 sm_75(Turing),Volta 的 Tesla V100(sm_70)和 Pascal 的 Tesla P40(sm_61)在 CUDA 13 轮子上不受支持,得退回 jax[cuda12] 这条 legacy 路径(CUDA 12 支持 sm_52 及以上)。驱动方面 CUDA 13 要求 ≥ 580。
nvidia-smi --query-gpu=name,compute_cap,memory.total --format=csv - 02
装 magenta-rt 和对应的 JAX 轮子
官方要求 Python 3.12,并推荐用 uv 建环境。基础安装自带 CPU 版 JAX,必须自己额外装匹配硬件的加速轮子——这一步漏了,模型会安安静静地在 CPU 上跑,你只会觉得「怎么这么慢」。macOS 上那个 [mlx] extra 在 Linux 上没有意义,别照抄 README 的快速开始。
uv venv --python 3.12 && source .venv/bin/activate && uv pip install "magenta-rt" "jax[cuda13]" - 03
拉权重(注意这一步是交互式的)
mrt models init 先拉共享资源,mrt models download 再选模型。它是交互式选单,纯脚本化的无人值守部署要留意这一点,建议在 tmux 或 Jupyter 终端里跑完再转后台。权重默认落在 ~/Documents/Magenta/magenta-rt-v2/,在 Linux 服务器上是个挺意外的路径,做持久化存储挂载时记得对上——整仓 15.6GB。
mrt models init && mrt models download - 04
生成音频,并按住 JAX 的显存池
JAX 默认会预分配约 75% 的显存,多进程或同卡还要跑别的东西时会直接爆掉,先关掉预分配。mrt jax generate 出一段 4 秒的样例验证链路;批量出片用仓库里的 bulk_generate.py,结果落在 outputs/eval_audio/<size>/。想单独调风格嵌入,from magenta_rt.musiccoca import MusicCoCa 之后 m.tokenize(m.embed('a jazz piano trio')) 就能拿到 token。
export XLA_PYTHON_CLIENT_PREALLOCATE=false && mrt jax generate && python scripts/bulk_generate.py --size=mrt2_base
一次批量出片到底花多少钱
以 mrt2_base 批量生成为例,选 RTX 4090 24GB,$0.540/卡·时。开机、拉镜像并跑完 mrt models init && mrt models download(整仓 15.6GB)约 12 分钟,即 0.2 小时 × $0.540 = $0.108;接着 bulk_generate.py --size=mrt2_base 连跑 3 小时,3 × $0.540 = $1.62。计算部分合计 3.2 小时 = $1.728,实例一停计算立刻停止计费,不存在最低时长或开通费。产物按 48kHz 16-bit 立体声 WAV 计,每分钟约 11.52MB,100 分钟约 1.15GB,按中位出网价 $0.0081/GB 下载回本地是 $0.009——不到一分钱。权重加输出占 40GB 存储,当天销毁实例只摊一天:40 × $0.414 ÷ 30 ≈ $0.55;整月保留才是 40 × $0.414 = $16.56,注意存储在实例销毁前会一直计费。合计一轮 3 小时的批量生成含下载不到 $1.8;若这一轮产出 100 分钟音频,折合每分钟音频约 $0.017。只跑 mrt2_small 的话换成 RTX 3090 24GB($0.193/卡·时),同样 3.2 小时只要 $0.618。
04 —
