SongBloom革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐【免费下载链接】SongBloomThe official code repository for SongBloom: Coherent Song Generation via Interleaved Autoregressive Sketching and Diffusion Refinement项目地址: https://gitcode.com/gh_mirrors/so/SongBloomSongBloom 是一款突破性的歌曲生成框架它通过交织自回归草图绘制与扩散模型优化的创新范式实现了完整音乐作品的高质量创作。该框架将扩散模型的高保真度与语言模型的可扩展性完美结合为音乐创作领域带来了全新的可能性。 核心技术架构双引擎驱动的音乐创作SongBloom 的核心优势在于其独特的双引擎架构将自回归生成与扩散模型优化有机结合实现了从粗略到精细的音乐创作过程。SongBloom 交织自回归与扩散模型的架构示意图展示了从歌词和参考音频到完整音乐生成的全过程自回归草图生成Autoregressive Sketching框架的左侧部分展示了自回归生成流程通过 Transformer 解码器将歌词Lyrics和参考音频Reference Audio转化为音乐草图。这一过程中条件令牌Condition Token接收歌词和音频风格输入草图令牌Sketch Token生成音乐的基本结构和旋律走向声学令牌Acoustic Token添加音色和表现力细节隐藏向量Hidden Vector连接不同层次的特征表示自回归模型逐步将音乐从短片段扩展为完整长度确保了音乐结构的连贯性和逻辑性。扩散模型优化Diffusion Refinement框架右侧展示了扩散模型优化流程通过以下组件实现音质提升VAE变分自编码器负责将音频信号转换为潜在空间表示DiT扩散Transformer对潜在空间中的音频特征进行精细化处理噪声注入与去除通过逐步去噪过程优化音频质量这一过程确保了最终生成的音乐具有极高的保真度和专业级音质。 快速上手从零开始的音乐创作之旅环境准备SongBloom 提供了简单易用的环境配置流程即使是新手也能快速搭建创作环境conda create -n SongBloom python3.8.12 conda activate SongBloom pip install -r requirements.txt数据准备创作音乐需要准备一个 JSONL 格式的输入文件包含歌词和参考音频路径{ idx: 样本索引, lyrics: 要生成的歌词, prompt_wav: 风格参考音频路径 }项目中提供了示例文件example/test.jsonl参考音频应为 10 秒、48kHz 的音频片段。歌词格式指南歌词需要遵循特定的格式规范包含 vocal 和 non-vocal 部分Vocal 部分需以[verse]、[chorus]或[bridge]开头后跟歌词文本Non-vocal 部分使用[intro]、[inst]或[outro]表示可重复多次以控制时长分隔符使用句号 (.) 分隔句子逗号 (,) 分隔不同段落详细格式说明可参考docs/lyric_format.md一键生成音乐完成准备后只需一条命令即可生成完整音乐source set_env.sh python3 infer.py --input-jsonl example/test.jsonl对于低显存 GPU如 RTX4090可使用半精度模式减少内存占用python3 infer.py --input-jsonl example/test.jsonl --dtype bfloat16 模型选择满足不同创作需求SongBloom 提供了多种预训练模型满足不同场景的创作需求模型名称大小最大长度提示类型songbloom_full_150s2B2分30秒10秒音频songbloom_full_150s_dpo2B2分30秒10秒音频songbloom_full_240s2B4分钟10秒音频其中150s 系列模型中每个[intro]、[outro]和[inst]对应 1 秒时长而 240s 系列模型中每个令牌对应 5 秒时长。 高级配置针对不同硬件优化Mac Silicon 用户Apple 芯片用户需设置以下环境变量export PYTORCH_ENABLE_MPS_FALLBACK1 export DISABLE_FLASH_ATTN1加载模型时显式指定 MPS 设备并使用 float32import torch device torch.device(mps) model SongBloom_Sampler.build_from_trainer(cfg, strictFalse, dtypetorch.float32, devicedevice)启用 Flash Attention对于支持 Flash Attention 的 GPU可通过以下方式加速生成过程安装 flash-attn (v2.6.3)在 infer.py 第 8 行设置os.environ[DISABLE_FLASH_ATTN] 0 总结开启 AI 音乐创作新纪元SongBloom 通过创新的交织自回归与扩散模型架构彻底改变了 AI 音乐创作的方式。无论是音乐爱好者、内容创作者还是专业音乐人都能通过这一强大工具释放创作灵感轻松生成高质量的完整歌曲。随着项目的不断更新SongBloom 持续优化模型性能降低内存消耗让更多人能够体验 AI 音乐创作的乐趣。现在就开始你的音乐创作之旅用 SongBloom 编织属于你的旋律吧 相关资源许可证信息LICENSE模型架构代码models/songbloom/歌词处理模块g2p/推理脚本infer.py【免费下载链接】SongBloomThe official code repository for SongBloom: Coherent Song Generation via Interleaved Autoregressive Sketching and Diffusion Refinement项目地址: https://gitcode.com/gh_mirrors/so/SongBloom创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考