Skip to main content

Translate MIDI note velocity data in real time

Project description

midi-velocity-mapper

PyPI - Version PyPI - Python Version


Table of Contents

Installation

pip install midi-velocity-mapper

Usage

usage: mvm [-h] [-i INPUT_PORT] [-o OUTPUT_PORT] [-d]

Translate MIDI velocities using per-note velocity mappings.

options:
  -h, --help            show this help message and exit
  -i, --input-port INPUT_PORT
                        name of MIDI Input port
  -o, --output-port OUTPUT_PORT
                        name of MIDI Output port
  -d, --debug           display debug output

The program uses the config.toml, described in the next section, to instantiate per-note velocity curves. It then captures note data from a MIDI input port and translates note velocities using the curves, passing the translated data to a MIDI output port. If the MIDI ports are not set via the command-line flags, prompts are issued to select the appropriate ports interactively. Currently, only velocities of MIDI "Note On" messages are translated, but support for "Note Off" velocities, etc. might be added in the future.

Configuration

The per-note velocity mappings are defined in a file named config.toml in the current directory. Each section of the TOML file corresponds to a MIDI note name (with octave also specified). Section names use the format [note.NOTENAME], where NOTENAME is one of the names listed in the file data/keys-all.tsv.

Supported keys of each section have format in<NUM> where NUM is in the range 0-127. Key values are integers in the range 0-127. Together, each key/value pair represents a mapping of an input velocity to an output velocity.

A maximum of 128 input/output mappings are permitted for each note; this is enforced by the semantics of TOML and how the key/values are defined in the config.

See the config-examples directory in the git repository for example config.toml files that illustrate the configuration format.

License

midi-velocity-mapper is distributed under the terms of the MIT license.

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

midi_velocity_mapper-0.0.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

midi_velocity_mapper-0.0.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file midi_velocity_mapper-0.0.1.tar.gz.

File metadata

  • Download URL: midi_velocity_mapper-0.0.1.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for midi_velocity_mapper-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5dafefccb71066ce06b3139f37ed99bb26e1aae8b2df29de6a7b8286d599fbf9
MD5 75a7349c07a54b260504746717016e28
BLAKE2b-256 e336203f450c11d56ba67a6543d615f2361b45691491ebc3546c03d2885fd91b

See more details on using hashes here.

File details

Details for the file midi_velocity_mapper-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for midi_velocity_mapper-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 196af4ddbc6f5c3a4e2fb5bf2df638cfc2e3ce076b513ce162e2d73611b7c542
MD5 b761603f5bb2e13db93fa76689cc75fc
BLAKE2b-256 fd33d59cf3e094aeb6df2ff6e769edb1dc08f205cebed2c9c0737f6edccb3e43

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