推荐开源项目:ComMU - 组合音乐生成数据集

推荐开源项目:ComMU - 组合音乐生成数据集

ComMU-code [NeurIPS'22] Official code of "ComMU: Dataset for Combinatorial Music Generation" ComMU-code 项目地址: https://gitcode.com/gh_mirrors/co/ComMU-code

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)下发布,鼓励研究和非商业使用。
  • 详细文档和示例:提供详细的文档和示例代码,帮助用户快速上手和使用。

快速上手

环境设置

  1. 克隆仓库:
    git clone https://github.com/POZAlabs/ComMU-code.git
    
  2. 安装依赖:
    pip install -r requirements.txt
    

下载数据

  1. 下载包含元信息的CSV文件和压缩的MIDI文件。
  2. 解压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

资源链接

ComMU项目无疑为音乐生成领域的研究和应用提供了一个强大的工具,欢迎各位开发者、研究人员和音乐爱好者前来探索和使用!

ComMU-code [NeurIPS'22] Official code of "ComMU: Dataset for Combinatorial Music Generation" ComMU-code 项目地址: https://gitcode.com/gh_mirrors/co/ComMU-code

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

章瑗笛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值