Documents
Writing Docs Gigedit SFZ Instrument Scripts NKSP Language NKSP Reference

change_tune()

This function can be used to modify the tuning of active voices during their entire life time. So you may for example implement very sophisticated pitch envelopes by script by using this function. You need to pass the note ID of the voices you want to alter. This function will change the tuning of all active voices associated with the requested note. So if you are using a layered instrument patch, then it will change the tuning of all layers.

The tuning changes set by calling this function are always applied relatively to the tuning/pitch calculated by the synthesis model and sampler format. That means the various sources of tuning/pitch factors like MIDI pitch bend wheel, Pitch Envelopes, Pitch LFOs and other tuning factors that may be defined by the instrument patch, are always processed and calculated for the voices first, and the final pitch applied is always a relative combination of all those factors and the one set with this function call. This does also not change when you pass 1 for argument relative. Or in other words: you cannot replace the tuning/pitch set by other synthesis sources with this function.

Release Trigger Samples: In case the affected voices cause release trigger samples to be spawned later on, the tuning of those release trigger voices will not be affected by this function at all. So if you need to control the tuning of release trigger samples by script, then you might rather also trigger those release trigger samples by script with play_note() instead of using the sampler format's internal support for release trigger samples.

Function Prototype

change_tune(note, tuning, [relative])

Arguments

Argument Name Data Type Description
note Note ID Number or Note ID Array All voices of this note will be modified.
[required]
tuning Integer Number Tuning change in milli cents. A positive value increases the tuning, a negative value decreases the tuning.
relative Integer Number Whether change_tune() calls should be relative to each other.
0: A call to change_tune() upon the same note will replace the tuning change value set by previous change_tune() calls upon the same note.
1: Successive calls to change_tune() upon the same note will be relatively applied against each other.
[optional, default: 0]

Return Value

None.

Examples

None yet.

Availabilty

Since LinuxSampler 2.0.0.svn11.

Document Updated:  2016-07-13  |  Author:  Christian Schoenebeck