魔搭ModelScope社区 02月15日
通义音乐生成技术InspireMusic开源!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

InspireMusic是由通义实验室开源的一款AIGC工具包,集音乐、歌曲、音频生成于一体。它为研究者和开发者提供模型训练和调优工具,也为音乐爱好者提供了一个易于使用的创作平台,可以通过文本描述或音频提示来控制生成内容,创作多种风格的音乐作品。该工具包已开源音乐生成的训练和推理代码,未来计划开放歌唱生成和音频生成的基础模型。InspireMusic旨在通过统一的音频生成框架和灵活可控的生成方式,降低音乐创作的门槛。

🎶InspireMusic是一款开源AIGC工具包,它整合了音乐生成、歌曲生成和音频生成能力,旨在为研究者、开发者和音乐爱好者提供强大的创作工具,通过文字描述或音频提示来控制生成内容。

🎵该工具包的核心在于其统一的音频生成框架,基于音频大模型技术,支持音乐、歌曲及音频的生成,用户可以通过文本提示和音乐特征描述,精准控制生成音乐的风格和结构。

🛠️InspireMusic提供了简便的模型微调和推理工具,用户可以高效地进行训练与调优。其模型框架由音频tokenizer、自回归Transformer模型、基于常微分方程的扩散模型(CFM)和Vocoder组成,支持文本生成音乐和音乐续写等任务。

🚀InspireMusic 提供了两种推理模式:fast模型和高音质模型,为不同需求的用户提供了灵活的选择。用户可以通过简单的文本描述生成音乐,也可以通过不同的音乐类型、曲式结构标签来控制生成音乐。

zhangchong 2025-02-11 18:34 浙江

一款集音乐生成、歌曲生成、音频生成能力为一体的开源AIGC工具包

InspireMusic是由通义实验室开源的音乐生成技术,旨在打造一款集音乐生成、歌曲生成、音频生成能力为一体的开源AIGC工具包。

为研究者和开发者提供音乐/歌曲/音频生成模型的训练和调优工具及模型,方便优化生成效果;同时为音乐爱好者提供一个易于使用的文本生成音乐/歌曲/音频创作工具,可通过文字描述或音频提示来控制生成内容。

目前,InspireMusic已开源了音乐生成的训练和推理代码,支持通过简单的文字描述或音频提示,快速生成多种风格的音乐作品。

InspireMusic的文生音乐创作模式涵盖了多种曲风、情感表达和复杂的音乐结构控制,提供了极大的创作自由度和灵活性。未来计划进一步开放歌唱生成和音频生成的基础模型,欢迎研究者、开发者及用户积极参与体验和研发。

该开源工具包为社区开发者提供了丰富的技术资源,支持从学术研究到产品开发的广泛应用。

? 主要特点

    统一的音频生成框架:基于音频大模型技术,InspireMusic支持音乐、歌曲及音频的生成,为用户提供多样化选择;

    灵活可控生成:基于文本提示和音乐特征描述,用户可精准控制生成音乐的风格和结构;

    简单易用:简便的模型微调和推理工具,为用户提供高效的训练与调优工具。


?模型&Demo


核心模型

*InspireMusic模型框架

InspireMusic由音频tokenizer、自回归Transformer模型、基于常微分方程的扩散模型即Conditional Flow Matching (CFM)模型、Vocoder所组成,可支持文本生成音乐、音乐续写等任务。

通过具有高压缩比的单码本WavTokenizer将输入的连续音频特征转换成离散音频token,然后利用基于Qwen模型初始化的自回归Transformer模型预测音频token,再由CFM扩散模型重建音频的潜层特征,最终通过Vocoder输出高质量的音频波形。

两种推理模式的设计:fast模型和高音质模型,为不同需求的用户提供了灵活的选择。


Demo show

输入简单的文本描述生成音乐

样例 1:

输入文本:Experience soothing and sensual instrumental jazz with a touch of Bossa Nova, perfect for a relaxing restaurant or spa ambiance.

生成音乐:

来自阿里语音AI音频:inspiremusic_01

样例 2:

输入文本:The instrumental piece exudes a playful and whimsical atmosphere, likely featuring lively and rhythmic elements. The music seems to be inspired by nature and animals, creating an engaging and light-hearted experience.

生成音乐:

来自阿里语音AI音频:inspiremusic_02

? 通过不同的音乐类型、曲式结构标签来控制生成音乐

样例 3:

曲式结构:<|Verse|>

音乐类型:电子乐

输入文本:The track exudes an energetic and futuristic vibe, blending electronic and tech house elements with a dynamic, extended mix structure.

生成音乐

来自阿里语音AI音频:inspiremusic_w_cfm_verse

样例 4:

曲式结构:<|Chorus|>

音乐类型:R&B

输入文本:A soothing blend of instrumental and R&B rhythms, featuring serene and calming melodies.

生成音乐:

来自阿里语音AI音频:inspiremusic_w_cfm_chorus

样例 5:

曲式结构:<|Intro|>

音乐类型:R&B

输入文本:A delightful collection of classical keyboard music, purely instrumental, exuding a timeless and elegant charm.

生成音乐

来自阿里语音AI音频:inspiremusic_w_cfm_intro

样例 6:

曲式结构:<|Outro|>

音乐类型:Rock

输入文本:The instrumental rock piece features dynamic oscillations and wave-like progressions, creating an immersive and energetic atmosphere. The music is purely instrumental, with no vocals, and it blends elements of rock and post-rock for a powerful and evocative experience.

生成音乐

来自阿里语音AI音频:inspiremusic_w_cfm_outro

更多样例见https://iris2c.github.io/InspireMusic


工具包安装使用指南

第一步:下载代码库

    git clone --recursive https://github.com/FunAudioLLM/InspireMusic.git# If you failed to clone submodule due to network failures, please run the following command until successcd InspireMusicgit submodule update --init --recursive


    第二步:安装代码库

      conda create -n inspiremusic python=3.8conda activate inspiremusiccd InspireMusic# pynini is required by WeTextProcessing, use conda to install it as it can be executed on all platforms.conda install -y -c conda-forge pynini==2.1.5pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com# install flash attention to speedup trainingpip install flash-attn --no-build-isolation


      第三步:下载模型


        InspireMusic-Base模型(https://www.modelscope.cn/iic/InspireMusic)# git模型下载,请确保已安装git lfsmkdir -p pretrained_modelsgit clone https://www.modelscope.cn/iic/InspireMusic.git pretrained_models/InspireMusic-Base


        第四步:基本用法说明

        快速开始

          cd InspireMusic/examples/music_generation/bash run.sh


          训练LLM和flow matching模型样例脚本。

            for model in llm flowdotorchrun --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 $model \    --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 \    --fp16done


            推理脚本

              cd InspireMusic/examples/music_generation/bash infer.sh


              带有CFM的推理模式

                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 \      --min_generate_audio_seconds 8 \      --max_generate_audio_seconds 30 done


                不带CFM的fast推理模式

                  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 True \      --min_generate_audio_seconds 8 \      --max_generate_audio_seconds 30 done

                  支持 InspireMusic 开源社区

                  InspireMusic 是一个由社区开发者驱动的开源空间,我们深信协作的力量。您的每一份支持,都将推动语音研究及应用更进一步!

                  Github:https://github.com/FunAudioLLM/InspireMusic

                  期待您:

                    为 GitHub 仓库加星⭐,并分享给更多感兴趣的朋友;

                    贡献代码,一起完善平台功能;

                    提供反馈和使用案例,帮助项目不断改进;

                    加入社区讨论,共创想法和技术创新。

                  让我们携手突破语音处理的边界,探索更清晰、更纯净的声音世界!

                  感谢支持与信任!❤️

                  点击阅读原文,直达体验


                  相关文献参考:

                  【1】Shengpeng Ji, Ziyue Jiang, Wen Wang, Yifu Chen, Minghui Fang, Jialong Zuo, Qian Yang, Xize Cheng, Zehan Wang, Ruiqi Li, Ziang Zhang, Xiaoda Yang, Rongjie Huang, Yidi Jiang, Qian Chen, Siqi Zheng, Wen Wang, Zhou Zhao, WavTokenizer: an Efficient Acoustic Discrete Codec Tokenizer for Audio Language Modeling. arXiv. Available at:https://arxiv.org/abs/2408.16532., 2024



                  ?点击关注ModelScope公众号获取

                  更多技术信息~




                  阅读原文

                  跳转微信打开

                  Fish AI Reader

                  Fish AI Reader

                  AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

                  FishAI

                  FishAI

                  鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

                  联系邮箱 441953276@qq.com

                  相关标签

                  InspireMusic AIGC 音乐生成 开源工具包
                  相关文章