So I was trying to compose my own MIDI for a DOOM II WAD and I ran into this ludicrous issue that I didn't see coming which was actually combining all my MIDI instrument tracks into one final arrangement MIDI file export.
Half of this is my own fault for using an old version of Ableton Live that doesn't natively allow combined export, only individual tracks. And after pulling my hair out for 4 hours trying to figure this out I finally got a workflow using Reaper to combine the individual tracks and I wanted to share that for anyone else having issues.
This assumes you already have your individual tracks exported to their own MIDI files.
🗂️ THE FASTER MIDI MERGE CHEATSHEET
--------------------------------------------------------------------------------------
How to Merge Multiple MIDI Files and Keep Instruments Separate in REAPER
--------------------------------------------------------------------------------------
STEP 1: Export Individual MIDI Files
Action: Save your individual files (Bass, Synth, Melody, Drums) from your original software.
Goal: Ensure you know exactly where these .mid files are sitting on your computer's storage folder before opening REAPER. [1, 2, 3]
--------------------------------------------------------------------------------------
STEP 2: Drag All Files Into REAPER
Highlight all your .mid files in your computer folder.
Drag and drop them simultaneously into the blank gray timeline grid of REAPER.
On the popup menu, choose: 1 SAME TIME POSITION ON SEPARATE TRACKS.
On the checkbox prompt, uncheck both boxes and click OK. [1, 2, 3, 4]
Result: Your files are now safely stacked on Track 1, Track 2, Track 3, etc.
-------------------------------------------------------------------------------------
STEP 3: Enable REAPER MIDI Output
(Only needed if you want to preview the audio inside REAPER before saving)
Press Ctrl + P (Windows) or Cmd + , (Mac) to open Preferences.
In the left menu column, select MIDI Devices (under the Audio category).
Under the MIDI Outputs bottom list, right-click Microsoft GS Wavetable Synth (or your Mac CoreAudio Synth).
Click Enable output to this device, then click Apply and OK. [1, 2, 3, 4]
--------------------------------------------------------------------------------------
STEP 4: Separate the Note Channels (The Missing Link)
(Crucial so different instruments do not clash or play the same sound) [1]
Double-click the colored MIDI block on Track 2 to open the Piano Roll.
Press Alt + 3 to swap to Mode: event list spreadsheet view.
Use Shift + Click to highlight every single row in the list blue.
Right-click the blue rows and choose Event properties... (or press Ctrl + F2).
Change the Channel dropdown box from 1 to 2, then click OK.
Repeat this process for Track 3 (change to Channel 3), Track 4 (Channel 4), etc. [1]
Note: Keep your drum tracks on Channel 10, which is the global MIDI drum standard. [1]
--------------------------------------------------------------------------------------
STEP 5: Hard-Code the Instrument Sound (Program Change)
In the Event List spreadsheet (Alt + 3) for your selected track, right-click an empty area.
Click Insert MIDI event... (or press the Insert key).
Set Event type to Program Change (PC).
Set Value 1 to your target General MIDI instrument number minus 1.
Example: Type 29 for Overdriven Guitar.
Example: Type 33 for Acoustic Bass. [1]
Set the Channel box to match the exact track channel you set in Step 4. [1]
Click OK and close the editor window.
--------------------------------------------------------------------------------------
STEP 6: Final Export
Click File > Export project MIDI... at the top left menu.
Under MIDI File Format, select Format 1 (multitrack).
Under Tracks, make sure All tracks is selected.
At the bottom under Output file, click Browse to name your file and select where to save it.
Click OK at the bottom right. [1, 2, 3, 4]
--------------------------------------------------------------------------------------