24, 26, 24, c:\brass\trumpet1.wav, 0
27, 30, 27, c:\brass\trumpet2.wav, 0
31, 35, 30, c:\brass\trumpet3.wav, 0
36, 60, 36, c:\brass\trumpet4.wav, 0
24, 26, 24, c:\brass\trumpet1_rel.wav, 1
27, 30, 27, c:\brass\trumpet2_rel.wav, 1
31, 35, 30, c:\brass\trumpet3_rel.wav, 1
36, 60, 36, c:\brass\trumpet4_rel.wav, 1
The composer of the script decided that the first field is the LoKey, the second is HiKey, the third is the Root Key, the fourth is the sample file to be used, and the fifth is the release trigger status.
To turn this script into a Giga file, for example, you would open up the Script Mapper and compose a Map that defines these fields. Then run the Script; this will step through the script and create the Giga file that you desire.
It must be remembered that the sample file may bring in parameters of it's own, such as Root Key, LoKey, HiKey, and perhaps some others. Script Mapper always uses the ones in the Script (unless UseSampleParams is specifed as a parameter - see below for more information).
Script Specifications
The script must be a comma-delimited text file. This means that each sample reference is seperated by new lines, and each field is seperated by a comma. Spaces are ignored but they were used above for clarity. Everything is case-insensitive.
You can comment out a line, or enter in markup text, by the first character in a line being a semi-colon (;), pound sign (#), single-quote ('), or double slashes (//). All blank lines are ignored, of course.
The available fields are listed in the Add Parameter box. If you don't include one of these in your script, a default value will be used (obviously).
Important! The parameters below (without the asterisks) can also be used in the [Parameters] section described below. This is a handy way to get your own set of default parameters in without tacking it onto every record.
- LoKey*: Can be MIDI number (0-127), or Note Name (e.g. G#4). Sharps only, and C4 is considered middle C.
- HiKey*: (see LoKey)
- LoVel*: Lo Velocity rule, going from 0-127.
- HiVel*: Hi Velocity rule, going from 0-127.
- FileName*: File Name of the sample, can be without path, or with relative or absolute path.
- RootKey*: (see LoKey)
- Volume: -96 to +12, decimal places are accepted.
- Pan: -127 (hard left) to +127 (hard right)
- KeyTrack: 0 means no keytracking of pitch (KeyTrackAmt will be ignored), non-zero means pitch will be keytracked.
- KeyTrackAmt: Amount of Keytracking if KeyTrack is non-zero.
- EnvFinish: 0 means a Note-Off event (letting your finger off a key, for example) will send the envelope to the release stage (normal behavior). Any non-zero value will set the envelope to ignore any note-offs and go right into the release stage (what is usually considered Drum Mode or One-Shot).
- Voices: The amount of Voices for this sample. DO NOT use this parameter if you want monophonic response; use the Mono parameter.
- Mono: 0=polyphonic response, 1=monophonic response, 2=mono with legato triggering
- Delay: Delay until the onset of the sound.
- AttackTime: Time in seconds of the attack phase of a AHDSR envelope
- HoldTime: Time in seconds of the attack phase of a AHDSR envelope
- DecayTime: Time in seconds of the attack phase of a AHDSR envelope
- SustainLevel: Time in seconds of the attack phase of a AHDSR envelope
- ReleaseLevel: Time in seconds of the attack phase of a AHDSR envelope
- FilterType: LowPass, HiPass, BandPass, BandReject
- Cutoff: Cutoff of the Filter (57-20000)
- Rez: Resonance point of the filter (0-127)
- LFOType: Sine, Triangle, Square, Sawtooth, Pulse, Noise, Random, PosTri, NegTri, PosSine, NegSine, PosSaw, NegSaw
- LFORate: In Hertz.
- LFODelay: The delay before the LFO kicks in; in seconds
- VelVolume: The effect that velocity has on the volume (0-127)
- VelCutoff: The effect that velocity has on the filter cutoff (0-127)
- Bend: The amount of bend that the pitch wheel with have on pitch
- ReleaseTrigger: Determines whether sound plays on note off; values are non-zero to set, or the string "on"
- RuleType*: A "rule" is some event or condition that determines which sample will be used in a key event. Available values are: Key, Controller, Round Robin, PitchWheel, Channel AfterTouch, Channel Pressure (same as Channel Aftertouch), Polyphonic Aftertouch , Polyphonic Pressure (same as Polyphonic Aftertouch)
- RuleNum*: If Rule Type is Controller, then this is the MIDI Controller number (0-127). If Rule Type is Round Robin, then this is theRound Robin group number.
- RuleMin*: The low range of the rule, can be 0-127 or a Note Name.
- RuleMax*: The high range of the rule, can be 0-127 or a Note Name.
- LoopType*: The following values are accepted: No-Loop means no looping, Whole-File means the entire sample will be looped from beginning to end, and Sustain (regular forward looping) or Bidirectional (forward-backward looping) or LoopAndRelease (Forward looping, then comes out of the loop upon release) mean that it is looped and uses the LoopStart and LoopEnd values.
- LoopStart*: The loop start value in samples
- LoopEnd*: The loop end value in samples
Global Parameters
A script can optionally include a Global Parameters
section. This must be headed with this title: [Parameters], and the records section must be titled with this: [Records]. Below is a small example.
[Parameters]
MiddleC-C3=1
GetRootKeyFromMidKey=1
AssumeSampleSameFolder=1
ReleaseTime=2.1
[Records]
// first part
1, 29, 01blpn1c_A0.aif, 2.1, 21
// second part
1, 29, 02blpn1c_A#0.aif, 2.6, 22
1, 29, 03blpn1c_B0.aif, 0.6, 23
1, 29, 04blpn1c_C1.aif, 0.1, 24
All parameters must be in this format [key]=[value]. The value must be 1 for the parameter to be invoked. This is so the user can toggle parameters without deleting the text.
Exception! This does not apply to the program parameters that can be included as listd above.
Below is a list of parameters you can use.
- AssumeSampleSameFolder: Used when the the sample file name without path is listed in the records section. This tacks on the destination path to the sample file name without checking for the sample.
- DoNotRequireSamples: To write accurate program files (.nki, .exs, etc.), Translator usually needs to have the sample present, mostly for the reason of getting the amount of samples for each file. Kontakt is the only format that does not mandatorily require any information out of the sample. HALion just needs sample amount, while EXS very much requires all information the sample can produce.
Setting this parameter does not require having the sample present, and Script Mapper tries to make due with what it can assume, or by what is provided in the script or file name.
- LoVelIs1: Translator's internal system for Velocity ranges is 0-127. If you want to input your velocities in 1-127 format, use the parameter. This instructs the Script Mapper to convert all LoVel ranges of 1 to 0, to adhere to Translator's requirements.
- MiddleC-C3: This instructs the Script Mapper that all Note Names (e.g. G#4) are considered relative to C3 being middle C. This insures correct MIDI values being assigned.
- UseSampleParams: IF (and that's a big if) a parameter exists in the sample file itself, that value will be used and not the one listed in the Script (if the Script specifies it).
- GetRootKeyFromLoKey: Any Root Keys are ignored, and the LoKey determines the Root Key
- GetRootKeyFromMidKey: Any Root Keys are ignored, and the HiKey determines the Root Key
- GetRootKeyFromHiKey: Any Root Keys are ignored, and the midpoint betwen the LoKey and HiKey is the Root Key
- GetRootKeyFromFileNameEnd: Given a Sample File Name such as "Brass A#3.wav", it will take the the root key as A#3.
- GetRootKeyFromFileName: Given a Sample File Name such as "Brass A#3 LoVel.wav", it will take the the root key as A#3. The NoteName will be the first one that appears.
- GetRootKeyFromSampleFile: This will get the Root Key from the sample file, overriding anything listed in the script. (Normal behavior is that the root key is gotten from the sample file but any script parameters override that.)
- GetKeyRangeFromFileNameEnd: Applies to both LoKey and HiKey (See GetRootKeyFromFileNameEnd for details.)
- GetKeyRangeFromFileName: Applies to both LoKey and HiKey (See GetRootKeyFromFileName for details.)
- GetKeyRangeFromSampleFile: Applies to both LoKey and HiKey (See GetRootKeyFromSampleFile for details.)
- GetKeyRangeFromRootKey: Sets both LoKey and HiKey to the value of the Root Key.
- GetLoKeyFromFileNameEnd: Applies to LoKey (See GetRootKeyFromFileNameEnd for details.)
- GetLoKeyFromFileName: Applies to LoKey (See GetRootKeyFromFileName for details.)
- GetLoKeyFromSampleFile: Applies to LoKey (See GetRootKeyFromSampleFile for details.)
- GetLoKeyFromRootKey: Sets the LoKey to the value of the RootKey.
- GetHiKeyFromFileNameEnd: Applies to HiKey (See GetRootKeyFromFileNameEnd for details.)
- GetHiKeyFromFileName: Applies to HiKey (See GetRootKeyFromFileName for details.)
- GetHiKeyFromSampleFile: Applies to HiKey (See GetRootKeyFromSampleFile for details.)
- GetHiKeyFromRootKey: Sets the HiKey to the value of the RootKey.
|