Recently I wanted to rip some drum patterns from various DnB tunes. Main goal was to analyze genre-typical hihat patterns, learn something new and create midi templates for further usage. Reaper’s flexibility came in very handy and in this post I describe the used methods.
First, there exist many beat detector and auto slicing tools on the market. Most DAW’s and DJ Tools have inbuilt functions for onset or transient detection etc.. Usually these functions work well for material with strong transients like e.g. kickdrum and snare, whereas more complex layered beats are usually not sliced properly. I tried several tools but the results were not usable.
So I decided to do the slicing with Reaper DAW by hand, and use automation where possible. In the following I describe my workflow.
- Analyze BPM of the source material. I use Mixmeister BPM Analyzer (free), Mixxx DJ Tool (free) or Reaper’s internal functions.
- Open a new Reaper project, set the BPM to the analyzed value and insert the source material into the first track (in that order)
- Adjust the Reaper time grid to a desired resolution. 1/16 usually works fine. Reaper action is “Grid: Set to 1/16”.
- Move and shift the source material’s kickdrum to the first beat of the bar. For fine adjustment select wave item with left mouse button while holding left shift key. Drag wave form until kickdrum transient matches first beat.
- Now select 1-2 bars which you want to analyze/slice. Copy those bar(s) out of the source wave form into a new item to a new track “Original”.
- Copy this item to a further track folder named “WAV”
SLICE SOURCE MATERIAL
- Disable auto crossfade
- Slice the item on the “WAV” track using Reaper Action “Item: split items at timeline grid”. Thus, the item is split into 1/16 parts (see grid resolution above).
- Now, grab the kickdrum items and move them to a new track “Kick”. Do the same for “Snare”, “hihat”, “ride”, “crash” whatever. You get the idea. All tracks are children of “WAV” track folder.
- If two elemets overlay each other like e.g. hihat and kick copy the items instead of moving them. If an item is longer than the grid size (e.g. kick is 1/8), then copy and glue things, or change the grid size etc..
- If some beat elements don’t start exactly at beat position, or vary in length do the fine adjustment by hand. This may be the case for shuffled beats, natural played beats or humanized stuff etc.. IMPORTANT: if you don’t do this, the later ripped pattern may sound unnatural or “mechanical”.
CONVERT WAV ITEMS TO MIDI EVENTS
- Create a new track folder called “MIDI”
- Select all items in e.g. Kick track
- Convert item positions and length to midi events. Reaper action is “item: Create chromatic midi from items” (my hotkey combination is ctrl-alt-D). Thus, a new track with midi events is created.
- Move the newly created track to MIDI track folder and name it “Kick”. Do the same for all other tracks (Snare etc.)
- Important: adjust the size of the generated midi items to your loop size. Usually the midi items are shorter than the loop. All midi items on all midi tracks should have the same length and start position.
- Unfortunately the created midi events are chromatic, so we have to convert them to “non-chromatic”: double click midi item (= open item in midi editor). Select all midi events (ctrl-A), open note properties (ctrl-F2) and set note value to the desired value (e.g. C2 .. D#3 for fxpansion Geist).
EXPORT MIDI EVENTS
- Select Kick midi item and call Reaper action “Convert active take MIDI to .mid file reference”. Thus a file “Kick MIDI 001.mid” is created inside project folder.
- Select Kick midi item again and call Reaper action “Convert active take MIDI to in-project event”. This ensures that the midi item is stored inside the Reaper project file.
- Do the same for alle other midi items (Snare, etc.).
- If you want to create a combined midi item which contains all tracks (kick, snare, etc.), then select MIDI track folder, enable “record: output MIDI”. Select loop and start recording.
USAGE IN 3RD PARTY PROGRAMS
The exported midi items can of course be used in various programs like fxpansion Geist (beat sequencer):
- import combined midi item: load pattern from midi
- adjust BPM setting
- Map samples to pads
- save everything as Geist preset