Sample'O'Matic

Sample'O'Matic 1.0 Build 2 (september 2003)

Sample'O'Matic (SOM from now on) is a software application in the music area. Its goal is the automation of repeated sampling processes of MIDI musical instruments.

Imagine this: you like the sound of that keyboard, and you will like to sample them. But 128 progams, 64 notes for each program, 3 secs for each note means 8192 sampling processes: a 7 hours long job, so tedious ...

But SOM is here to save you! All you have to do is:

  • generate the MIDI note on list with a couple of click;

  • set the value of a couple of MIDI and sampling parameters

  • click on SOM Start button

SOM will send each note of the list to the MIDI out port and save the resulting sound as a WAV file on your PC hard disk. It will need 7 hours (or more) as before, but it does the job by itself!! The perfect example of an overnight job: set all those parameters, let it run and go to sleep; tomorrow you will wake up with 8192 more WAV files on your HD!


The Events List

Building the events list is a four steps process. You have to:

  1. Select the notes to play

  2. Decide along which octaves will the notes be played

  3. Set the value of notes parameters

  4. Generate the events list

Moreover, the list can be edited in each single event.


Selecting the notes

First thing to do is select the notes that you want to be played.

This is very simple: all you have to do is clicking the desired note on the mini keyboard in the upper left part of SOM main window:

Selected notes will be listed in the black box below the keyboard.

Click the Select All button to select all notes (from C to B), and click the Unselect All button to unselect all notes (again, from C to B).

Now you have to decide along which octaves will those notes be played.


Selecting the octaves

Each octave can be selected / unselected clicking in its white check box.

In the picture below all octaves have been selected.

Select All and Unselect All buttons can be used to check / uncheck all the octaves.


Setting MIDI parameters value

Setting note parameters value

You have five parameters to set, as shown in the picture.

MIDI Channel

Choose a value between 1 and 16.

Usually MIDI channel 1 is the default setting for MIDI musical instruments, so the default value is probably correct. Anyway, you can change the MIDI channel value clicking the grey button with the black down arrow on the right of the field. A list of values will drop down, and you can choose the correct value with a click.

Patches

Use this field to decide which patches (programs) will be selected.

There is a simple rule to remember: patches (programs) number are separated by a comma, and the minus sign means consecutive patches.

As an example, a string like this: 0-14,17,22-30 means all patches from 0 to 14, then patch 17, then all patches from 22 to 30.

If the patch field is empty, only the current patch will be played.

Key Velocity

This parameter controls the speed used to press the key (Key Velocity MIDI event). The lowest value is 0 (no sound) and the highest is 127.

This is particularly useful for multilayered patches, when a single sound is made of more samples, each with its own key velocity window.

Duration

This parameter controls how long a key should stay in the pressed status (Note On MIDI event). Values are in the 1..32000 range.

Look at the picture at the top of this page: a value of 2000 means that SOM will:

  • start sampling process and send the Note On MIDI events

  • wait 2000 milliseconds

  • send the Note Off MIDI event

Decay

This parameter controls how long should the sample process wait (after the Note Off MIDI event) before stopping. Choose a value between 1 and 32000.

Again, look at the picture at the top of the page: Decay value is 500. This means that SOM will:

  • send the Note Off MIDI event

  • wait 500 milliseconds

  • stop the sampling process


Generating the events list

Click on the Generate Events ---> button.

If notes, octaves and MIDI parameters values are correct, the grid in the center of the windowd will be populated, like in this picture:


Events editing

To edit an event you have to search for it in the grid, then double click it.

A window like this will appear:

where you can edit each single value.

Click on Accept button to save your changes or on Discard button to ignore them.


Sample process parameters

Parameters related to the sampling process

They are located in the upper right part of SOM main window:

Sampling Rate

This parameter controls the sampling frequency. Available values are:

  • 11 kHz (low quality)

  • 22 kHz (medium quality)

  • 44 kHz (high quality)

Sampling Bits

This parameter controls the accuracy of the value of each sample.

  • 8 bit (low accuracy)

  • 16 bit (high accuracy)

Sampling Mode

This parameter controls the number of channels used during the sampling process.

  • mono (1 channel)

  • stereo (two channels)

Remember that all these parameters are strictly related to the resulting size of WAV files: higher quality means bigger files.


WAV parameters

Use this parameters to decide what kind of WAV files will be stored and where.

Instrument Name and Save To Folder values in the picture mean that SOM will:

  • create the C:\SAMPLES folder

  • create the C:\SAMPLES\KORG_PA80 folder (blank will be replaced by underscore)

  • create many C:\SAMPLES\KORG_PA80\PATCH_XXX folders, one for each of the selected patches, where XXX will be replaced by the patch number (example: PATCH_010)

  • store each sampled note in a signle WAV file called PATCHXXX_YY.WAV where XXX will be replaced by patch number and YY by note name (example: PATCH010_C5.WAV)

WARNING: SOM will not delete folders content, but will overwrite files if already present.

This means that each time you repeat a SOM session, older WAV will be overwritten. On the other side, you are able to sample different notes in separate sessions.

Include embedded note in WAV files is a very important parameter if you plan to use the samples in soft samplers (like Steinberger Halion).

If you check that box, the MIDI note number will be embedded in the WAV file, so, when you load the samples to a software sampler, key mapping will be automatic.

Sadly, this performance has its price, and SOM process (play-sample-save) will be a little slower.


Control panel

Now that all parameters are set, just let SOM starts its job.

The picture reflects SOM wait status (default), where SOM is inactive, waiting for your decision.

The Extimated box shows you the time needed to complete the task. This is an extimated time, computed considering only duration and decay values. Hence this value is always smaller then the real value, particularly if you selected the embedded note option. But it will be computed again and again during sampling process, and its accuracy grows rapidly.

The following picture illustrates SOM run status

First of all, START button changes to SUSPEND button, and STOP button is enabled, so that you can decide to suspend SOM job (for a later resume) or stop it (no resume).

Computed time has been updated, Elapsed shows the time elapsed from start of process and Now Playing shows the note currently played (and sampled)

This third picture shows SOM suspended status

SOM is "freezed" and waiting for your decision. You can stop its work, returnig to the waiting status, or resume it, going back to the run status.

Please note that suspended status stops even the time counter, to avoid errors in time computing.


File menu

MIDI Devices

When SOM starts, the first thing it does is searching for MIDI Devices in your PC, so that it can populate the MIDI Devices sub menu (currently, up to 20 items).

Note that the picture above reflects my computer settings, and may differs from yours.

Selected MIDI device will be stored, so that when SOM starts it always defaults to previously selected MIDI device.

Save Setting

This will let you save all SOM parameters values, so that they can be later reloaded.

WARNING: if you edited single events in the grid, those edited values will NOT be saved, because save setting doesn't save the events list, but parameters values only.

WARNING: selected MIDI Device won't be saved by Save Setting.

Load setting

This will let you load previously saved parameters, overwriting actual values. Load process will not delete saved values, so you can repeat the load process as many time as you like.

WARNING: each time you load saved values, the events list will be deleted and computed again using loaded values.

WARNING: selected MIDI Device won't be loaded by Load Setting.

Exit

Oh, well...


About menu

When you click the About menu SOM will show you the about window, with informations about the program, the author and the activation code.


Activate Me menu

This menu choiche will appear only if you are running in DEMO mode, and should be used to insert the activation code.

See this page for more details.


Activation Code

SOM is protected by an activation code. Each time that SOM starts it checks for this code, and shows this form if the code is not present.

Moreover, this form can be accessed by clicking the Activate Me menu item (if available).

You can:

  • Insert the correct activation code to unlock SOM from its DEMO mode.

  • Confirm this blank code by clicking the Ok button. This will enter SOM DEMO mode, and will show the Activate Me menu item.

If a correct activation code has been inserted, it will be showed inside the about screen.


WAV files

The core of SOM is based on the WINMM.DLL library, provided by Microsoft in every version of Windows, starting from 95.

The library is used both for sending MIDI commands and for recording the resulting sound to a WAV, uncompressed files.

Uncompressed WAV is the only file type allowed. If you need other formats (like Soundfont) you should convert WAV files with some other application.


Timing

SOM is written using Microsoft Visual basic 6.0 Enterprise Edition with Service pack 4.

This is a very powerful and complete language, but, ogf course, it is not perfect. Timing is one of its problems, because it is not so puctual, expecially when your PC runs more applications at the same time.

SOM uses a couple of tricks to keep timing as accurate as possible, but the problem is not completely solved and, depending on your Windows version, PC processor, memory size and number of applications running, sometime a 2 secs sample may become longer.


Wiring

I think that most of you already know how to properly connect your keyboard to your computer, but, for those not so experienced, here is a couple of advices and a schematic picture.

First of all, what you are trying to do with SOM is build a WAV file library starting from a list of MIDI events, sent to the MIDI instrumewnt via MIDI interface.

So, first wiring should connect the computer MIDI out port to your keyboard MIDI in port.

Then, your computer should be able to record the sound coming from your board.

Hence, second wiring is an audio cable (better if stereo) from your keyboard Line Out to your computer Line In.


Sampling parameters

Sampling parameters are splitted in two groups.

First one is strictly related to the sampling process (sampling rate, bits and mode).

Second group is related to the resulting WAV files (Instrument name and WAV folder)


SOM Menu

SOM menu is very simple, with two choiches only (three when in DEMO mode)

FILE

About

Activate Me