I was going for expressive rather than realistic, but three sax players like the result, so it seems pretty good. From the readme file, an explanation of how it works.
The vibrato of the sax instrument is fairly complex, with nine controls. You can get decent results by just using the sax style vibrato and speed and leaving the rest of the controls alone.
The sax style vibrato only goes below the main pitch of the note, so when it kicks in it will make the note go slightly flat, which makes it sound "bluesy". The violin style vibrato goes both below and above the main pitch, and is better at staying in tune with synths, classical orchestras etc. There's no reason to not use both at once - leaving the synth vibrato at a fairly low setting and automating the sax vibrato and speed for expression seems to work pretty well.
The tremolo, brightness and wind noise controls don't affect the pitch, but instead affect the volume and tone color. If you only use them and keep the sax style and violin style controls at zero, you can emulate what sax players call diaphragm vibrato (which is in theory not really vibrato at all, as the pitch never changes). Or use them all together. The wind noise vibrato control has no effect if the wind noise volume control is turned all the way down.
The humanize controls make the pitch and vibrato speed unsteady. At the minimum change rate, the values will be randomized once per note (unless you hold a note for many seconds). At high change rates, they will be randomized many times per second.
Code: Select all
label_cc110=Vibrato To Wind
label_cc115=Vibrato To EQ
label_cc121=Vel Contrast EQ
amplitude_oncc7=100 //Master volume and pan
ampeg_attack=0.001 //Basic AHDSR
lfo01_pitch_oncc111=20 //Saxy vibrato LFO - goes down from the main pitch
lfo01_phase=0.25 //To make it start at the top
pitcheg_delay_oncc116=1 //Pitch envelope to drop the central pitch when sax vibrato kicks in
lfo02_pitch_oncc114=20 //Synthy vibrato LFO - goes below and above main pitch
lfo02_freq_oncc112=8 //Same rate as the first LFO
lfo02_delay_oncc116=1 //Same delay, too
lfo02_volume=0 //This LFO also does tremolo, tremolo settings for the wind noise are in the wind noise mapping file
lfo02_phase=0.5 //To make it go down first, then up - more saxlike that way
eq1_freq=4000 //Also can send this LFO to EQ
eq1_gain=0.001 //Needs to be non-zero, apparently?
var01_eq1gain=9 //Also velocity tracking for the EQ, amount controlled by parameter
var01_oncc121=1 //The control multiplier
var01_oncc131=1 //The velocity
lfo03_wave=-1 //Noise LFO to humanize the other LFOs a bit, also affects wind noise - see wind noise mapping file
lfo03_freq_oncc117=20 //This one has its own rate indepedent of the other two
lfo03_delay_oncc116=0.8 //A bit less than the other LFOs, so that some pitch humanization might kick in a fraction of a second before vibrato starts
lfo3_freq_lfo1_oncc118=0.6 //Both LFOs affected the same
lfo3_pitch_oncc119=6 //And some pitch drifting around
bend_up=500 //I've read that good sax players can bend by a fourth, so we're going by something I read once
#include "whatever_sax_you_want_to_apply_this_to.sfz" //Obviously change this to the sax you want to add these controls to
And the alto_map_wind.noise.sfz file contains this - it will need adjustments to make it work with an instrument with a different range, so the easiest thing to do is probably just leave it out, but all it basically does is synthesize some white noise that's filtered, affected by velocity and also affected by two of the vibrato LFOs.
Code: Select all
lokey=49 //Set lokey and hikey to the range of the instrument you're applying this to
amp_veltrack=44 //Lower amount of velocity tracking than notes, so noise is more prominent with quiet notes
amplitude_oncc122=1.1 //Vewy vewy quiet
ampeg_attack_oncc141=-0.55 //Faster attack for higher notes
lfo02_volume_oncc110=-7 //Backwards from the regular tremolo - noise gets louder when the note gets quieter
lfo02_volume_oncc113=0 //Unaffected by regular tremolo CC
lfo03_volume_oncc122=4 //LFO3 is random - this makes the noise less steady