MusicGPT 项目介绍
MusicGPT 是一款应用程序,旨在通过自然语言提示生成音乐,该应用利用局部运行的大型语言模型(LLM),无需安装繁重的依赖库,如 Python 或机器学习框架,就能够在任何平台上高效地运行。目前,该项目主要支持 Meta 开发的 MusicGen 模型,未来计划将支持各种不同的音乐生成模型,让用户使用时无需感知这些变化。
项目目标
- 文本条件音乐生成:通过输入文本描述来生成相应风格的音乐,这一功能已经实现。
- 旋律条件音乐生成:未来计划支持用户基于已有旋律来进行音乐生成。
- 无限长音乐流:目标之一是允许生成无限或不确定长度的音乐流。
安装指南
Mac 和 Linux
在 Mac 和 Linux 系统上,可以使用 brew
进行安装:
brew install gabotechs/taps/musicgpt
或者,可以直接从此链接下载预编译的二进制文件。
Windows
Windows 用户可以通过此链接下载可执行文件。
Docker(推荐用于 CUDA 环境)
若希望使用支持 CUDA 的 GPU 版 MusicGPT,推荐使用 Docker,只需安装基本的 NVIDIA 驱动即可:
docker pull gabotechs/musicgpt
下载镜像后,可以使用以下命令运行:
docker run -it --gpus all -p 8642:8642 -v ~/.musicgpt:/root/.local/share/musicgpt gabotechs/musicgpt --gpu --ui-expose
使用 cargo
如果系统中已安装 Rust 工具链,则可以通过 cargo
进行安装:
cargo install musicgpt
使用方式
MusicGPT 提供两种交互模式:UI 模式和 CLI 模式。
UI 模式
UI 模式下,该工具将以聊天形式的 web 应用展示,支持存储聊天记录、随时播放生成的音乐样本、后台生成音乐样本以及在不同设备上操作 UI。执行以下命令即可运行 UI 模式:
musicgpt
可以选择不同的模型进行预测,并决定是否使用 GPU,例如:
musicgpt --gpu --model medium
对于需求高性能硬件的模型,推荐使用 Docker 运行:
docker run -it --gpus all -p 8642:8642 -v ~/.musicgpt:/root/.local/share/musicgpt gabotechs/musicgpt --ui-expose --gpu
CLI 模式
CLI 模式支持直接在终端生成并播放音乐,允许输入多个提示并在生成后即时播放音频。可通过以下命令基于提示生成音频:
musicgpt "Create a relaxing LoFi song"
默认情况下生成 10 秒的音频样本,最长可配置为 30 秒:
musicgpt "Create a relaxing LoFi song" --secs 30
可以选择使用不同规模的模型:
musicgpt "Create a relaxing LoFi song" --model medium
想使用支持 CUDA 的 GPU,推荐用 Docker 运行:
docker run -it --gpus all -v ~/.musicgpt:/root/.local/share/musicgpt gabotechs/musicgpt --gpu "Create a relaxing LoFi song"
可以运行以下命令查看所有可用选项:
musicgpt --help
存储路径
MusicGPT 需要访问存储以保存下载的模型和生成的音频及其他一些元数据。假设用户名是 foo
,数据会存储在以下位置:
- Windows:
C:\Users\foo\AppData\Roaming\gabotechs\musicgpt
- MacOS:
/Users/foo/Library/Application Support/com.gabotechs.musicgpt
- Linux:
/home/foo/.config/musicgpt
授权信息
代码采用 MIT License 许可证,而应用启动时下载的 AI 模型权重则遵循 CC-BY-NC-4.0 许可证,这些模型权重来源于以下仓库: