Have you ever wanted to output a MIDI file as audio and also capture the actual MIDI notes that produced the audio? A practical usage for this process is extracting the MIDI from a file where there are multiple instruments in the file, such as a drum kit’s kick, snare, toms and cymbals. With the extracted MIDI, you have the source data available to help you create new instrument parts, variations or other embellishments without the need to endlessly copy, paste and manually delete instrument parts you don’t need. Follow the steps in this post to learn how to extract MIDI audio and notes in Waveform 11.
27 May 2020 – Written by Michael R. Myers
Skill Level: Advanced
Why Do You Want to Extract the MIDI Notes????!!!!
That is the question I have received numerous times on various Internet forums and other groups while I was trying to figure out how to extract MIDI notes. I’d also get suggestions like “Just record the audio output and be happy with that” or “Nobody needs to capture the MIDI notes while they’re playing” or “Just copy the whole MIDI file to a new track, highlight what you don’t want, and delete it”. I even checked in with Tracktion’s technical support team, got a case number and in the end they said it couldn’t be done easily. I assume the technical support agent was also confused as to why I wanted the playing audio output AND those corresponding source MIDI notes. Fortunately for me, I got more motivated to find the solution, and I did it with some free VSTs and a video tutorial on YouTube by Bill Edstrom.
First, Let Me Explain…
To step back a moment, here’s my motivation to extract MIDI audio and notes in Waveform 11. I made a Waveform project that uses a source MIDI file for performance by a VST drum kit instrument. The VST drum instrument, MT Power Drum Kit 2.0, plays the MIDI file and sends each individual instrument’s audio to its own track so that I can record the drum kit pieces’ audio on distinctly separated tracks (kick drum has its own track, the snare has its own track, etc.). I assume you do something similar to control the output levels of each of your kit’s pieces. If you aren’t separating out your kit components into dedicated tracks in your DAW, you may want to look into that practice sooner than later, especially if someone else mixes your work.
After I have created each instrument’s audio track in the DAW, I then export the audio to files and then import into another DAW for mixing and EQ adjustments. With me so far? Good. Let’s continue.
After a few sessions of recording audio tracks from the MIDI file, I realized that I may want to output the source MIDI notes in addition to the output of the audio. For example, having the kick drum’s audio and source MIDI notes allows me to save small, defined pieces of performances that can easily be copied, re-used or altered easily. If I decide that I am not liking a certain VST’s audio output, I can easily swap the VST drum instrument and re-record from my source MIDI. If I didn’t have the MIDI notes, I would potentially have to chop the audio file and edit it to create variations which could take a lot of time and effort.
But right now, I know you are still asking yourself why I would want to do this. Couldn’t I “just copy the MIDI from the main source track, delete out the instruments I don’t want and continue along my way”? Sure, but that could potentially be a lot of work and re-work if I make one or more errors in my edits/copy-paste.
For my workflow and the way I work, I tend to write my drum parts and guitar riffs in very small sections, generally 1 or 2 bars at a time. When I write in small sections, I can audition the audio and the MIDI to tracks to do A/B comparisons easily. I can edit the captured MIDI and play it back in small sections to create variations and copy them back up to my main source MIDI track as I build the overall song. The best part is that I am using technology to do the repetitive grunt work of capturing audio and MIDI notes with simply arming tracks for record and doing a take.
What You Need To Succeed
- Tracktion Waveform 11 Free (Mac and Win)
- A drum kit VST Plug-in, such as MT Power Drumkit 2.0 (Mac and Win)
- EaReckon MIDI Polysher 1.2.0 (Mac and Win)
- MIDI drum patterns
Make sure you install all of the prerequisite plug-ins before attempting to continue.
Due to the length of this tutorial, I plan to write continued variations for specific uses of the techniques presented. These include using multiple VSTs to generate different instruments’ outputs for blending, auditioning various drum kits during playback and much more.
This lesson is the just the starting point of the series and shows how to use one drum kit plug-in to capture individual drum kit pieces’ MIDI source notes and the corresponding output audio on separate tracks.
Steps to Extract MIDI Audio and Notes in Waveform 11
- Create a new Waveform 11 project. Delete all tracks so we can start fresh.
- Create a new track and name it “MIDI Source”. This track will hold our drum pattern file(s) and represent our entire drums for a track.
- Add an empty Rack plug-in to the MIDI Source track. Within the rack, drag the red line (MIDI) from the left-hand side dot straight through to the right-hand side dot. This will simply pass the MIDI data out of the track. Name the Rack “MIDI Through”.
- Place a MIDI file on a track. For this tutorial, use any drum MIDI you want, just be sure it has multiple instrument parts like kick, snare, cymbals and toms so that we can separate them into their own source tracks.
- Right-click in the area under MIDI Source and select “Create a new folder track”. We will need to make a group of tracks per instrument. Groups allow for organization and easy enable/disable operations during playback or for recording. Name the folder track “Kick (36) Group”.
- Let’s make our first sub-track for the kick drum. Create another new track under the group track. Grab the new track, hold your mouse button and drag it under the folder track until the folder track looks like it lights up a bit. Drop the new track. If you performed this movement successfully, the new track shows a bit indented under the folder track, and the folder track has a small indicator icon on its left-hand side. Clicking the indicator either expands or compresses the view to show/hide the new track. Name the new track “Kick MIDI Filter”.
- Kick MIDI Filter is the track that is going to help us receive the MIDI Source track’s notes and will filter the notes to a specific MIDI key value. Recall that (36) in the group folder track’s name? That 36 is the key value of the General MIDI specification for a bass/kick drum. I like to place the values in the names so that I know where they are mapped visually.
- Open the MIDI Through rack on the MIDI Source track. At the lower right-hand side of the dialog window for the rack, click on the box and drag it to the plug-in area of the Kick MIDI Filter track so that it has an instance of the Rack. This instance allows us to receive the MIDI Source track’s MIDI output.
- Now that we are receiving the MIDI input on the Kick MIDI Filter track, we need to filter for the actual kick drum note value. Add an instance of eaReckon’s MID Polysher plug-in directly after the rack instance you just added. After adding, you will see the Polysher configuration window. Set the two key range values to 36, which is the kick drum’s MIDI note value. Note how all of the piano keys will turn red except for 36. Close Polysher after the configuration is completed.
- Now that we have a track that is filtering the MIDI source data to only handle the kick drum, let’s make a new sub-track to “print” the kick drum’s source notes. To save the notes, we simply arm the new track for recording and it saves the notes to the track. Follow the previous steps for making a new track and dragging it under the “Kick (36) Group”. It should be under the “Kick MIDI Filter” track. Name the new track “Kick Only MIDI”.
- On the new track, we’re going to add our drum VST instrument so that the MIDI the track receives can be printed. It will also produce the audio output of the filtered kick drum so that we can make a new audio track to capture (“print”) the audio output. Add MT Power Drumkit as a plug-in to the “Kick Only MIDI” track. Be sure to open the drum kit and click the “Skip” button so that the plug-in makes audio output.
- Now we’ll add the final sub-track to the group. Create another new track and drag it under “Kick Only MIDI” in the folder group. Name the track “Kick Only Audio”.
- We’re finished creating all of the sub-tracks within the kick drum group. Let’s wire the tracks up so that we get MIDI notes and output audio.
- Right-click the empty area under “Kick Only MIDI” and choose MIDI Tracks>Kick MIDI Filter. This sets the source of the track to our MIDI notes from the Rack on the “Kick MIDI Filter” track.
- Right-click the empty area under “Kick Only Audio” and choose Audio Tracks>Kick Only MIDI. This sets the source of the track to our Power Drumkit audio performance from the “Kick Only MIDI” track.
- We’re finished with all of the kick drum configuration at this point. Now it’s time to test and prove we will get only kick drum MIDI notes on “Kick Only MIDI”, and only the kick drum’s audio output on track “Kick Only Audio”.
- Arm the bottom two tracks in the kick drum group for recording and press the R key to record.
- Press the spacebar when your play head passes the end of your MIDI file to stop playback. Press the W key to return to the start of your bars. You should now see that “Kick Only MIDI” has only kick drum notes, and that “Kick Only Audio” has the recorded kick drum audio.
- At this point, you can repeat the steps and make a group for each of the instruments in your drum kit. Be sure to change the MIDI note value in the Polysher plug-in within each group so that you are filtering for the correct instrument.
We’ve finally reached the end of this tutorial. You now know how to extract MIDI notes and audio in Waveform 11 Free. While it was a long journey, you can save your project so that the configuration is finished and ready for your next project. Leave a comment or send me a message to let me know if you were able to use this, build on it or recommend it to someone.