How to disable touch effect on a program in Halion 6
Please explain what the touch effect is.
I mean Touch sensitivity of the keys of the piano/keyboard.
When Key pressed lightly the volume will be low, when pressed hard, the volume will be high.
Is there a way I can hear a fixed volume irrespective of how light or hard I press?
It sounds like you mean key ‘velocity’?
Sometimes it’s quite easy to do this kind of thing with just a few clicks in the Host. Example: Is Cubase the host you are using? If so, you might like using a MIDI Modifier in the track inspector to compress and/or velocity shift MIDI output.
I.E. If you wanted all notes sent to HALion to be max velocity (127) you could set “Velocity Shift” to 126.
If you wanted to compress everything to a velocity of 63 you might try settings like this:
If you wanted to have different max and min velocity possibilities but still have some variation, you can use a combination of MIDI compression and velocity shifting.
Another possibility is to use an Input Transformer to transform incoming MIDI notes to a set velocity.
If you really need to do it inside HALion itself (perhaps you play it in a Stand Alone Mode)
In HALion itself, it can vary depending on the loaded program. One of the simplest approaches to try first is to locate the main ‘velocity curve’ for the program/instrument. Set it to a constant of whatever velocity you desire.
I’ve loaded an Eagle Piano called, “Concert Evening”.
I make sure the top most parent level of the program is selected in the program tree.
In the Edit and Sound tabs the first thing I see is a level velocity curve setting. I can change this to “Constant (127)”.
Note, this might not lead to the desired effect since quite a lot of instruments use different sets of samples relative to key velocity.
So, if that approach doesn’t get the desired sound from the instrument, you might disable “Sonic” editing mode (if active), and create a new MIDI module for a custom “Velocity Curve” near the top of the program tree. This could be used to force a steady velocity value of your choice for all of the layers in the program tree.
In this example I’ve created a MIDI Velocity Curve Module in the main parent of the program tree and set a flat curve, with a value of 64:
Now whatever velocity is fed into HALion, it will force a change to a value of 64 before sending it on to subsequent ‘layers’ in the program.
HALion is quite deep, so there are more ways! Note that each layer can also have independent Velocity curves like this in place, and they can all work somewhat independently depending upon how you’ve designed the program.
Another possibility is to use a CC mapper. It gets more complicated, but it can be done, and is rather common with setups like HALion Symphonic Orchestra where the user can have a ready ‘choice’ between using a CC, Key Velocity, or note value (keyboard position) for controlling ‘dynamics’ (or anything else as well).
I don’t have time to go deep into it here, but the gist of it is, you can assign dynamic shifting variables throughout the program to use one of the ‘letter’ controller parameters, have custom curves for each one,
and then the user can point any CC, Key velocity, key-range, or aftertouch to that ‘letter parameter’. It’s also possible to get pretty fancy with such a ‘modulation matrix’, and build multiple methods to get at any given parameter. In this violin instrument from HSO, by default key-velocity has no effect on the sound. Instead, one uses the mod wheel to control volume and crossfade or switch between the various ‘sample layers’. The user can ‘change’ this instrument to instead use traditional ‘key velocity’ for dynamics (handy for playing back tracks built for a general MIDI standard instrument).
(Usually done via special macro editor. Again, HALion Symphonic Orchestra programs are great examples to see one way this can be done. In this case, the macro above changes the Contr. A parameter that can be seen yet one screen shot above that. In full HALion the controller can be changed from either place…the HALion editor, or from this custom Macro screen. In Sonic, it’s only assignable from the Macro screen.)
It’s also possible to use LUA scripts instead of these MIDI Modules to build velocity curves, translation maps, and more. A basic script to do this should be pretty simple, and there is a scripting area for HALion in these forums where other users would probably be glad to help you start learning to script for HALion.
And more…yes, there are probably several more ways than the basics I’ve covered here. These are the ones that popped in my head right off the bat.
Yes, it was velocity. Thank you for that explanation.