Note Expression, making sense of Pitchbend values

I admit, despite how cool note expression seemed, I never did give it an honest try until this morning. I had an idea to try changing the pitch of a drum loop to play differently each bar. In the past I would just create a new layer in Halion 4 and copy the sliced drum loop to the new layer and assign it a different pitch value and draw it in if I wanted a higher or lower pitched loop. This worked great, but the keyboard mapping got quite sloppy when I have 3-4 different layers each containing 16 slices of a drum loop. I also had assigned the course knob to a quick controller and change the pitch via automation and this worked great, however, again, I would need different layers or completely different channels in use if I wanted to automate pitch on some, but not all present on the current slot.

This is where note expression comes in. It allows me to adjust pitch on some parts, but not all on a current midi channel, but you already knew that.

Now to my question. Adjusting the pitch works great via note expression. The problem I am having is the pitch is assigned to the pitch wheel, and not the octave, course, or fine knobs of the pitch section of the zone. The pitchbend values make no real sense as to what value they actually represent pitch wise. If I want to raise the drum loop exactly 2 semitones for instance, what would this value be in pitchbend? I get values up into the thousands and make no sense at all. Sure, I can hear the pitch raising and lowering, but I have no clue what semitone value it is actually playing back at.

Is there a way to read the values or set the pitchbend so that I can actually draw in semitone amounts + or - via note expression to get the exact tuning I am after?

I hope you understand what I am saying here, if not please don’t ignore me and instead ask for further explanation as I would really like to get this solved.

Thanks for your time,


Ok, figured it out thanks to post #4 from this forum thread.

Basically, you set the range you want the pitch bend to go to, then divide that value by 8192 (the pitchbend resolution). This allows you to get the value for one semitone. Multiply that number by the amount of semitones you want to set your pitchbend to and type that exact number into the inspector once you highlighted the pitchbend data you entered into the note expression box. You can do + and - for that value to get semitone up or down values. I tested this out and it works perfectly. I am glad there is a way to get this sorted.

Hopefully this helps someone else out.

Hi Cantankerous,

there is also an easier way:

  • You can automate or remote the coarse in your program, for example with a Quickcontrol.

  • You will find it in the “Pitch” section

  • Just right mouse click and assign a Quickcontrol or a Midi- CC

The advantage is, that you only pitch in semi- tones…

Hi Marcus, thanks a lot for your reply.

Perhaps I wasn’t clear enough, however, I stated in my original post that I did assign the pitch parameters to a quick control for automation which is great if you only have the one zone/layer to automate. But what if I wanted to have different layers, which I wanted some aspects to be controlled by automation, but others not? I would end up having to pitch the entire track through the automation where as the note expression truly allows for complete control over what gets processed and what doesn’t. Drawing in automation for single snare hits here and there would be a real mess when the track has 16 other slices being played back around this single snare hit.

I am glad there are other ways to do things however, gives the user choice and freedom to explore.

I have said it before and I’ll say it again, Halion 4 has really made me what I am today in terms of how I work. It feels like this sampler was built ‘JUST FOR ME’ in the way the workflow is layed out. The best purchase I have made audio wise in the past few years. I really look forward to what future offerings are brought into Halion for me to take advantage of.

Hi Cantankerous,

the Midi CC-Automation for Pitch are possible to use for different Layers independently , that is why I recommended this solution.

  • Just create a new layer and drag-and-drop the audio- sample

  • Now choose the audio- sample in the new layer

  • In the pitch section for coarse now Right-Mouse-Click and assign a Midi- CC or a Quickcontrol

The Pitch will now only be changed for this audio- sample.

Hopefully I did not misunderstood you mate…:wink:

Thanks again for getting back to me Marcus.

Fooling around more last night, after reading the manual, I found out there is a FAR better way to achieve the above. Instead of using the pitchbend and worrying about deciphering the values, why not just use the tuning parameter of note expression? It by default has a range of +/- 12 semitones and by activating the vertical snap function of the note expression editor window, one can easily drop in exactly where they want the pitch to change of a particular note only, leaving the rest unchanged. I don’t even have to worry about setting the pitch bend range in the sample zone itself. It just works easy as pie, absolutely brilliant!

I took it one step further today and decided to try and create my own note expression commands. I managed to assign the sample playback mode to a note expression command, where I can draw in at free will, what slices of a drum loop I want to play back forward, backwards etc! FUCKING AWESOME!

To go even further, I assigned the bypass of a delay insert I had going on a vocal clip, to a midi cc and was able to use note expression to bypass at free will, the delay played on segments of a vocal clip.

This note expression business is pure sex and is going to make intricate and complex automation a breeze with complete control over every aspect of your music, without having to fiddle about with multiple automation lanes etc.