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