Domo kun in the field

Sampling for the modwave

How I sampled the drumkits in my microSTATION

This post is more of a log of the steps I followed than an explanatory description of the steps to sample the Korg microSTATION drumkits.

The Korg modwave ships with three factory drumkits brought over from the original Korg Wavestation, which pre-dated the now-standard GM-midi mapping of drums to the standard keyboard. I think keyboard drums played by a practised player are the next best thing to a real drummer [1-3]. I love the GM-drumkits in my Korg microSTATION, so they seemed like the perfect subject for learning to create multisamples for the modwave.
[1] Aleksey Boyarintcev masterfully playing microSTATION drums
[2] "Uncle" Taekyung playing through a number of microSTATION kits
[3] Dom Sigalas's great keyboard fingerdrumming tutorial

Software used

Windows 10 Home 21H2
Akai MPC Beats 2.10.0
Reaper DAW v6.46
Endless WAV 1.7.8b15
Korg Sample Builder 1.0.2

Steps

The steps are as follows

  1. Use the free Akai MPC Beats software Auto Sampler as a sample robot
  2. Rename the .wav files for later ingestion
  3. Process the .wavs in an audio editor (I use Reaper DAW)
  4. Set crossfade loops of long samples using the free Endless WAV software
  5. Render out all tracks from Reaper
  6. Build the multisample in the Korg Sample Builder software
Step 1. Use the free Akai MPC Beats software Auto Sampler as a sample robot

I learned about using MPC Beats from Loopop's Wavestate sampling video

Akai MPC Beats settings

Preferences 
Audio Device 
MIDI / sync 
Plugins 
Sequencer 
Hardware 
Project Defaults 
Project Load/Save 
Record/Export 
General 
Audio Device Type 
Device 
Sample Rate 
Audio Buffer Size 
Latency Adjust 
ASIO 
EDIROL UA-2S 
48000 Hz 
480 samples (10.0 ms) 
Show device control panel 
864 
Test

Set up the channels. After watching Loopop's video, the extra trick here is to set the Midi Bank to 10 (the standard channel for drumkits), but set the Midi channel to 0 to avoid accidental program changes from the sample robot. This isn't necessary for sampling any other type of instrument.

MIDI 
SEOUENCt 
1 Sequence 01 
Loop 
TRACK 
1 Track 01 
out ch 
MIDI 001 
AUDIO 
Prog Ch 
dank 
10 
All Ports All 
micr.0UND 1 
Volume 
MIO' 
Track 01 
AUDIO 
Audio 001 
PROGRAMS 
program 001 
MIDI O.ampled 
MIDI 001-1 
MIDI TRACKS 
TRACKS 
PROGRAMS

Run the Auto Sampler

File 
Edit 
Tools 
View 
Help 
Loop 
TRACK 
1 Track 
out Ch 
AUDIO 
Metronome 
16 Level 
Arpeqqvator 
MIDI Keys 
Pad Keys 
Auto sampler 
Volume 
ctrl • shift alt 
Generate Random Events 
Convert To Progression 
Rebuild Media Browser Database

with these settings:

Auto Sampler 
Sample source information 
This •s the current track, v.•hich determines what will he samoled 
co 
Input 
Note range 
Min 
Velocity 
Sampling 
Note length 
Tricky it 
Looping 
Enable Off 
om 
Velæity 
Velocity 
Velæity ti 
Velocity 
Tail 
_5 scorns

  • Note-stride is changed from the default (6) to 1 to capture every key's sample.
  • C0 to C8 covers all the notes in all the drumkits on the microSTATION.
  • Don't set the Tail to 0.
  • I found 4 s note lengths to work well for most drumkits, but increased to 5 s for some.
  • Although some microSTATION drumkits have significantly different samples on a few keys for low velocity values, I didn't bother trying to capture those by adding additional layers.

Turn all the looping off; I do all that later myself.

Sampling 
aas• name 
Looping 
Basic Kits 
off 
Loop start 
X-F•de (S•nvles) O 
trim 'tut 
00 ms 
Type Equal P

Hit [Do it] and go out for a walk, or read a book.

When done, Save Project:

Edit 
Tools 
View 
Help 
Loop 
New Project 
New From Template 
Load Recent 
Sauc Project 
Save Project As... 
Save All Programs... 
ctrl shift N 
ctrl shih • S

This writes all the .wav files.

Copy the .wav files to a new directory

D:\Sound Design\modwave\samples\microSTATION drums\Drm_MW1 Dance Kit MPC Beats Samples

Step 2. Renaming the .wav files for later ingestion

Now we need to rename the copied .wav files written by MPC Beats' Auto Sampler to ones recognised by the Korg Sample Builder. The Auto Sampler names files associated with black keys with the flatted-note name, whereas Sample Builder expects sharped-note names. I wrote a tiny Python script to do this:

flat_to_sharp.py: https://gist.github.com/gazzar/c2710fa9ec35735a03da38de6567db16

Copy this file to where the samples are and run it there.

Step 3. Processing the .wavs in an audio editor

Now drag and drop all the .wavs into Reaper as separate tracks.

  • Check for stereo vs mono sources
  • Optionally render everything to mono tracks
  • Set track volumes to LUFS-M -14 LU
  • Set fade-ins to 0 and fade-outs to 0 on tracks that will be looped
  • File|Render…

To render everything to mono, select all track contents, then right-click select "Item Properties…" I rendered all the drum samples as mono, except for one of the kits where the stereo delay effect is an intrinsic part of the kit's sound.

Now play with the waves. For example, I move the start points, crops the ends, set fades at the ends, except for waves that need loops to be set on them.

Change Channel mode from "Normal" to "Mono (Mix L + R)" then click "Apply"

Media Item Properties: 77 items selected 
Take 77 takes 
Posiion: 000001 
Length: 0:05 500 
snap offset 000000 
@ time 
Fade in: 
Fade out 
Item timebase: 
Item mix behavior 
Active take: 
T rack}project default 
Project defaullitem mix behavior 
oocuoc 
curve: 000 
000.029 
curve: 000 
Loop source 
Mute 
Lock 
NO autofades 
Play all takes 
Take name: 
Start in source: 
playback rate: 
Volume/pan: 
Channel mcHie; 
ooooca 
Normal 
Normal 
Pitch adjust (semitone S): O OOOOOO 
preserve pitch when changing rate 
OOCdB center Nomlalize 
Take envelopes. 
Take pieh shmme stretch mode 
Take meda soul Reverse Stereo 
Project default 
Stretch markers: fade size: 
Nudge/Set. 
28 
ms Mode: 
Project default 
Cancel 
Secbon: 
Mono (Mix 
Mono (Left) 
Mono (Right) 
Reverse 
Mono (3-64) 
stereo (1-64) 
Open channel mapper (changes take effect immediately)

With the same dialog open, click "Normalize" and set following (LUFS-M -14 LU). This is applied instantaneously without having to click "Apply"

Normalize Media Items 
Normalize each item separately 
Relatve volume of media items may change.

Step 4. Set crossfade loops of long samples

Now I identify any looped samples and set crossfades and start and end loop points (or maybe wait until everything is rendered as a mono sample. Endless WAV [English translation] is a great free app written by Björn Bojahr for creating crossfade loops in samples. I have it set up as an external editor in Reaper so that it's quick to send a track from Reaper to it, set the loop, and reingest the looped wave back into Reaper. To send the track to Endless WAV, I found it best to right-click on the track, select
Open items in editor | Open item copies in 'Endless WAV.exe'

 

After setting the loops in Endless WAV, click [SAVE]

E コ d 矼 」 」 W 、 を 
A を ′ 一 A 以 
C ミ 、 Fad ル 一 コ 、 T00 一 5 
32 当 40 冨 第 ま 「 I-»aono 「 一 ~ 4 こ 民 T ~ コ 舅 の 第 の & 
》 ロ 日 田 日 
」 に ヨ を 
国 巨 回 囚 〔 」 国 爾 一 間 
L000 Edit 
N00 ョ 
24025 
X

The sample shows up as a new take

2/2: "1 wpy 
o ooeg

Right-click and choose Crop to active take

Because the wave has changed, the LUFS-M Normalize operation should be rerun after ingesting the looped waveform back into Reaper.

Step 5. Render out all tracks from Reaper

First, multiselect all* tracks in Reaper to select them for rendering.
* Tracks with loops don't need to be rendered in this step. They need to be rerendered separately so the loops are set correctly.
Note that with the following settings I chose 44100 Hz sample rate. I originally sampled and processed everything at 48 kHz, so I could have rendered at 48 kHz here instead. I could also have originally sampled at 44.1 kHz. Resampling doesn't cause any issues though.

File|Render…

Hit [Render 86 files]

Now, things get clunky because Reaper doesn't respect the internal loop points on looped samples. Therefore, I have to mark looped regions for each sample in turn:

Dance Kit vanilla 48 stereo - REAPER v646 - Registered to Gary Ruben (Licensed for personal'small business use) 
File Edit View Insert Item Track Options Actions Help 'dove media items 
12) le 
o:c.: coc 
omaa

then render that track with the following settings, then clear that region and set it for the next track, repeating for each looped sample:

O 
Render to File 
Sou Selected media 
Time bounds 
I media item 
Output 
x 
unds; 
D Tail: 1000 
Directory: Kit vanilla 44pl mono 
Render to: TATION drums\Dance Kit vanilla 44pI mono\Oance Kit vanilla-116 Ab7.wav 
Options 
Sam 
nels Mono 
I use project sample rate for mixing and FX processing 
[32nd pass rend 
Resample mode; Sinc "Iterpolation: 192pt 
Tracks with only mono media to mono files 
Multichannel tracks to multichannel files 
Dither master 
Normalize ON 
Dither stems 
Noise shape stems 
Nose shape master 
Metadata_. Embed: D Metadata ÜStretch markersftransient guides Take markers 
Primary outputformat Secondary output format 
F Ormat WAV 
WAV bit depth: 16 bit PCM 
arkers regions 
@Silendyincrementilenamesto avoid 
Do not render fles that are hkely silent 
Queued Renders.. 
v Large files: Auto WAV,Wave64 
lude proj 
name in SWF data 
Embed tempo 
c:] Add rendered items to tracks in project 
D Save copy of project to offle.wav.RPP 
Dry Run (no 0L@ut) 
Cancel 
Render I file 
Save Seffngs

If not resampling to a different sample rate during rerendering, I could have noted down the loop point sample numbers and typed them in directly in the Korg Sample Builder. Alternatively, one could save each file directly out of Endless WAV if it's OK to skip the Normalize step in Reaper.

Step 6. Building the multisample in the Korg Sample Builder software

Finally we should have all our samples ready to build into a multisample. Drag and drop all the samples from File Explorer into the keyboard region in the Korg Sample Builder. Verify that looped samples are not set as one-shots. Here's a one-shot sample:

üKOR 
لللاتن

Here's a looped sample:

Samole Builder 
KORE 
MULTISAMPLE 
Name orm_MW1: Dance Kit 
KEYZONE 
Ori I Key 
Dance Kit vanilla-118 GS7.wav Is-bit 
Category 
Level 
Notes Exported at LuFS.M Lu 
Tune (cents) 
Ooc•p Tune (cents) 
1