首页
/ 【亲测免费】 InspireMusic 开源项目教程

【亲测免费】 InspireMusic 开源项目教程

2026-01-30 05:13:42作者:袁立春Spencer

1. 项目介绍

InspireMusic 是一个专注于音乐、歌曲和音频生成的统一工具包。它包含了一个自回归的转换器模型和基于流动匹配的模型。此工具包旨在帮助用户生成音乐、歌曲和音频,支持文本到音乐、音乐延续、音乐重建和超分辨率等任务。InspireMusic 能够生成高质量的长篇音乐,并且集成了音频分词器、自回归转换器模型和超分辨率流动匹配模型,以确保生成的音频具有高保真度的声学信息流动。

2. 项目快速启动

在开始之前,请确保您的环境中已安装 Python 3.8 或更高版本,以及 PyTorch 2.0.1 或更高版本。

克隆项目

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

安装依赖

# 创建 Conda 环境
conda create -n inspiremusic python=3.8
conda activate inspiremusic

# 安装依赖
cd 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

# 安装 Flash Attention 以加速训练
pip install flash-attn --no-build-isolation

使用 Docker

如果您希望使用 Docker,请运行以下命令构建 Docker 镜像:

docker build -t inspiremusic .

然后,运行以下命令以交互模式启动 Docker 容器:

docker run -ti --gpus all -v .:/workspace/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

3. 应用案例和最佳实践

以下是一些使用 InspireMusic 的案例和最佳实践:

文本到音乐任务

使用以下单行命令快速尝试文本到音乐任务:

cd examples/music_generation
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 InspireMusicModel
from inspiremusic.cli.inference import env_variables

if __name__ == "__main__":
    env_variables()
    model = InspireMusicModel(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.")

音乐延续

音乐延续任务可以通过修改上述代码中的 --task 参数为 music-continuation 来实现。

4. 典型生态项目

目前,InspireMusic 社区正在不断发展壮大,已经有多个生态项目在使用或集成 InspireMusic。以下是一些典型的生态项目:

  • 音乐生成 Web 应用:一些开发者已经基于 InspireMusic 构建了音乐生成 Web 应用,允许用户在线创建和分享他们生成的音乐。
  • 音乐辅助创作工具:一些音乐创作者使用 InspireMusic 作为辅助工具,帮助他们快速生成音乐草稿和灵感。

这些项目不仅展示了 InspireMusic 的灵活性和多样性,也为社区提供了更多合作和创新的机会。

登录后查看全文
热门项目推荐
相关项目推荐