❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
大家好,我是蚝油菜花,今天跟大家分享一下 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. 克隆仓库
sh
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。安装步骤如下:
sh
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. 下载预训练模型
sh
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/InspireMusic-1.5B-Long.git pretrained_models/InspireMusic-1.5B-Long
4. 快速生成音乐
sh
cd examples/music_generation
bash infer_1.5b_long.sh
5. 一键生成音乐(文本到音乐)
sh
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. 音乐续写
sh
python -m inspiremusic.cli.inference --task continuation -g 0 -a audio_prompt.wav
资源
- GitHub 仓库 :github.com/FunAudioLLM...
- 在线演示 Demo :huggingface.co/spaces/FunA...
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦