Keymapping Skip keys?

I have two samples, a major chord and a minor chord. I want to map them over an octave so they stay in tune when played chromaticly. I have only managed to do this by having many instances of each sample for each key. Is it possible to put gaps in a range, or some conditional thingy , so I could achieve this just using the two samples?

It could probably be done with LUA script, or creative mega-trig modules, but I don’t think you really need it in this case.

I.E. With mega trigs you could do two layers. One with your major sample stretched over the octave, another with your minor doing the same, and set up the conditions as required to get one or the other layer to play.

Conditions can be established by building a mega trig module for each layer to the effect of: If a certain pedal, or a key-switch, or a given combination of keys is held down or whatever, play the minor layer. If not, play the major layer.

Here I have two layers, and using Mega Trig modules,
I tell Major chord only to play if CC4 <= 64 (pedal up).
I tell Minor chord only to play if CC4 >= 65 (pedal down).

Here is one that uses key switches instead:

You could also do more elaborate things like a single key in that octave triggers the Major layer, while pressing any two keys in the range triggers the minor layer, while using the lower key as the root. Similar to how Yamaha and Casio organs often have those auto-chording modes for the left hand where you just hold simple patterns of keys and its off to the races with arpeggios and more. (think it through, and might even need to stack a couple of condition sets, or even more than one Mega Trig in a series to get it filtering and playing the right note-on events).

If I’m understanding properly, while you might have many visual elements showing on your zone maps, and in your list of layers, HALion isn’t actually demanding new copies of the samples (unless you edit one in some ‘destructive’ way that it ‘really’ needs to either over-write the original, or make a fresh copy before modding).

In short, they’re all simply ‘graphical elements’ pointing to the same file/samples. Drag as many as you want onto a zone map without fear. In general, HALion is NOT going to replicate the actual sample data from doing this simple calculated pitch-translation alone.


Imagine I have a kick drum sample. I drag it onto the C1 key, and do some tuning, apply some dynamic envelopes, a filter envelope, and even drop in an aux bus to send it through a reverb.

Later in the same kit, I decide to drag this same bass drum sample again onto the F1 key to replicate a big floor tom, and even tune it up several semi-tones. I could even decide to move it to another instrument layer and process it with different envelopes, send it through a different bus route and such. Well, since I have NOT needed any ‘destructive’ edits to the actual sample to this point…HALion is still using the SAME SAMPLE DATA for both zones/layers.

When exporting or packing an instrument…HALion does have options for forcing resampling of each layer/zone, auto-trimming and more, but I think the default for simply packing your own vstsound is so things don’t get duplicated and ‘hard normalized’ unless NECESSARY. You do get options, and for simple pitch translation as you’ve described above…no reason to hard resample every individual key during a vstsound pack, or sample export (but I think you do have that ‘option’ if desired).

Thanks for your reply, really helpful!