infmidi

Manipulate midi and create music with a simple and high level interface.


Keywords
midi, music, python
License
MIT
Install
pip install infmidi==0.1.2

Documentation

INFMIDI

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

INFMIDI is a MIDI editing library written in Python,with a lot of advanced syntax to help you quickly edit and generate MIDI files. You can also use it to assist in arranging and composing music with code.

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

Documentation

English | 中文文档 .

Features

  • Absolute time - Esaily insert note and event at any time point.
# Add C4 on beat 8.
clip += Note('C4', location=8)
  • Time slicing - Modify notes for a specific time period.
# Raise notes from beats 8 to 16 by 4 semitones.
clip[8:16] += 4
  • Generator - Functions to generate music clip quickly.
# Generate chord progression with sheet.
progression = sheet('C4:M7 A4:m9 | F4:M7 G4:7')
  • Effects - Functions to process MIDI.
# Add delay effect to clip.
delay(clip, n=3, length=0.5, decay=0.9)

Related projects

  • mido - A library for working with MIDI messages and ports. (INFMIDI is based on mido)
  • music21 - A Toolkit for Computational Musicology.
  • pretty-midi - Utility functions for handling MIDI data in a nice/intuitive way.
  • musicpy - A music programming language in Python designed to write music in very handy syntax through music theory and algorithms.
  • muspy - A toolkit for symbolic music generation.

Licence

MIT License © 2022 gongyibei.