InspireMusic阿里通义实验室开源的音乐生成模型,支持文本或音频生成多种风格的音乐。今天跟大家分享一下 InspireMusic 这个由阿里巴巴通义实验室开源的音乐生成技术。
🚀 快速阅读
InspireMusic 是阿里巴巴通义实验室开源的音乐生成技术,能够通过人工智能为用户生成高质量的音乐作品。
- 核心功能:支持通过简单的文字描述或音频提示快速生成多种风格的音乐。
- 技术原理:基于多模态大模型技术,结合自回归 Transformer 模型、扩散模型(CFM)和 Vocoder 实现音乐生成。
InspireMusic 是什么
InspireMusic 是阿里巴巴通义实验室开源的音乐生成技术,通过人工智能为用户生成高质量的音乐作品。它基于多模态大模型技术,支持通过简单的文字描述或音频提示快速生成多种风格的音乐。InspireMusic 的核心架构包括音频 tokenizer、自回归 Transformer 模型、扩散模型(CFM)和 Vocoder,能实现文本生成音乐、音乐续写等功能。
InspireMusic 旨在为普通用户提供创新的声音景观和增强音乐创作的能力,适用于音乐创作、音频处理和个人音乐爱好者等多种场景。
InspireMusic 的主要功能
- 文本到音乐的生成:用户可以通过简单的文字描述生成符合需求的音乐作品。
- 音乐结构和风格控制:支持通过音乐类型、情感表达和复杂的音乐结构标签来控制生成的音乐。
- 高质量音频输出:支持多种采样率(如24kHz和48kHz),能够生成高音质的音频。
- 长音频生成:支持生成超过5分钟的长音频。
- 灵活的推理模式:提供fast模式(快速生成)和高音质模式,满足不同用户的需求。
- 模型训练和调优工具:为研究者和开发者提供丰富的音乐生成模型训练和调优工具。
InspireMusic 的技术原理

- 音频 Tokenizer:使用具有高压缩比的单码本 WavTokenizer,将输入的连续音频特征转换为离散的音频 token。将音频数据转化为模型可以处理的形式。
- 自回归 Transformer 模型:基于 Qwen 模型初始化的自回归 Transformer 模型,用于根据文本提示预测音频 token。模型能理解文本描述并生成与之匹配的音乐序列。
- 扩散模型(Conditional Flow Matching, CFM):用基于常微分方程的扩散模型重建音频的潜层特征。CFM 模型能从生成的音频 token 中恢复出高质量的音频特征,增强音乐的连贯性和自然度。
- Vocoder:将重建后的音频特征转换为高质量的音频波形,输出最终的音乐作品。
如何运行 InspireMusic
1. 克隆仓库
git clone --recursive https://github.com/FunAudioLLM/InspireMusic.git
cd InspireMusic
git submodule update --init --recursive
2. 安装依赖
InspireMusic 要求 Python 3.8 和 PyTorch 2.0.1。安装步骤如下:
conda create -n inspiremusic python=3.8
conda activate inspiremusic
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
pip install flash-attn --no-build-isolation
3. 下载预训练模型
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/InspireMusic-1.5B-Long.git pretrained_models/InspireMusic-1.5B-Long
4. 快速生成音乐
cd examples/music_generation
bash infer_1.5b_long.sh
5. 一键生成音乐(文本到音乐)
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
6. 音乐续写
python -m inspiremusic.cli.inference --task continuation -g 0 -a audio_prompt.wav