media-midi

Automate MIDI I/O, SMF parsing/writing, and MIDI 2.0 UMP data handling via CLI.

15|4|Updated Apr 18, 2026
One-click install
npx skills add https://github.com/damionrashford/media-os --skill media-midi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: media-midi
Source: https://github.com/damionrashford/media-os/tree/main/skills/media-midi
Command: npx skills add https://github.com/damionrashford/media-os --skill media-midi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

MIDI workflows require bridging multiple tools for port I/O, file parsing, and SMF generation across platforms. This Skill centralizes MIDI 1.0/2.0 interactions, control-surface routing, and SMF file authoring via a CLI, reducing setup complexity and enabling automation.

Core Features & Use Cases

  • CLI access to list MIDI ports across macOS, Linux, and Windows, send note-on/off, CC, program changes, and SysEx.
  • SMF parsing and writing to read or generate Standard MIDI Files from JSON-like data.
  • Support for MIDI 2.0 UMP considerations and MIDI-CI negotiation workflows via shell or script.
  • Use case: automate a live show cue by sending a note to a keyboard and adjust control surfaces from a script.
  • Use case: convert a sequence of events into a SMF file for archival or DAW import.

Quick Start

Run the CLI to list ports, send MIDI messages, monitor activity, and parse or write SMF files.

Frequently Asked Questions about media-midi

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send MIDI messages from the command line?

You can send MIDI messages from the command line by using CLI tools to trigger note-on/off, CC, program changes, and SysEx across macOS, Linux, and Windows. It bridges port I/O and routing for control surfaces directly from scripts.

Can I parse and write Standard MIDI Files from a script?

Yes, you can parse and write Standard MIDI Files (SMF) from a script. The CLI reads existing SMF data or generates new SMF files from JSON-like data for archival or DAW import.

Does this support MIDI 2.0 UMP and MIDI-CI negotiation?

Yes, MIDI 2.0 is fully supported. You can handle UMP data and execute MIDI-CI negotiation workflows directly via shell or script, bridging MIDI 1.0 and 2.0 interactions seamlessly.

What is the best way to automate a live show cue with MIDI?

To automate a live show cue, use a script to send MIDI notes to a keyboard and adjust control surfaces simultaneously. This centralizes I/O, routing, and SMF generation across platforms into a single CLI workflow.

Do I need sendmidi or mido to list MIDI ports across platforms?

You can use common tooling like sendmidi, amidi, or mido/python-rtmidi to interact with ports. The CLI centralizes MIDI interactions across macOS, Linux, and Windows, reducing setup complexity for these dependencies.

How do I bridge MIDI over USB or Bluetooth in Python?

You can bridge MIDI over USB or Bluetooth in Python by using the CLI to route control surfaces and trigger notes. It automates port I/O and handles MIDI 1.0 and 2.0 data natively within your scripts.