MIDI to OSC
This is a simple Python script that recieves MIDI messages and sends them as OSC messages. It uses the mido and python-osc libraries.
The main purpose of this script is to interface between my church's slide presentation software, Proclaim, and my church's lighting control board, a ColorSource AV 20.
Installation
This app can be installed simply with pipx or pip (First you must install Python 3.12+ and pipx):
pipx install midi2osc
# To run the app:
midi2osc
The first time you run the app, it will prompt you for configuration, which it will save in a config.yaml file alongside the code. This config file takes the following structure:
midi_name: "MIDI Device Name" # The name of the MIDI device to expose to Proclaim or other software
osc_address: "1.2.3.4" # IP address of the OSC server
osc_port: 8005 # Port of the OSC server
messages:
- midi: "note_on" # The MIDI message to listen for
osc: "/cs/playback/gotocue/:note" # The OSC message to send; will replace `:note`/`:channel`/etc. with the parameter sent in the MIDI message
Metadata
Release files for midi2osc 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| midi2osc-0.1.0.tar.gz | 3.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| midi2osc-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.7 kB
Release files / midi2osc-0.1.0.tar.gz
| Download URL | midi2osc-0.1.0.tar.gz |
|---|---|
| Size | 3.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf55d7e0e6df919700c44549127dfd7c64cb31a2d5402a360fce065c27665097
|
|
BLAKE2b-256 checksum How to use checksums |
111a4a2c1158b99315cd4beee04f64756e149072004055fdba0b5eca238c2cde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 26, 2025.
Transparency logRelease files / midi2osc-0.1.0-py3-none-any.whl
| Download URL | midi2osc-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0411ba4c3087752c5dc4236207b7c5bad7f35463a45f01187ff63335d5d65dc
|
|
BLAKE2b-256 checksum How to use checksums |
9a4b9085946165e88c8d59aa9fa68415169906fdf65f082348ee86a0680f928f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 26, 2025.
Transparency log