Forward MIDI messages to OSC
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file midi2osc-0.1.0.tar.gz.
File metadata
- Download URL: midi2osc-0.1.0.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf55d7e0e6df919700c44549127dfd7c64cb31a2d5402a360fce065c27665097
|
|
| MD5 |
d766f1fb8c0a3511dd7ebf517e2d085a
|
|
| BLAKE2b-256 |
111a4a2c1158b99315cd4beee04f64756e149072004055fdba0b5eca238c2cde
|
Provenance
The following attestation bundles were made for midi2osc-0.1.0.tar.gz:
Publisher:
workflow.yml on nathantheinventor/midi2osc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
midi2osc-0.1.0.tar.gz -
Subject digest:
cf55d7e0e6df919700c44549127dfd7c64cb31a2d5402a360fce065c27665097 - Sigstore transparency entry: 188077606
- Sigstore integration time:
-
Permalink:
nathantheinventor/midi2osc@be46a84a7fe6371e7f95384b36026311e6c6e809 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/nathantheinventor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@be46a84a7fe6371e7f95384b36026311e6c6e809 -
Trigger Event:
push
-
Statement type:
File details
Details for the file midi2osc-0.1.0-py3-none-any.whl.
File metadata
- Download URL: midi2osc-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0411ba4c3087752c5dc4236207b7c5bad7f35463a45f01187ff63335d5d65dc
|
|
| MD5 |
9873e38c917803d26aceb3a81159fe49
|
|
| BLAKE2b-256 |
9a4b9085946165e88c8d59aa9fa68415169906fdf65f082348ee86a0680f928f
|
Provenance
The following attestation bundles were made for midi2osc-0.1.0-py3-none-any.whl:
Publisher:
workflow.yml on nathantheinventor/midi2osc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
midi2osc-0.1.0-py3-none-any.whl -
Subject digest:
b0411ba4c3087752c5dc4236207b7c5bad7f35463a45f01187ff63335d5d65dc - Sigstore transparency entry: 188077614
- Sigstore integration time:
-
Permalink:
nathantheinventor/midi2osc@be46a84a7fe6371e7f95384b36026311e6c6e809 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/nathantheinventor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@be46a84a7fe6371e7f95384b36026311e6c6e809 -
Trigger Event:
push
-
Statement type: