|
MIDI
Locator's Internal Sound Generator
This device is only visible and audible inside MIDI Locator. It is the
device which is opened if you start MIDI Locator the first time. It is
a simple sample player, which understands base elements of the GM-, GS-
and GM2-MIDI standards.
Base elements means that you can send a GS- or GM2-reset to it, and even
switch MIDI channels to rythm by the GM2- or GS-mechanism, but many GS/GM2-controllers
are not supported and have no result.
The sample player only knows 128 different MIDI programs, it doesn't understand
bank selections by Bank MSB/LSB, even in GS mode.
But it understands a rythm selection by "Bank Select MSB" 120
in GM2.
Supported MIDI events / controllers:
- Note
On/Off
- Program
change
- GS and
XG sysex messages "Use for rythm part" and "MIDI mode
reset"
- GM2 mechanism
for switching a MIDI channel to rythm (by BankSelect MSB 120)
- GM2 sysex
message "Keybased instr. controller" for controller "pan"
if MIDI channel is a rythm channel
- GS Drum
NRPN "Panorama"
- Main
Volume controller
- Expression
controller
- Balance
controller
- Panorama
controller
- All sounds
of controller
- All notes
of controller
- GS NRPN
Release time (TVF&TVA env.rel.time)
- GM2
Control Change "Release time" (Release time)
- Pitchbend
- RPN pitchmax
The sampler player can only play 44.1
kHz mono or stereo samples.
Because this device is an invention of
MIDI Locator's author, nearly all device parameters are defined for you
and are disabled for editing.
The only thing you could change is the wave device / MIDI channel map
(see MIDI output device parameter).
The most important thing you should know about MIDI Locator's Internal
Sound Generator is that it takes it's .wav / MIDI program and note key
mapping information from a simple text file: the .igr file. The .wav files
themselves have to be located in the same directory. Thats all.
You can create an own .igr file and assign your personal .wav files to
program and key-combinations, or you can use the pre-defined demo.igr
which is delivered with MIDI Locator.
There is a simple editor for creating or watching .igr files: The "Internal
sound generator .igr-file editor". You find it in the main menu,
entry "Extras".
The sample player can play oneshot and loop samples, edited in MIDI Locator's
or a foreign wave editor. But if you want to assign a .wav file to an
instrument program, it has to carry the "dwMIDIUnityNote" (original
key) information. The key of the .wav file can not be named in the .igr
file, it has to be named in the .wav-file's smpl-chunk.
Not all wave editors allow to define this "dwMIDIUnityNote"
field in the .wav file, use MIDI Locator's wave editor, then.
The sample player can play MIDI notes in realtime, and can also silently
render a MIDI song into a new wave file preserving the best audible qualitiy
(filewriter, only full version!).
The sample player can NOT produce effects like reverb or chorus.
How does "MIDI Locator's Internal
Sound Generator" realize playing the samples ?
It keeps
all sample-beginnings in RAM which could be started by appearing "Note
on" events. If you only set MIDI channel 1 to program Brass (MIDI
channel 10 is rythm by default) it will load the brass samples, piano
samples (channel 2-9 and 11-16) and all drum samples (channel 10), named
in the .igr file. It doesn't load all samples of the .igr file.
That means
the first thing the sampler does when it is turned on is to determine
the current MIDI programs on each MIDI channel. Then it loads the samples.
As soon as a new program change event appears old program's samples are
released and new ones are loaded from your harddrive. Please note that
the process of loading all samples of a MIDI program to memory can consume
much system performance for a short time.
Unlike external
RAM based sample players (MIDI expanders) MIDI Locator's sample player
will load needed samples from your harddisk in the moment when a program
change event appears. So you should think about positions of too many
program change events in your MIDI sequence which appear at the same MIDI
time. Set them some MIDI ticks appart from each other to spread their
performance consumption over a larger time period.
Also try
to avoid a short drop out by program change events in the middle of your
MIDI file. MIDI Locator's Internal Sound Generator is usually not influenced
by the resource consumption appearing by a single program change, but
many program changes together can be too hard. Put them in the beginning
of the sequence and give MIDI Locator some MIDI ticks time to load the
samples before the first "Note on" event appears.
Starting
a fresh loaded MIDI file in the middle...
The auto-"dirty
controller adjustment" function sends necessary program change events
if you start a fresh loaded MIDI file in the middle (to update all MIDI
channel's programs to their actual instruments).
This can
lead to an overdose of program changes.
The result
could be a stuttered beginning of the middle of the sequence, because
MIDI Locator can't load all the needed samples to memory fast enough.
Releasing samples
If you change
a MIDI channel's current program to a program number which has no assigned
samples, the old samples are released, but no new ones are loaded. At
this moment you can see the text "Releasing samples" on "MIDI
Locoator's Internal Sound Generator's" display.
Internal
Sound Generator .igr-file editor
The .igr-file editor can be used to create a sample (.wav file)/program-map
usable (loadable) by MIDI Locator's Internal Sound Generator. The sample/program-map
is saved in a simple text file with the extension .igr, where your .wav
files for each MIDI program number are listed. The samples have to be
placed in the same directory where you save the .igr file. If you load
the .igr file with the "load .igr file" button on the device
strip, MIDI Locator will search for the mapped .wav files in the same
directory.
MIDI Locator's Internal Sound Generator doesn't know "program banks",
it only knows one set of 128 MIDI programs and a set of 128 drum instruments,
like an old GM sound device.
So you have 2 areas: the upper 128 melody-instrument-area for non-drum
MIDI channels and the lower 128 drum-instrument area for MIDI channels
which were switched to "drum channels".
In the upper area you can assign one or multiple .wav files to every of
the 128 instrument-programs, in the lower area you can assign one .wav
file to every of the 128 drum-instruments.
The instrument .wav files in the upper area must have the "dwMIDIUnityNote"
(original key) information in the smpl-chunk. Use MIDI Locator's wave
editor, if you don't prefer another wave editor able to edit the original-key
information.
"MIDI Locator's Internal Sound Generator" uses automatic key
zones. If you trigger a MIDI note and you have two instrument samples
which are placed in front and behind this triggered key, the nearest of
them will be selected and pitched to the frequency needed to play the
triggered note. You can not directly set key zones.
Because the drum samples have to be assigned to a drum-key in the .igr
file editor, the original-key information is not needed in a drum .wav
file.
Also pre-defined "LowVelocity" and "HighVelocity"
in the inst-chunk of the .wav file will be red. So it is even possible
to assign more than one sample with one original-key. "MIDI Locator's
Internal Sound Generator" will compare the velocity area in your
.wav file with the velocity of the triggering "Note on" MIDI
event. And will play the .wav file which fits.
If you haven't assigned "Velocity" fields or even no inst-chunk
in your .wav file, MIDI Locator supposes full velocity range (1-127).
Also the "Velocity" fields are editable in MIDI Locator's wave
editor.
In addition to those fields in should be mentioned that also loop-points
in a .wav file are red by "MIDI Locator's Internal Sound Generator".
Release Times
"MIDI
Locator Internal Sound Generator" derives the release time of a sound
from the MIDI program. If you have assigned a .wav file to a bass instrument,
your sample will get a very short release time. If you assigned it to
slow strings, it will get a very long release time.
Drum's release
times are always eternal and end at the wave file's end. Only "Open
Hi Hats" are cutted by a "Note on" of "Closed Hi Hat"
or another "Open Hi Hat".
So the volume
envelope control of a sample is done by MIDI Locator and could not be
pre-defined inside the .igr file editor.
Anyhow you
can cut or expand MIDI Locator's calculated release times with a NRPN
"TVF&TVA env.rel.time".
Filewriter
You can
write the output of all tracks which are assigned to "MIDI Locator's
Internal Sound Generator" into a stereo 16 bit, 44.1 kHz or 24 bit,
96 kHz wave file.
You start
the file write by clicking on the button "MIDI to .wav".
Muted tracks are not written in the output file
The writing
begins with the vertical position of the cursor in the arranger window
(measure offset).
|