Inspiremusic 1.5B
InspireMusic是一个专注于音乐生成、歌曲生成和音频生成的统一框架,支持高音质和长篇幅音乐生成。
下载量 31
发布时间 : 1/8/2025
模型简介
InspireMusic是通过音频标记化与自回归变换器及基于流匹配的模型相结合的统一的音乐、歌曲和音频生成框架。该工具包提供了基于人工智能的生成模型训练和推理代码,可创建高质量音乐。
模型特点
统一框架
集成了音频标记器与自回归变换器及超分辨率流匹配建模,支持通过文本和音频提示可控地生成音乐、歌曲和音频。
高质量生成
支持高音质的音乐生成任务,能够生成24KHz单声道和48KHz立体声音频。
长篇幅生成
支持长达数分钟的长篇音乐生成。
多任务支持
支持文本到音乐、音乐延续、音乐重建和音乐超分辨率等多种任务。
模型能力
文本到音乐生成
音乐延续生成
音乐重建
音乐超分辨率
高质量音频生成
长篇幅音乐生成
使用案例
音乐创作
背景音乐生成
为餐厅或水疗中心生成舒缓的爵士乐背景音乐。
生成30秒至数分钟的高质量音乐片段
音乐风格转换
根据文本提示生成特定风格的音乐,如波萨诺瓦风格。
保持原音乐风格特征的同时转换风格
音频处理
音乐超分辨率
提升低质量音频的音质。
生成更高采样率的音频
音乐延续
基于现有音乐片段继续生成音乐。
生成连贯的音乐延续部分
🚀 InspireMusic
InspireMusic是一个专注于音乐、歌曲和音频生成的统一工具包。它能够生成高质量的音频,支持长格式音乐生成,为音乐创作带来了新的可能性。
感谢大家支持,请给我们的项目点个星吧!
🚀 快速开始
音乐生成快速推理示例
cd InspireMusic
mkdir -p pretrained_models
# 下载模型
# ModelScope
git clone https://www.modelscope.cn/iic/InspireMusic-1.5B-Long.git pretrained_models/InspireMusic-1.5B-Long
# HuggingFace
git clone https://huggingface.co/FunAudioLLM/InspireMusic-1.5B-Long.git pretrained_models/InspireMusic-1.5B-Long
cd examples/music_generation
# 运行快速推理示例
sh infer_1.5b_long.sh
音乐生成任务快速开始脚本
cd InspireMusic/examples/music_generation/
sh run.sh
一键推理
文本到音乐任务
cd examples/music_generation
# 使用流匹配,使用单行命令快速尝试
python -m inspiremusic.cli.inference
# 自定义配置,如下单行命令
python -m inspiremusic.cli.inference --task text-to-music -m "InspireMusic-1.5B-Long" -g 0 -t "Experience soothing and sensual instrumental jazz with a touch of Bossa Nova, perfect for a relaxing restaurant or spa ambiance." -c intro -s 0.0 -e 30.0 -r "exp/inspiremusic" -o output -f wav
# 不使用流匹配,使用单行命令快速尝试
python -m inspiremusic.cli.inference --task text-to-music -g 0 -t "Experience soothing and sensual instrumental jazz with a touch of Bossa Nova, perfect for a relaxing restaurant or spa ambiance." --fast True
或者,你可以使用几行Python代码进行推理:
from inspiremusic.cli.inference import InspireMusic
from inspiremusic.cli.inference import env_variables
if __name__ == "__main__":
env_variables()
model = InspireMusic(model_name = "InspireMusic-Base")
model.inference("text-to-music", "Experience soothing and sensual instrumental jazz with a touch of Bossa Nova, perfect for a relaxing restaurant or spa ambiance.")
音乐续接任务
cd examples/music_generation
# 使用流匹配
python -m inspiremusic.cli.inference --task continuation -g 0 -a audio_prompt.wav
# 不使用流匹配
python -m inspiremusic.cli.inference --task continuation -g 0 -a audio_prompt.wav --fast True
或者,你可以使用几行Python代码进行推理:
from inspiremusic.cli.inference import InspireMusic
from inspiremusic.cli.inference import env_variables
if __name__ == "__main__":
env_variables()
model = InspireMusic(model_name = "InspireMusic-Base")
# 仅使用音频提示
model.inference("continuation", None, "audio_prompt.wav")
# 使用文本提示和音频提示
model.inference("continuation", "Continue to generate jazz music.", "audio_prompt.wav")
✨ 主要特性
- 统一框架:专为音乐、歌曲和音频生成设计的统一工具包。
- 高质量音频:能够完成高质量的音乐生成任务。
- 长格式音乐生成:支持长格式音乐的生成。
📦 安装指南
克隆仓库
git clone --recursive https://github.com/FunAudioLLM/InspireMusic.git
# 如果由于网络问题克隆子模块失败,请运行以下命令直到成功
cd InspireMusic
git submodule update --recursive
# 或者你可以手动下载第三方仓库Matcha-TTS
cd third_party && git clone https://github.com/shivammehta25/Matcha-TTS.git
从源代码安装
InspireMusic需要Python >= 3.8、PyTorch >= 2.0.1、flash attention == 2.6.2/2.6.3、CUDA >= 11.2。你可以使用以下命令安装依赖:
# 安装Conda,请参考https://docs.conda.io/en/latest/miniconda.html
# 创建Conda环境
conda create -n inspiremusic python=3.8
conda activate inspiremusic
cd InspireMusic
# WeTextProcessing需要pynini,使用conda安装,因为它可以在所有平台上执行
conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
# 安装flash attention以加速训练
pip install flash-attn --no-build-isolation
cd InspireMusic
# 安装包
python setup.py install
pip install flash-attn --no-build-isolation
我们还建议安装sox
或ffmpeg
,可以通过系统或Anaconda进行安装:
# 安装sox
# Ubuntu
sudo apt-get install sox libsox-dev
# CentOS
sudo yum install sox sox-devel
# 安装ffmpeg
# Ubuntu
sudo apt-get install ffmpeg
# CentOS
sudo yum install ffmpeg
使用Docker
# 从提供的Dockerfile构建Docker镜像
docker build -t inspiremusic .
# 以交互模式启动Docker容器
docker run -ti --gpus all -v .:/workspace/InspireMusic inspiremusic
使用Docker Compose
# 从docker-compose.yml文件构建Docker Compose环境和Docker镜像
docker compose up -d --build
# 以交互模式连接到Docker容器
docker exec -ti inspire-music bash
💻 使用示例
基础用法
训练LLM模型示例(支持BF16/FP16训练)
torchrun --nnodes=1 --nproc_per_node=8 \
--rdzv_id=1024 --rdzv_backend="c10d" --rdzv_endpoint="localhost:0" \
inspiremusic/bin/train.py \
--train_engine "torch_ddp" \
--config conf/inspiremusic.yaml \
--train_data data/train.data.list \
--cv_data data/dev.data.list \
--model llm \
--model_dir `pwd`/exp/music_generation/llm/ \
--tensorboard_dir `pwd`/tensorboard/music_generation/llm/ \
--ddp.dist_backend "nccl" \
--num_workers 8 \
--prefetch 100 \
--pin_memory \
--deepspeed_config ./conf/ds_stage2.json \
--deepspeed.save_states model+optimizer \
--fp16
训练流匹配模型示例(不支持FP16训练)
torchrun --nnodes=1 --nproc_per_node=8 \
--rdzv_id=1024 --rdzv_backend="c10d" --rdzv_endpoint="localhost:0" \
inspiremusic/bin/train.py \
--train_engine "torch_ddp" \
--config conf/inspiremusic.yaml \
--train_data data/train.data.list \
--cv_data data/dev.data.list \
--model flow \
--model_dir `pwd`/exp/music_generation/flow/ \
--tensorboard_dir `pwd`/tensorboard/music_generation/flow/ \
--ddp.dist_backend "nccl" \
--num_workers 8 \
--prefetch 100 \
--pin_memory \
--deepspeed_config ./conf/ds_stage2.json \
--deepspeed.save_states model+optimizer
快速进行模型推理示例
cd InspireMusic/examples/music_generation/
sh infer.sh
正常模式推理示例(使用流匹配模型进行文本到音乐和音乐续接任务)
pretrained_model_dir = "pretrained_models/InspireMusic/"
for task in 'text-to-music' 'continuation'; do
python inspiremusic/bin/inference.py --task $task \
--gpu 0 \
--config conf/inspiremusic.yaml \
--prompt_data data/test/parquet/data.list \
--flow_model $pretrained_model_dir/flow.pt \
--llm_model $pretrained_model_dir/llm.pt \
--music_tokenizer $pretrained_model_dir/music_tokenizer \
--wavtokenizer $pretrained_model_dir/wavtokenizer \
--result_dir `pwd`/exp/inspiremusic/${task}_test \
--chorus verse
done
快速模式推理示例(不使用流匹配模型进行文本到音乐和音乐续接任务)
pretrained_model_dir = "pretrained_models/InspireMusic/"
for task in 'text-to-music' 'continuation'; do
python inspiremusic/bin/inference.py --task $task \
--gpu 0 \
--config conf/inspiremusic.yaml \
--prompt_data data/test/parquet/data.list \
--flow_model $pretrained_model_dir/flow.pt \
--llm_model $pretrained_model_dir/llm.pt \
--music_tokenizer $pretrained_model_dir/music_tokenizer \
--wavtokenizer $pretrained_model_dir/wavtokenizer \
--result_dir `pwd`/exp/inspiremusic/${task}_test \
--chorus verse \
--fast
done
硬件要求
之前在H800 GPU上的测试表明,InspireMusic可以以实时因子(RTF)约1.6 - 1.8生成30秒的音频。对于正常模式,我们建议使用至少24GB GPU内存的硬件以获得更好的体验。对于快速模式,12GB GPU内存就足够了。
📚 详细文档
InspireMusic是一个用于音乐、歌曲和音频生成的统一框架,能够生成高质量的长格式音频。它由以下三个关键组件组成:
- 音频分词器(Audio Tokenizers):将原始音频波形转换为离散的音频标记,这些标记可以由自回归Transformer模型高效处理和训练。较低采样率的音频波形通过高比特率压缩音频分词器转换为离散标记。
- 自回归Transformer模型(Autoregressive Transformer):基于Qwen2.5作为骨干模型,使用下一个标记预测方法在文本和音频标记上进行训练,使其能够生成连贯且上下文相关的标记序列。
- 超分辨率流匹配模型(Super-Resolution Flow-Matching Model):基于流建模方法,将生成的标记映射到具有高分辨率细粒度声学细节的潜在特征,这些特征从更高采样率的音频中获得,以确保声学信息通过模型以高保真度连接。然后,声码器从这些增强的潜在特征中生成最终的音频波形。
InspireMusic支持一系列任务,包括文本到音乐、音乐续接、音乐重建和音乐超分辨率。
![]() |
图1:InspireMusic框架概述。我们介绍了InspireMusic,一个用于音乐、歌曲和音频生成的统一框架,能够生成高质量的长格式音频。InspireMusic由以下三个关键组件组成。音频分词器将原始音频波形转换为离散的音频标记,这些标记可以由自回归Transformer模型高效处理和训练。较低采样率的音频波形通过高比特率压缩音频分词器[1]转换为离散标记。自回归Transformer模型基于Qwen2.5[2]作为骨干模型,使用下一个标记预测方法在文本和音频标记上进行训练,使其能够生成连贯且上下文相关的标记序列。音频和文本标记是自回归模型的输入,通过下一个标记预测生成标记。超分辨率流匹配模型基于流建模方法,将生成的标记映射到具有高分辨率细粒度声学细节的潜在特征[3],这些特征从更高采样率的音频中获得,以确保声学信息通过模型以高保真度连接。然后,声码器从这些增强的潜在特征中生成最终的音频波形。InspireMusic支持一系列任务,包括文本到音乐、音乐续接、音乐重建和音乐超分辨率。 |
🔧 技术细节
InspireMusic通过集成音频分词器、自回归Transformer和基于流匹配的模型,实现了音乐、歌曲和音频的可控生成。音频分词器将原始音频转换为离散标记,自回归Transformer模型基于这些标记进行训练,生成连贯的标记序列。超分辨率流匹配模型则将生成的标记映射到具有高分辨率声学细节的潜在特征,最终通过声码器生成高质量的音频。
📄 许可证
文档中未提及相关内容。
引用
@misc{InspireMusic2025,
title={InspireMusic: Integrating Super Resolution and Large Language Model for High-Fidelity Long-Form Music Generation},
author={Chong Zhang and Yukun Ma and Qian Chen and Wen Wang and Shengkui Zhao and Zexu Pan and Hao Wang and Chongjia Ni and Trung Hieu Nguyen and Kun Zhou and Yidi Jiang and Chaohong Tan and Zhifu Gao and Zhihao Du and Bin Ma},
year={2025},
eprint={2503.00084},
archivePrefix={arXiv},
primaryClass={cs.SD},
url={https://arxiv.org/abs/2503.00084},
}
免责声明
以上内容仅用于研究目的,旨在展示技术能力。部分示例来源于互联网。如果任何内容侵犯了您的权益,请联系我们要求删除。
Musicgen Medium
MusicGen是一款基于文本描述或音频提示生成高质量音乐样本的文本转音乐模型,采用15亿参数的自回归Transformer架构。
音频生成
Transformers

M
facebook
1.5M
118
Encodec 24khz
EnCodec是由Meta AI开发的高保真实时神经音频编解码器,采用端到端训练方式,支持多种带宽设置。
音频生成
Transformers

E
facebook
534.08k
46
Encodec 32khz
Meta AI开发的高保真实时神经音频编解码器,专为MusicGen项目训练
音频生成
Transformers

E
facebook
348.00k
19
Bigvgan V2 44khz 128band 512x
MIT
BigVGAN是一种基于大规模训练的通用神经声码器,能够高质量地生成音频波形。
音频生成
B
nvidia
223.13k
41
Musicgen Small
MusicGen是一款基于文本描述或音频提示生成高质量音乐样本的文本到音乐模型。
音频生成
Transformers

M
facebook
123.91k
429
Stable Audio Open 1.0
其他
Stable Audio Open 1.0 是一个文本到音频生成模型,能够根据文本提示生成最长47秒的44.1kHz立体声音频。
音频生成 英语
S
stabilityai
36.03k
1,170
Bigvgan V2 24khz 100band 256x
MIT
BigVGAN是一种高性能神经声码器,通过大规模训练实现高质量的音频合成,支持多种采样率和频带配置。
音频生成
B
nvidia
34.03k
14
Encodec 48khz
MIT
EnCodec是由Meta AI开发的实时高保真神经音频编解码器,支持多种带宽配置和流式处理。
音频生成
Transformers

E
facebook
23.25k
32
Musicgen Songstarter V0.2
基于musicgen-stereo-melody-large微调的文本转音频模型,专为音乐制作人设计,可生成32kHz立体声音频的歌曲创意
音频生成 英语
M
nateraw
22.11k
157
Musicgen Stereo Small
基于文本描述生成高质量立体声音乐样本的AI模型,支持300M参数规模
音频生成
Transformers

M
facebook
7,091
29
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98