What's new

Urgent tech info needed before deal closes at spitfire!

river angler

Senior Member
Appealing to all fellow composers!

Please forgive me for posting here! but this is related to deals! deals! deals! in the respect that I need some urgent feedback from anyone here in answer to a simple technical issue which is at the moment forcing me to abandon investing heavily in the Spitfire libraries before their deals end tonight!..

I have just found out from Spitfire that their long samples right across the board of all their libraries do not respond in volume or timbre to initial key velocity values struck by the keys! Apparently key velocity is only assignable to the attack phase of the sample but has no effect whatsoever on a samples initial playback volume level let alone the initial level of the timbre of the sound!

I was wondering if anyone out there has set up a way of converting the key-struck velocity values into CC1 messages to overcome this to bring back full use of midi key velocity to control the initial volume evel and timbre of the long samples in Spitfire?

It seems crazy to me Spitfire and others commit this obvious natural playability as I have used key velocity all my career to play in parts while composing, let alone performing with samples live on stage!

Any info posted here would be so much appreciated as I am gutted to find this out at such a late hour before splashing out on the orchestral library manufacturer I much prefer to all the others sonically!

At the moment it's looking like I simply can't go ahead on account of this key velocity issue as it is fundamental to how I work!
 
Asking for clarity - do you use the modwheel when you play orchestral instruments, or do you just want the key velocity to determine the volume, dynamics and timbre?

I was wondering if anyone out there has set up a way of converting the key-struck velocity values into CC1 messages to overcome this to bring back full use of midi key velocity to control the initial volume evel and timbre of the long samples in Spitfire?


I can do this easily for you in LogicX if that is your main software.
 
Asking for clarity - do you use the modwheel when you play orchestral instruments, or do you just want the key velocity to determine the volume, dynamics and timbre?




I can do this easily for you in LogicX if that is your main software.
Leg-end. I came to ask the modwheel question too.
 
Cool, I saw on your website that you use Logic. Here you go Henry.

You'll want to click on the MIDI FX right above Kontakt, for each of your Spitfire instruments.

g7QTh6S.png


Select "Scripter"

and then delete everything that's in the Script Editor window. Copy and paste in this instead:

Code:
function HandleMIDI(event)
{
if (event instanceof NoteOn) {
var Mod = new ControlChange;
Mod.number = 1;
Mod.channel = event.channel;
Mod.value = event.velocity;
if (Mod.value < 0) {Mod.value = 0};
if (Mod.value > 127) {Mod.value = 127};
Mod.send(); event.send();
}
else event.send();
}

then click Run Script.

And that's all there is to it :)
 
Asking for clarity - do you use the modwheel when you play orchestral instruments, or do you just want the key velocity to determine the volume, dynamics and timbre?




I can do this easily for you in LogicX if that is your main software.
Thanks for chiming in! It's not so much knowing how to transcribe velocity into CC1! I know how to do that! It's just that after such a long chat with Spitfire about this they seemed to be implying that even if I was to convert my key velocity values into CC1 ir would somehow disturb how the Spitfire GUI works to control the velocity layers!
 
Cool, I saw on your website that you use Logic. Here you go Henry.

You'll want to click on the MIDI FX right above Kontakt, for each of your Spitfire instruments.

g7QTh6S.png


Select "Scripter"

and then delete everything that's in the Script Editor window. Copy and paste in this instead:

Code:
function HandleMIDI(event)
{
if (event instanceof NoteOn) {
var Mod = new ControlChange;
Mod.number = 1;
Mod.channel = event.channel;
Mod.value = event.velocity;
if (Mod.value < 0) {Mod.value = 0};
if (Mod.value > 127) {Mod.value = 127};
Mod.send();
}
else event.send();
}

then click Run Script.

And that's all there is to it :)
NoamL! Thanks very much for reminding me about this trick! It's been a while!..
As I was saying... to bring my confidence back to splashing out tonight on what will be a major
investment for me at this time (!) I was wondering if your good self or any other Spitfire library users were also rescripting velocity for the same purpose? and if they had run into any issues?
 
even if I was to convert my key velocity values into CC1 ir would somehow disturb how the Spitfire GUI works to control the velocity layers!

right, I understand their concern.

Some of Spitfire's articulations, such as the short strings, have their dynamics controlled by the key velocity. Thus, if you "convert" velocity to CC1, the Spitfire instrument won't receive the velocity; it will receive CC1 instead, but they don't 'understand' it and won't know what dynamic to play.

My script avoids that. It sends the original key velocity message, and generates an additional CC1 message that has the same value (0-127) as the velocity. This way, the Spitfire instruments that rely on velocity information will still receive it and play back normally. Meanwhile, the Spitfire instruments that expect a CC1 message will receive one, proportional to however hard you play the keys.

Gotta go do some work now but I hope that's explained clearly :)
 
Off the top of my head, one complication I could foresee would be that, if you were to play polyphonically, each noteOn would send a new cc1 value that'd replace the previous, therefore causing the dynamics to jump about on the held notes. Can't say whether or not that'd be a dealbreaker though.
 
if they had run into any issues?

Well, the main issue is that when you use this method of controlling dynamics & timbre, the entire note will stay the same dynamic for however long it is. This is not a very realistic way of playing, that is why I like to use the modwheel.

However, this script will not interfere with using the modwheel if you decide to do that. The script only sends an initial CC1 message, not a perpetual one. If you send additional CC1 messages afterwards while holding the note, they will be received properly. Just watch out that if the message is very different (for example, you play a key very softly and then move the modwheel right to the top) there will be a big jump in the sound, naturally.

EDIT: Avery's concern is correct too. One more reason to just use the modwheel! ;)
 
right, I understand their concern.

Some of Spitfire's articulations, such as the short strings, have their dynamics controlled by the key velocity. Thus, if you "convert" velocity to CC1, the Spitfire instrument won't receive the velocity; it will receive CC1 instead, but they don't 'understand' it and won't know what dynamic to play.

My script avoids that. It sends the original key velocity message, and generates an additional CC1 message that has the same value (0-127) as the velocity. This way, the Spitfire instruments that rely on velocity information will still receive it and play back normally. Meanwhile, the Spitfire instruments that expect a CC1 message will receive one, proportional to however hard you play the keys.

Gotta go do some work now but I hope that's explained clearly :)
It does! I owe you one my friend! thanks so much!
 
Off the top of my head, one complication I could foresee would be that, if you were to play polyphonically, each noteOn would send a new cc1 value that'd replace the previous, therefore causing the dynamics to jump about on the held notes. Can't say whether or not that'd be a dealbreaker though.
Yes! that does unfortunately make logical sense too!... maybe this is what Spitfire were hinting at and partly my concern too!

I guess it depends on how the Spitfire GUI receives CC1 info, or rather how it encrypts it.
 
Why don't you want to use the modwheel? If your keyboard doesn't have one you can buy a second one or replace the one you have.

So many libraries are planned fundamentally around having a modwheel for CC1 and some other continuous controller (often a foot pedal) for CC11 that I think, sooner or later, you will have to succumb to it.

If you have a physical limitation of some kind that prevents using two hands, you could consider a second foot pedal and assign that to CC1.
 
EDIT: Avery's concern is correct too. One more reason to just use the modwheel! ;)

NoamL ! yes! I agree it can't realistically be overcome! ..I simply don't understand why some libraries insist on omitting key velocity control like this: as I have found myself repeating many times tonight!..
when I play softly I expect an ensemble string pad to respond quietly then if I want to I can move my volume pedal (I prefer to keep my hands free for playing in notes!) to further add volume swells just like keyboard players have been doing for decades! Just doesn't make sense to not allow key velocity to at least conduct the initial volume a sample is going to start its envelope at!

Call me naive coming late into the modern way of implementing performance control of these libraries but surely there must be loads of keyboard players out there who feel the same way?...!

Pity! cos my hearts been set on Spitfire sonically!
 
Why don't you want to use the modwheel? If your keyboard doesn't have one you can buy a second one or replace the one you have.

So many libraries are planned fundamentally around having a modwheel for CC1 and some other continuous controller (often a foot pedal) for CC11 that I think, sooner or later, you will have to succumb to it.

If you have a physical limitation of some kind that prevents using two hands, you could consider a second foot pedal and assign that to CC1.
Hi JohnG! I use a Kronos and old Roland A-50 from my live rig in the studio! I use two foot pedals all the time too! ...perhaps you posted just as I posted my previous message moments ago that explains why I am adverse to using the mod wheel- or more poignantly why I am so gutted I can't use key velocity like normal!
 
You can get accustomed to the change. I still play harder when the sound is loud, even though I'm actually controlling volume with the left hand.
I hear you! but I am also potentially investing heavily in a library for performing on stage! and there I certainly don't have hands free to control the volume!

I write extremely spontaneously when I'm composing and for that not being able to control the initial level of a chord with my playing hands seems completely absurd! Imagine playing a piano like that!

When a violinist strikes the initial note harder or softer we hear it! Why shouldn't we have the same control from the keyboard?...!

I am especially surprised to have come across this gremlin with Spitfire as all their hard work at producing what are such wonderfully dynamic samples IMO is not being harnessed on to its full potential.
 
Last edited:
Cool, I saw on your website that you use Logic. Here you go Henry.

You'll want to click on the MIDI FX right above Kontakt, for each of your Spitfire instruments.

Select "Scripter"

and then delete everything that's in the Script Editor window. Copy and paste in this instead:

Code:
function HandleMIDI(event)
{
if (event instanceof NoteOn) {
var Mod = new ControlChange;
Mod.number = 1;
Mod.channel = event.channel;
Mod.value = event.velocity;
if (Mod.value < 0) {Mod.value = 0};
if (Mod.value > 127) {Mod.value = 127};
Mod.send(); event.send();
}
else event.send();
}

then click Run Script.

And that's all there is to it :)

I tried this out of curiosity. The thing is, it jumps the cc1 position to the last note played position, so if you play a soft note and hold it, then add a louder note, the softer sustained note then jumps up to the louder layer. I can't see how this could be useable unless your just playing block chords and you want no movement within them at all.

Using the cc1 to switch through dynamic layers is pretty standard for long articulations. I don't think you will find many developers that don't use this approach.
 
Using the cc1 to switch through dynamic layers is pretty standard for long articulations. I don't think you will find many developers that don't use this approach.

Thanks very much for your input on this! and for testing too! very kind!

I guess I'm going to have to find an alternative library- perhaps NI Complete orchestra (is that what it's called?) but in all honesty I'm going to struggle to find anything else that comes anywhere near my love for the Spitfire sound!
 
Last edited:
I've put my card away now! I was about to acquire SSO (Chamber Strings version), Solo Strings, Spitfire percussion and that OLafur Chamber EVO library! Sonically it all makes sense but with this velocity issue I simply can't work that way, in the studio nor on stage!
 
Top Bottom