Python MIDI Modifier Script
Budget / Salary$10–30
TypeFreelance project
LocationRemote
Posted14 hours ago
I have a single-purpose task in mind: I need a Python program that takes any standard MIDI file, shifts every note up or down by a user-defined number of semitones and, if requested, swaps one General MIDI instrument patch for another across the whole file. The transposition and the instrument swap should apply to every track and event so there is no need to filter by channel, time range, or track ID—one clean pass over the entire file is perfect for my workflow.
Command-line usage is preferred: something like
python midi_modifier.py input.mid output.mid --transpose +3 --replace 0 41
where transpose can be positive or negative and replace takes the original patch number followed by the new one. I am comfortable installing standard libraries, so feel free to rely on mido, pretty_midi, or any other well-maintained MIDI package available on PyPI. Please avoid heavyweight GUI frameworks; a concise CLI is all I need.
Acceptance will be based on: the script running from the terminal without errors, producing a valid MIDI that opens correctly in any DAW, and the transposition / instrument change reflecting the parameters passed.
Deliverables:
• The Python script with inline comments
• A brief README or usage note explaining required dependencies and example commands
Command-line usage is preferred: something like
python midi_modifier.py input.mid output.mid --transpose +3 --replace 0 41
where transpose can be positive or negative and replace takes the original patch number followed by the new one. I am comfortable installing standard libraries, so feel free to rely on mido, pretty_midi, or any other well-maintained MIDI package available on PyPI. Please avoid heavyweight GUI frameworks; a concise CLI is all I need.
Acceptance will be based on: the script running from the terminal without errors, producing a valid MIDI that opens correctly in any DAW, and the transposition / instrument change reflecting the parameters passed.
Deliverables:
• The Python script with inline comments
• A brief README or usage note explaining required dependencies and example commands
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.