midi-assign is a very simple browser-based tool for editing MIDI files to update each track's program
(instrument), program banks, and channel assignments. All edits are done completely locally in the browser,
so no internet connection is required and files are never uploaded anywhere. It was created specifically
for the MAGFest Swadge so only instruments and program banks it supports are included,
but these can be easily modified here.
A demo instance is available at dylwhich.com.
To start editing a MIDI file, either drag-and-drop the file onto the webpage, or click the Browse button to
select a file. Multiple MIDI files can be selected and edited simultaneously. Each file will be displayed as
a list of tracks. For each track that contains relevant MIDI events, there will be a Channel drop-down, which
displays the track's current channel and can be updated to reassign that entire track to a different channel.
Any tracks which already include a Program (Instrument) Change event or a Bank Select event will also include
those as drop-downs. A track without any program or bank information will show a + button, which can be
clicked to create those events and add their drop-downs. Note that when multiple tracks are assigned to the
same channel, only one of them needs to have an instrument assigned. And also, if multiple tracks that are
assigned to the same channel have conflicting instrument assignments, only one of them will actually have an
effect.
- Install
npmandyarn - Run
yarn installfrom the project root to install NodeJS dependencies of the project - Run
yarn run buildto create the outputpublic/bundle.jsfile - Open
public/index.htmlin your browser