twarp6-1, twarp6-2, twarp6-3, twarp6-4 and twarp6-5in order to illustrate some applications of time point dithering, or random deviations introduced in reading an analysis file. This can be used for many purposes : sometimes slight dithering can eliminate artifacts or an "artificial" quality when time stretching a sound. It can also be used for phasing/flanging effects, for granularization of a sound (slicing and dicing it into fragments), to alter the tempo, and for other creative purposes.
In /sflib/x/twarp6, the 5 source soundfiles (twarp6-1 through twarp6-5),
each 4.39 seconds in duration, are separated by temple block hits so that
you can more easily distinguish the starting points of these source soundfiles.
Example /sflib/x/twarp6-1, heard first in twarp6, contains no dithering, but rather acts as a reference or "source" for the subsequent alterations. The analysis file used is voicetest.clip, created by ECMC examples file pvanalysis.voicetest The output duration is increased to 4.38 seconds
Reading of the analysis file:
Autostop is turned OFF so that when we reach the end ofthe analysis file twarp will loop beack to the beginning of the analysis and resynthesis will continue
Reading of the analysis file begins half way through the file and the speed is raised by 1/3
time_point=.5 # int, float or FUNCWithin the 4.38 second output duration the analysis loops 3 and a half times
Finally , a gen function file controls the pitch, which begins 3 semitones lower than the original, glissandos up to 4 semitones higher than the original, then slides down to 1 semitone above the original:
gen1 -L1000 0 -3 .6 4. 1. 1. > $SFDIR/pitchfunc
pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC
timepoint_dither_window_in_seconds=.025 #These small values introduce hesitations and random (though brief, and rather subtle) increases and decreases in tempo (accerlandi and rallendtandi)
The result of this rapid, fairly wide skipping around within the analysis file is granualarization of the original sound. Higer frequencies also tend to be exaggerated. (If we don't want this, we could adjust the two HIGH_SHELF_EQ parameters, reducing these higher frequencies.)