推荐开源项目:ComMU - 组合音乐生成数据集
项目介绍
ComMU(Combinatorial Music Generation Dataset)是一个专为组合音乐生成而设计的数据集和代码库。该项目包含了由专业作曲家创作和制作的11,144个MIDI样本,以及利用自回归音乐生成模型进行训练和生成的相关代码。数据集不仅包含短音符序列(4、8、16小节),还按照12种不同的元数据进行了组织,包括BPM、流派、调性、轨道乐器、轨道角色、时间签名、音域、小节数、和弦进行、最小力度、最大力度和节奏。
项目技术分析
ComMU项目基于Python 3.8.12环境,利用PyTorch框架进行模型训练和音乐生成。项目提供了详细的预处理、训练和生成脚本,用户可以通过指定根目录和包含元数据的CSV文件路径来预处理数据集。训练过程中,数据被分为训练集和验证集,并通过分布式训练加速模型训练。生成阶段,用户可以根据需要选择不同的元数据来生成特定类型的MIDI文件。
技术亮点
- 自回归音乐生成模型:利用先进的自回归模型进行音乐生成,确保生成音乐的高质量和多样性。
- 分布式训练:支持多节点分布式训练,大幅提升模型训练效率。
- 丰富的元数据:提供详细的元数据信息,用户可以根据多种参数生成定制化的音乐。
项目及技术应用场景
ComMU项目适用于多种应用场景,包括但不限于:
- 音乐创作辅助:为作曲家提供灵感和素材,加速音乐创作过程。
- 音乐教育:用于音乐理论和作曲教学,帮助学生理解和实践音乐创作。
- 人工智能研究:为音乐生成领域的AI研究提供高质量的数据集和基准模型。
- 游戏和媒体:生成背景音乐,丰富游戏和媒体内容的音乐多样性。
项目特点
- 高质量数据集:包含由专业作曲家创作的11,144个MIDI样本,确保数据的高质量和多样性。
- 灵活的生成选项:用户可以根据BPM、调性、乐器等多种元数据生成特定类型的音乐。
- 开源友好:项目在Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0)下发布,鼓励研究和非商业使用。
- 详细文档和示例:提供详细的文档和示例代码,帮助用户快速上手和使用。
快速上手
环境设置
- 克隆仓库:
git clone https://github.com/POZAlabs/ComMU-code.git
- 安装依赖:
pip install -r requirements.txt
下载数据
- 下载包含元信息的CSV文件和压缩的MIDI文件。
- 解压MIDI文件:
cd ComMU-code tar -xvf ./dataset/commu_midi.tar -C ./dataset/
预处理
python3 preprocess.py --root_dir ./dataset/commu_midi --csv_path ./dataset/commu_meta.csv
训练
python3 -m torch.distributed.launch --nproc_per_node=4 ./train.py --data_dir ./dataset/commu_midi/output_npy --work_dir {./working_directory}
生成
python3 generate.py \
--checkpoint_dir {./working_directory/checkpoint_best.pt} \
--output_dir {./output_dir} \
--bpm 70 \
--audio_key aminor \
--time_signature 4/4 \
--pitch_range mid_high \
--num_measures 8 \
--inst acoustic_piano \
--genre newage \
--min_velocity 60 \
--max_velocity 80 \
--track_role main_melody \
--rhythm standard \
--chord_progression Am-Am-Am-Am-Am-Am-Am-Am-G-G-G-G-G-G-G-G-F-F-F-F-F-F-F-F-E-E-E-E-E-E-E-E-Am-Am-Am-Am-Am-Am-Am-Am-G-G-G-G-G-G-G-G-F-F-F-F-F-F-F-F-E-E-E-E-E-E-E-E \
--num_generate 3
资源链接
- 论文 (NeurIPS 2022)
- 演示页面
- 数据集
- Checkpoint文件下载
ComMU项目无疑为音乐生成领域的研究和应用提供了一个强大的工具,欢迎各位开发者、研究人员和音乐爱好者前来探索和使用!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考