NotaGen 使用教程
1. 项目介绍
NotaGen 是一个基于大型语言模型训练的音乐符号生成模型,旨在创作高质量的古典乐谱。该模型采用三阶段训练范式:预训练、微调和强化学习,以探索和提升音乐生成的质量。
2. 项目快速启动
环境搭建
首先,您需要创建一个 Python 环境,并安装所需的依赖。
conda create --name notagen python=3.10
conda activate notagen
conda install pytorch==2.3.0 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install accelerate
pip install optimum
pip install -r requirements.txt
模型权重
根据您选择的模型规模,下载对应的预训练权重。以下是不同规模的模型信息:
- NotaGen-small: 110M 参数
- NotaGen-medium: 244M 参数
- NotaGen-large: 516M 参数
预训练权重下载后,您可以进行微调和强化学习,以进一步优化模型。
快速生成音乐
以下是快速生成音乐的示例代码:
# 假设您已经下载了对应的权重,并放在了相应的路径下
INFERENCE_WEIGHTS_PATH = '../finetune/weights_notagen_schubert_p_size_16_p_length_1024_p_layers_20_c_layers_6_h_size_1280_lr_1e-05_batch_1.pth'
NUM_SAMPLES = 1 # 生成音乐的样本数量
# 运行推理脚本
cd inference/
python inference.py
执行上述命令后,模型将在 output/
文件夹中生成音乐文件。
3. 应用案例和最佳实践
使用 Gradio Demo
您可以利用 Gradio 库搭建一个本地或在线的演示,以交互式的方式生成音乐。
# 在 gradio 目录下运行以下命令启动本地 Demo
cd gradio/
python demo.py
数据预处理与后处理
为了转换 ABC 表示法与 MusicXML 表示法之间的文件,请参考 data/README.md
中的说明。
4. 典型生态
NotaGen 可以与以下工具和平台配合使用,以丰富音乐生成的生态系统:
- Huggingface Space: 提供在线的 Gradio Demo。
- Google Colab: 通过 Colab 笔记本使用 NotaGen。
- ComfyUI: 一个可视化界面,用于交互式地生成音乐。
通过上述教程,您可以开始使用 NotaGen 进行音乐创作。祝您创作愉快!