INFMIDI
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.
Documentation
-
🔌 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
,Track
andMidi
). -
🎸 Generator - Functions to generateClip
object quickly. -
🎨 Effects - Functions to processClip
object. -
📻 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.
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.