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.
- 🔌 Installation - Here are the detailed installation instructions (
pip install infmidi). - 🚀 Quick start - Here are a few examples to get you started quickly.
- 🎹 Fundation - Introduction to core objects (
Event,Note,Clip,TrackandMidi). - 🎸 Generator - Functions to generate
Clipobject quickly. - 🎨 Effects - Functions to process
Clipobject. - 📻 Devices - Objects to play MIDI and to interact with DAWs.
- 🎼 Examples - Examples to learn INFMIDI.
- 📑 Cheat sheet - Cheat sheets of core obejcts, music theory and MIDI protocol.
- 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)- 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.
MIT License © 2022 gongyibei.
