Skip to main content

Remap MIDI program changes to more sensible GM instruments

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

more_midi_instruments-0.1.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

more_midi_instruments-0.1.0-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file more_midi_instruments-0.1.0.tar.gz.

File metadata

  • Download URL: more_midi_instruments-0.1.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for more_midi_instruments-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2e7e234325b78266f3639a6e239087a4d2d8fa453a33dbe031b72604c9e18d83
MD5 98a8be427d0d00e03a1de37c09a0c751
BLAKE2b-256 389a632e3b528ff16fcf7e4d396741b0e4c8c5a52fff70723e28aa548ebb4f91

See more details on using hashes here.

File details

Details for the file more_midi_instruments-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for more_midi_instruments-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b0ea4f0cf1fa67749d2942ecfa67f78963f92b1fdc804714000bb82bf2719f7
MD5 efb53cf1d6e203e4fa3e090c0a2bb9bd
BLAKE2b-256 c019efd68c1920728e3c6a94734e26fc81daaa5fcb98012d2a39c9b96ce4be73

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page