INFMIDI#

License: MIT https://img.shields.io/badge/pypi-0.1.1-blue Documentation Status

INFMIDI是一个用Python编写的MIDI编辑库,有很多高级的语法帮助你快速编辑和生成MIDI文件。你也可以用它来辅助编曲、用代码创作音乐。

https://raw.githubusercontent.com/gongyibei/infmidi/master/assets/example.gif

文档#

English | 中文文档

以下是本项目文档的列表,点击关键词跳转到你想要了解的主题页面。

特性#

  • 绝对时间:使用绝对时间而不是事件间隔来确定MIDI事件,意味着你可以很方便的在任何时间点向MIDI中添加音符或者MIDI事件。

# 在第8拍添加音符C4
clip += Note('C4', location=8)
  • 时间切片:通过时间切片,可以选定特定时间段的MIDI事件进行修改。

# 8拍到16拍音符升高4个半音
clip[8:16] += 4
  • 生成器: 通过生成器函数,来快速生成特定MIDI片段

# 和弦进行
progression = sheet('C4:M7 A4:m9|F4:M7 G4:7')
  • 效果器:通过效果器函数来处理MIDI

# 延迟
delay(clip, n=3, length=0.5, decay=0.9)

相关项目#

目前已有很多优秀的MIDI和音乐相关Python库,不同的项目都有自己各自的特点和优势。本项目不是为了替代他们,而是作为一个补充。

  • mido: MIDI底层库,本项目也是基于mido开发的。

  • music21: 由MIT开发的计算音乐分析库,可以处理多种音乐格式。

  • pretty-midi: 包含用于处理MIDI数据的实用函数和类,用于从MIDI中提取和修改信息。

  • musicpy: Musicpy是一种基于Python的音乐编程语言,通过音乐理论和算法以非常方便的语法编写音乐。

  • muspy: 主要为深度学习中符号音乐生成任务,提供包括数据集管理、数据 I/O、数据预处理和模型评估等工具。

许可条款#

INFMIDI 使用 MIT license.