What's new

Spitfire Solo Strings: How I learned to stop worrying and love vibrato

ism

Senior Member
So the short version here, is that after a lot of experimenting, and via a "performance vibrato" script that I've developed, I think I've finally managed to get my head around the vibrato in Spitfire solo strings. And found a way to make it much more playable 'out-of-the-box'. Here's my first attempt at a piece that crafts vibrato phrasings using this script:




UPDATE: taking on board some on the suggestion below, this version improves the arcs:




It's (once again) more of a noodle than an actual composition, but I think that compared to those earlier legato noodlings that I posted, the phrasing and the dynamics and the overall performances are all vastly, vastly improved (and much more satisfying to perform).


But the interesting point here is that, thanks to the "performance vibrato" script, this piece is entirely performed using only the mod wheel (and occasional touches of the sustain pedal) - ie without even thinking about touching the cc21 vibrato slider.

So musically - well the obvious point is that using the vibrato makes a huge difference. Crafting a phrase with both the dynamic layers and the vibrato gives you an expressivity more than the sum of it parts - it really feels like a much, much more expressive instrument that when I was using dynamics alone.

Perhaps less obviously is that there's an expressive quality in the way I've worked to shape these lines that I really love, and that even instruments like the Joshua Bell or Virharmonic violins simply can't match. Of course these instruments can play smoother and faster lines than the Spitfire solo strings instruments, but neither gives you anywhere near the same ability to craft expressive details across both dynamics and vibrato. To be sure, Spitfire is rawer and messier, and definately not what I would use for a Mozart concerto. But for this particular type of expressivity and sonority - which I'm not quite sure what to call - I'm really starting to love these instruments.

On a more technical level, my initial evaluation of the "performance vibrato" script is that it really gives the instruments an "out-of-the-box playability" that you just don't get when you have to abandon the mod wheel and instead juggle a pair of cc sliders. Or at least, a playabilty that *I* just don't get when I have to mess about with an additional slider - your mileage may vary.

I can share more details about the script if anyone's interested, but the basic idea is this: it attempts to bake in a form of progressive vibrato as a kind of 'default phrasing', which it infers from the mod wheel alone. When you want to depart from this default progressive vibrato, you can use the sustain pedal. But note that I only use the pedal a handful of times in the above piece. So the hope is that, at least for a certain style of phrasing, most of the time you will only need to think about finessing a performance with the mod wheel, relieving you of the extra dimension of cognitive overhead that comes with putting vibrato on its own cc21 slider.


The upshot of all of this (and why I've spent so much time on it) is not just an improved 'out-of-the-box' playability. Its that I find it really helps when I attempt to compose not just at the level of notes and counterpoint, but at the level of nuances of phrasing and performance. I suppose I'm trying to get back to that sense I had when I used to write for acoustic guitar. Once I became skilled enough, at some point I realized that I wasn't just bashing out chords any more, but instead looking for sounds and textures, and nuances, and then finding chords and notes to build around them.


Which is ultimately the real sweet spot that sold me instantly on this library. (And which makes me more jealous of real string players than ever).



Curious to know what anyone else makes of this - especially any real string players ( @thesteelydane - any thoughts? ).

UPDATE 2: with a few more tweaks to the script, but mostly after developing a better sense of idiomatic arcs, this demo (discussed below) gets closer to what I think is a wonderfully lyrical sweet spot of this lib.

 
Last edited:

jbuhler

Senior Member
I can share more details about the script if anyone's interested, but the basic idea is this: it attempts to bake in a form of progressive vibrato as a kind of 'default phrasing', which it infers from the mod wheel alone. When you want to depart from this default progressive vibrato, you can use the sustain pedal. But note that I only use the pedal a handful of times in the above piece. So the hope is that, at least for a certain style of phrasing, most of the time you will only need to think about finessing a performance with the mod wheel, relieving you of the extra dimension of cognitive overhead that comes with putting vibrato on its own cc21 slider.
I would definitely be interested in seeing what you did with the script insofar as you are willing to show it. I've struggled mightily with the vibrato in this library, which I otherwise quite like, and have had occasional success but nothing that is exactly predictable and it usually takes me several attempts to program it so that it comes in naturally (and I admit that it sometimes defeats me).
 

Bill the Lesser

Active Member
Congratulations ism! That's some subtle coding! I can sense the players watching each others' wrists. Very "real" feel to that piece.
 

prodigalson

Senior Member
the expression seems very exaggerated in the demo but I assume from your description that is more to do with the mod wheel than the script?
 
OP
I

ism

Senior Member
I would definitely be interested in seeing what you did with the script insofar as you are willing to show it. I've struggled mightily with the vibrato in this library, which I otherwise quite like, and have had occasional success but nothing that is exactly predictable and it usually takes me several attempts to program it so that it comes in naturally (and I admit that it sometimes defeats me).
Yes, I find the vibrato is the most difficult thing to work with in this library myself

Happy to share the script - I'll write up some documentation in the next day or so. Curious to see if it anyone else finds it as helpful as I do, or if its just me.
 
Last edited:
OP
I

ism

Senior Member
Congratulations ism! That's some subtle coding! I can sense the players watching each others' wrists. Very "real" feel to that piece.

Thanks! Hey do string players really do that or is it just an expression? Either way, it's a nice image, and it captures that sense of trying to get not just the notes to work together as a chord, but the phrasing and nuances. Obvious to actual musicians I'm sure, but kind of a new revelation to me in working with solo string samples.


And the best thing here is that there is no subtle coding involved at all - neither in the script itself (where the algorithm turns out to be remarkably simple) nor in the midi programming (of which there is none, its all performance, with maybe the occasional tweaking).

The need for subtly get shifted to the mod wheel, which does add some complexity in that it requires a bit more finesse to account for the vibrato. But it feels to me like a *musical* complexity - the complexity of a performance, whereas juggling another cc always feels like a *technical* complexity, closer to midi programming that musical performance.

(Which is maybe what you meant in there first place :) )
 
Last edited:
OP
I

ism

Senior Member
the expression seems very exaggerated in the demo but I assume from your description that is more to do with the mod wheel than the script?

There are a few places that could obviously stand some tweaking to reign them in a bit. I would just call them imperfections in the performance. (It's always easier to hear these after the fact that when I'm in the middle of it.)

But there's also the sense that, this being an exercise in understanding the interactions of the dynamics and the vibrato, I've perhaps found it useful to have the dynamic effects as visible as possible. So maybe that's what you mean.


But I guess the simple answer is that the script doesn't affect the dynamics at all (*) so any exaggeration is, one way or another, all down to my playing. :)


(*) except, technically, I guess for a tweak to the relatively volumes of vib and non vib. It isn't always perfect, but I hear this more as a (not at all unpleasant) warblyness of, rather than an exaggeration of, the dynamics.
 
Last edited:

Nite Sun

Member
Very nice tone and an interesting piece!

Personally I find the constant shifts in dynamic a bit distracting and I think they detract from your goal of realism. I appreciate that you're trying to create movement and to avoid that pitfall of an unnaturally static sound, but it sounds a little random and unmusical. As string players we're taught to transcend the limitations of the bow - to create the illusion of long overarching phrases, albeit with subtle swerves and swells here and there. String instruments are a lot like the voice in this sense. You wouldn't want to keep swelling within each note you sing otherwise it'd sound a bit comical and seasick. In the opening solo violin passage you're quite often swelling two or three times per note. Another thing that sounds slightly odd is the frequent diminuendos you have right before a change of note. This can be nice occasionally, but it is a little unidiomatic to do it every note. More often string players do a little tiny smooth swell before changing notes/bows. Btw are you modulating C11 or C1 (or both?) It sounds to me as if you're modulating C11 too wildly which produces a slightly odd sound where the intensity/timbre of the note remains the same while you have these abrupt volume changes. The resultant effect is more like the position of the mic being moved than expression by means of bow speed and pressure. IMO CC11 should be used for broad/subtle/smooth/gradual dynamic shifts (if at all!) and CC1 should be used to simulate the bowing and more granular level of phrasing.

Hope that doesn't sound too critical!
 
Last edited:
OP
I

ism

Senior Member
Very nice tone and an interesting piece!

Personally I find the constant shifts in dynamic a bit distracting and I think they detract from your goal of realism. I appreciate that you're trying to create movement and to avoid that pitfall of an unnaturally static sound, but it sounds a little random and unmusical. As string players we're taught to transcend the limitations of the bow - to create the illusion of long overarching phrases, albeit with subtle swerves and swells here and there. String instruments are a lot like the voice in this sense. You wouldn't want to keep swelling within each note you sing otherwise it'd sound a bit comical and seasick. In the opening solo violin passage you're quite often swelling two or three times per note. Another thing that sounds slightly odd is the frequent diminuendos you have right before a change of note. This can be nice occasionally, but it is a little unidiomatic to do it every note. More often string players do a little tiny smooth swell before changing notes/bows. Btw are you modulating C11 or C1 (or both?) It sounds to me as if you're modulating C11 too wildly which produces a slightly odd sound where the intensity/timbre of the note remains the same while you have these abrupt volume changes. The resultant effect is more like the position of the mic being moved than expression by means of bow speed and pressure. IMO CC11 should be used for broad/subtle/smooth/gradual dynamic shifts and CC1 should be used to simulate the bowing and more granular level of phrasing.

Hope that doesn't sound too critical!

Thanks - that's really helpful! I'm going to take some time work through all of that before replying properly, but it's exactly the kind of critique I was hoping for.

Quick question though - accepting your critiques, do you think you think any of them apply specifically to the passage specifically between roughly 0:56 - 1:10 ?
 
OP
I

ism

Senior Member
Is your script for the new SF Solo Strings or the Legacy Solo Strings from a few years ago?
It should work with both. But the old library was really designed only as the soaring melody over an orchestral section, it has only a single dynamic layers, and non-vib legato was, I understand, only added as an afterthought. So the script might helpful in avoiding the inconvenience of cc21, but you're obviously not going to get anything like performability of the new library.
 

LamaRose

Gato Mighty!
I really like the tone and progression you've achieved, but have to agree with @Nite Sun on how it's applied in your example. I'd like to hear what you/your script could do with something like this, which I believe better illustrates the capability of what you've created:

 
  • Like
Reactions: ism

Nite Sun

Member
Thanks - that's really helpful! I'm going to take some time work through all of that before replying properly, but it's exactly the kind of critique I was hoping for.

Quick question though - accepting your critiques, do you think you think any of them apply specifically to the passage specifically between roughly 0:56 - 1:10 ?
0:56 - 1.03 sounds great! Then from 1.04 this unnatural lumpiness comes into play a bit again. Think of the bow as needing constant but smooth/gradual movement. Sudden changes in bow speed and pressure are reserved for things like fortepianos, subito pianos, sfz, accents, martele, not so much normal lyrical phrasing. Just my view as violin player, feel free to disagree
 
OP
I

ism

Senior Member
A quick update: I've been working on refining the dynamics (more on which soon), but in the process I've stumbled on enhancement to the script that I think improves the playability enough to merit its own post.

So here's a little demo that shows the improvement:



This is completely off the cuff, and a *very* crude noodling (even by my standards). It uses only the mod wheel, and the midi is completely unedited. There are a few glitches, most of which could easily be fixed in the midi (or by playing with a little more finesse) but the point was show how easily you can get this expressiveness, particularly across the dynamic layers, so I just left it raw. Notwithstanding a few glitches then, I think this is very playable, and very expressive.

The improvement hinges on the ability to shape phrases across use all three dynamic layers - its a little bit hard to describe the experience of playing (I really will share the script shortly), but whereas the first demo hinged on the lower two dynamic layers, this one crafts phrases across all three.


The only new thing the script is doing is reigning in the upper dynamics a bit through a simple 'midi compression' (the only twist being that it distinguishes between the lower and the upper 2 dynamic layers).


This relates to the exaggerated dynamics that people have noted on this thread. While most of the exaggerated dynamics turned out to be just a lack of subtlety in my playing, I eventually realized that at least some of the bumpiness was related the need to reach for the higher dynamic layer. So a 'dynamic layer-aware' compression was an easy fix.


(I'll share the script shortly - just one more tweak first ... )
 
Last edited:

thesteelydane

Senior Member
It's a little over the top and very old-school wide - especially on the short notes. We practice for years to be able to vibrate even the short notes in a phrase, but in reality short notes always get far less vibrato or none at all. The very beginnings of notes shouldn't have any vibrato at all, if you want it to be realistic - especially after a position change.

Other than that, it sounds very transparent for being scripted, well done!
 

marcocaricola

New Member
hey everyone! @ism very interested in the scripting work you are carrying on with this - would be glad to try it out too! I've also found the vibrato to be the most painful part of programming with SSS...

Could you explain the function of the sustain pedal a bit? does holding CC64 temporarily revert to the normal patch? I guess one solution could be to bypass the script when playing short notes, so to make those less vib?
 
OP
I

ism

Senior Member
Hi All,
Sorry this has taken so long. Just about to release this - but if anyone would like to play with a 'beta' version (if that's even a sensible term for such a simple script), feel free to PM me.

Note that it's currently just for logic (ksp version should be straight forward though once its nailed down in logic ).
 
OP
I

ism

Senior Member
Another silly little noodle - but this time using only two sustain patches - the Vl (1st desk) + a little bit of the Va at the end:



For all that this library can have sound terrible the first time you start plonking away, with a little care to not play like it's a piano, the sustain patches it turns out are actually capable of quite a bit of subtlety.

There's a few points that if I were developing this would certainly benefit from the legato. But the point is that when sketching, the performance vibrato script lets you avoid the cognitive overhead of cc21 changes- and even in something like this there are dozens of vib/non vib shifts - and focus on the musicality, which I think here is about the sweetness and dynamic texture, quite a lot of which hinges on the shape of the dynamic arcs - which in turn hinge on varying the vibrato idiomatically, which is an absolute necessity in this library.
 
Top Bottom