Metadata-Version: 2.4
Name: more-midi-instruments
Version: 0.1.0
Summary: Remap MIDI program changes to more sensible GM instruments
Project-URL: Homepage, https://github.com/talwrii/more-midi-instruments
Project-URL: Repository, https://github.com/talwrii/more-midi-instruments
License: MIT
Keywords: fluidsynth,instruments,linux,midi,program-change
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Sound/Audio :: MIDI
Requires-Python: >=3.8
Requires-Dist: mido
Requires-Dist: python-rtmidi
Description-Content-Type: text/markdown

# more-midi-instruments
Support more instruments and more sensible instrumnets on a midi keyboard.

Midi keyboards often have a funciton to switch instrument. This is achieved by sending a program change event. However, the number of buttons is limited, the number of instruments large, and programs such as fluidsynth often map the instruments to a small subset of the possible timbres from musical instruments. moro-midi-instruments is a filter for a musical instrument for linux which gives you access to more and more natural instruments by choosing saner defauts and letting repeated presses of a particular instrument change button cycle through instruments.


## Alternatives and prior work
This tool is implemented with the `mido` python library. You could use this to make a midi key do anything you can code. 

Some keyboards have an instrument mapping funcitonality. I did not want to work out how to use this myself and this provides same defaults. Your sysnthesiser may also implement this mapping. DAWs tend to let you do arbitrary things with midi events and provide automapping functionality where you need only press a key to map it to something.

## Caveat
Linux uses standard midi systems which can be programmatically controlled. On windows, there are not such systems and DAWs tend to handle their own midi, potentially using libraries - but not in a consistent way. This software only works for linux button supports, via mido, various systems. `loopMIDI` apparently lets you use mido with windows, I have not used it.




## Installation
pipx install more-midi-instruments 


## Usage
I have only tested more-midi-instruments with alsa.

Run `more-midi-instruments --alsa`. Then use aconnect to route data through `more-midi-instruments`.

