Skip to main content

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)

Source distribution for midi2osc 0.1.0
File Size Uploaded
midi2osc-0.1.0.tar.gz 3.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for midi2osc 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page