Skip to content

EMATech/midi_const

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

midi_const

Python MIDI constants

This very simple package provides useful constants derived from official MIDI specifications available at:

Status

Already covers most of the MIDI 1.0 Detailed Specification v4.2.1 from February 1996.

Other specifications will be added along the way.

Contributions welcome!

License

To allow maximal re-usability, these constants are offered, at your option, under any of the following licenses:

  • CC0-1.0
  • MIT (OSI and FSF compatible)
  • Unlicense

Installation

pip install midi_const

Usage

Interactively:

>>> import midi_const as midi

>>> midi.STATUS_BYTES.get(0x80)
'Note Off'

>>> midi.CONTROLLER_NUMBERS.get(7)
'Channel Volume'

>>> midi.SMF_DEFAULT_TEMPO
500000.0

>>> help(midi)

Within a program:

from midi_const import GENERAL_MIDI_SOUND_SET, GENERAL_MIDI_SOUND_SET_GROUPINGS

index = GENERAL_MIDI_SOUND_SET.index('Banjo')
# index = 105
group = GENERAL_MIDI_SOUND_SET_GROUPINGS.get(index)
# group = 'Ethnic'