HISE Docs

Map Editor

With the Map Editor you can map your samples and save them as a SampleMaps .

Drag & Drop your samples into the map to select from one of three different mapping functions:

After you added your samples to the SampleMap it's possible to drag them around in the Map Editor and adjust their map properties with the SampleMap Value Setters and their audio-related properties in the adjacent Sample Editor .

In the Sample Map Editor you can use some of the usual suspected Action Keys while dragging:

After you're finished with editing you can save the SampleMap (Ctrl+s). It will be saved into the SampleMaps Folder of your project and from this moment on be available in the SampleMap Selector in the toolbar and accessible with the scripting capabilities of HISE. Recipe: Switch Samplemaps with a ComboBox

The next step would be to compress the SampleMaps samples into a single big monolith-file (HLAC) for improved loading-time and reduced file-size. Learn more about this here: Compress and Export

Toolbar

Icon Shortcut Name Description
ctrl + N New Samplemap Create a new SampleMap
Import Sfz File Format Import SFZ file format
Warning Shows up, when you haven't saved your SampleMap
ctrl + S Save Samplemap Save the current SampleMap
Convert To Monolith Convert the current samplemap to HLAC monolith format
ctrl + + Zoom In Zoom in the sample map
ctrl + - Zoom Out Zoom out the sample map
ctrl + Z Undo Undo the last operation
ctrl + Y Redo Redo the last operation
Enable Autopreview description
ctrl + A Select All Samples Select all Samples
escape Deselect All Samples Deselect all Samples
ctrl + X Cut Cut selected samples
ctrl + C Copy Copy samples to clipboard
ctrl + V Paste Paste samples from clipboard
ctrl + D Duplicate Duplicate all selected samples
delete Delete Delete all selected samples
Fill Note Gaps Fill note gaps in SampleMap
Fill Velocity Gaps Fill velocity gaps in SampleMap
ctrl + L Load Samplemap Load a SampleMap from the pool.
Refresh Velocity Crossfades. Switches to crossfade mode. LoKey and HighKey switch to LowerVelocityXFade and UpperVelocityXFade.
Trim Sample Start description
Rebuild description

SFZ Importer

SFZ is a free file exchange format for samplers. However, HISE is not designed to be a SFZ sample player. The SFZ parser makes it more easy to transfer other sample formats to HISE . Although there are opcodes for almost any property of a sampler, only these opcodes are supported:

sample, lokey, hikey, lovel, hivel, offset, end, loop_mode, loopstart, loopend, tune, pitch_keycenter, volume, group_volume, pan, groupName, key

These are pretty much all opcodes thich relate to a HISE sampler property. If you want to convert NI KONTAKT libraries, check out the Chicken Translator SFZ edition, as this is the preferred way of migrating KONTAKT libraries

Loading SFZ files is remarkably easy, just use the SFZ button, or drop a .sfz file on the sampler. If there are multiple groups in the SFZ file, you will see a dialog window where you can consolidate the sfz groups to RR Groups or ignore dedicated sfz groups (and drop the same sfz on another sampler with a inverted selection to split the sfz file to two independant samplers")

SampleMap Value Setters

Name Description
RR Group the group index for round robin / random group start behaviour. Although it's called RRGroup, it can be used for any other purpose (like dynamic X-Fade or legato sample triggering). Think of this as an additional z-axis in the note/velocity coordinate system.
RootNote the root note. This is the reference pitch note.
HiKey the highest mapped key.
LoKey the lowest mapped key.
LoVel the lowest mapped velocity.
HiVel the highest mapped velocity.
LowerVelocityXFade Change the lower Velocity X-Fade
UpperVelocityXFade Change the upprt Velocity X-Fade

Right click on the property to open a big slider that allows finer adjustment

Drop Point

Drag & drop your samples to a specific location in the Map Editor.

Pitch Detection

A pitch detection algorithm that maps the samples according to their pitch. (not always 100% reliable)

Filename Token Parser

The Filename Token Parser maps samples according to their filename. It can divide the filenames into tokens and automap them to specific properties of the SampleMap.

With this we can take these two sample filenames:

and automap them to these properties:

Load your samples into the Map Editor and choose Filename Token Parser .

First you have to specify the filename Separator . The parser needs this character to divide the filenames into tokens (the default separator is _ ). Each token will now appear in a separate row in the popup. Step through each token and tell the parser what to do:

The Rows

String

The separated tokens of the first filename (it will iterate over all files, but only display the first filename tokens so that you can see what the parser is doing)

Property

The Property column decides to which SampleMap property the token is assigned to.

Option Property Datatype
Ignore - do nothing with this token. ignore the token information. (default)
Single Key LoKey , HiKey & Root sets the MIDI NoteNumber. Use a single "Number" (0-127) or a "Note name" in the format D#3 (middle octave = 3)
RR Group RRGroup moves the sample into the specified RRGroup (starting with Group 1), Use "Number" or a "Custom" data type for this.
Velocity Spread LoVel & HiVel spreads the velocity across the whole range divided by the amount of found "Custom" items (pp,mp,ff).
Velocity Range LoVel & HiVel spreads the velocity across a range (_1-63_). You must use the data type "Number with Range" or "Custom" for this mode.
Low Velocity LoVel sets the lower velocity value, independently. use it together with High Velocity . "Number" only
High Velocity HiVel set the high velocity value. "Number" only
Velocity Value LoVel & HiVel maps each samples velocity to a single value ( LoVel: , HiVel: +1 )

Data Type

The Data Type column defines as which data type the token should be interpreted. The result is always a number, or a space separated number list (Values).

Data Type Description Items Values
Number Uses the number received from the token - -
Number with Range Uses two numbers. base and a upper limit (0-56) to define a range. (for Velocity Range , exclusively) the upper limit as number -
Note Name If the token is a Note Name (format: "D#3"), use this data type to convert it to the right midi note number (middle octave is 3). - -
Custom
Maps any string in the item list to a number in the value list. Example: RR1 RR2 and 1 2 will map RR1 to RRGroup 1 and RR2 to RRGroup 2. the string token list (separated by space)
the number list (separated by space)
Fixed Value Sets a fixed value that can be entered in the Items&Values columns number number
Ignored Ignores the token. You should not have to use this directly, as it's the datatype for ignored tokens. - -

In case that you want to store the parser settings for further use: You can Copy&Paste or Save&Load the Filename Token Parsers settings in the top of the Popup.

There is a handy tool called "Close Gaps" which can be useful after importing the files with this method.

The Solution to the example:

Cello_stacc_RR1_D#2_p.wav Cello_stacc_RR2_C3_f.wav

Token Property Data Type
Cello Ignore Ignored
stacc Ignore Ignored
RR1 RRGroup Custom
D#2 Single Key Note name
p Velocity Spread Custom

Scripting

If you want to access attributes of SampleMaps or change SampleMap aspects with scripting, use a typed Sampler script reference. (Shortcut: Right click on the top bar of the Sampler)

const var Sampler2 = Synth.getSampler("Sampler1");