MusicGPT部署实战:基于musicgen的文字到音乐生成模型

前言

MusicGen模型是由Meta公司开发的开源音乐生成模型,而MusicGPT是GitHub上的一个开源项目。MusicGPT将MusicGen模型和使用方法封装在一起,提供友好的用户界面(webui)、快速部署、GPU加速、推理速度优化等功能,为本地音乐生成提供了简单的入门方案。

实际上这个仓库相对有些过时,musicgen模型早已更新v2,支持立体声音乐生成;而这个项目仍使用初代模型,只能生成最大30s的单声道音乐,且不支持melody模型。不过对于中端消费级计算机来说仍然是不错的入门选择。

项目

仓库地址:https://github.com/gabotechs/MusicGPT

Release下载地址:https://github.com/gabotechs/MusicGPT/releases

本文基于Windows,直接下载musicgpt-x86_64-pc-windows-msvc.exe即可。

运行前准备

MusicGPT支持两种运行方式:CPU和GPU。

  • 如果你拥有一块显存6G以上的NVIDIA显卡,在下载CUDA、cuDNN并做好配置后可以使用GPU运行,生成速度会相对较快。
  • 否则,你可以使用CPU来运行。实际速度并不会慢太多,但需要更多的内存。

CPU运行配置:
CPU:推荐桌面端i7-9700、移动端i7-11800H或更强的处理器
内存:至少16G,建议32G;推荐DDR4-3200或更高速率
硬盘:在C盘需预留3-20GB空间(取决于运行的模型),推荐固态硬盘
网络:国际互联网连接

GPU运行配置:
显卡:支持CUDA 12的NVIDIA GPU,建议3060及以上显卡
内存:建议不少于8G
硬盘:在C盘需预留3-20GB空间(取决于运行的模型),推荐固态硬盘
网络:国际互联网连接

由于模型会在初次运行时自动下载,因此需要稳定(最好是高速)的国际互联网连接。

  • small模型约需下载2GB数据,medium模型约7.5GB。

开始使用

下载程序后,放在一个特定文件夹中,可以直接双击运行。
不带任何参数启动时,会默认下载/使用small模型,并采用CPU运行。

程序下载的模型位置:%APPDATA%\gabotechs\musicgpt\data\v1
其他数据位置:%APPDATA%\gabotechs\musicgpt\data

运行成功后,将主程序重命名为musicgpt.exe或其他方便的名字,随后编写批处理脚本方便后续使用。如果希望直接以想要的模型开始,也可以先写脚本再启动。

脚本示例1:使用GPU运行small模型

1
2
3
4
@echo off
musicgpt.exe --gpu
pause
exit

脚本示例2:使用GPU运行medium模型

1
2
3
4
@echo off
musicgpt.exe --gpu --model medium
pause
exit

启动成功后,网页会自动打开,直接在界面中进行对话即可。这也是这个项目的一大特色功能,即提供了类似chatGPT的聊天界面来生成音乐。发送你要生成的提示词即可生成。

程序在运行后无法切换模型,如果要切换则必须重新以不同的参数启动软件。

解决GPU问题

在初次运行时出现的错误一般是网络导致的,考虑使用代理服务器。

我个人遇到最大的问题是GPU运行错误。CPU模式下运行正常,但加入--gpu参数后程序报错。
典型的错误信息包含以下内容:

1
2
... D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1426 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load...
No GPU accelerator...

(因为这篇文章是一段时间之后写的了,部分内容是靠回忆写的,但大体的含义是一样的)

遇到这个信息说明硬件加速的环境配置有问题。我在网上查询了很长时间,最终在NVIDIA开发者论坛中找到了最终解决方案。但在此之间,请先进行健全性检查:

  1. 在cmd中运行nvcc --version,检查cuda是否安装、配置正确,以及是否为正确的版本(需要12以上);如果版本不正确则重新安装新版本,如果无法执行命令则环境变量没有配置好,请参考网上的cuda安装教程来配置环境变量。
  2. 参照网上的教程安装cuDNN,这一步非常关键,MusicGPT采用的onnx硬件加速是需要cuDNN的,因此不安装或版本有误都会导致运行错误。

如果经过以上两个步骤仍然无法解决,则请出最终杀手:依赖项检查。

  1. 在GitHub下载Dependencies:https://github.com/lucasg/Dependencies
  2. 解压程序,运行DependenciesGui.exe
  3. 找到报错信息中后面的dll文件路径,通常位于%APPDATA%\gabotechs\musicgpt\data\dynlibs\1.20.1\onnxruntime-win-x64-gpu-1.20.1\lib\onnxruntime_providers_cuda.dll
  4. 将这个dll文件拖进刚才的DependenciesGui.exe窗口中,看左边列表中是否有缺失的依赖库(如图就缺失了一个,原因是电脑中安装的cuDNN版本是8,而程序需要9)
  5. 根据缺失的信息可以上网搜索如何解决,将对应的文件补全后程序应该可以正常运行。

1ce75d2d9638c040a3ad25c6a63cc7de.png


MusicGPT部署实战:基于musicgen的文字到音乐生成模型
https://zjxdiu.github.io/blog/musicgpt_gpu_1/
作者
zjxdiu
发布于
2025年5月15日
许可协议