TWARP EXAMPLES

ECMC PVC example file twarp1
# Example PVC script file >> twarp1 << : # ECMC pvc example twarp1: reading an anslysis forwards and # backwards # The analysis file input, created with ECMC pvc example "pvanalysis.voicetest,"# is the excerpt "post-processed by ..." from our old friend "voicetest." # The analysis file is read forwards from beginning to end, then, # immediately, backwards from the end to beginning. To do this, we # first create a function file with values rising linearly from 0 to # 1.46 (the duration of the analysis file), then decreasing from 1.46 to 0: # gen4 -L1000 0 0 0 .5 1.46 0 1. 0 > $SFDIR/timepointfunc # forward, then backwards # Note: We could have created an identical function table file with gen3, like this: # gen3 -L100 0 1.46 0 > $SFDIR/timepointfunc # forward then backwards # The values in this table are applied to 3 resynthesis parameters: # time_point=/$SFDIR/timepointfunc # int, float or FUNC # lower_time_boundary=$SFDIR/timepointfunc # 1 # 0 # int, float or FUNC # upper_time_boundary=$SFDIR/timepointfunc # 1 # -1 # # int, float or FUNC # We set the output duration to twice the length of the analysis file: # duration=2.92 # this is double the duration of the analysis file # At the conclusion ofthe resynthesis job (then end of this file) we # delete the function file from our soundfile directory, with this line: # rm $SFDIR/timepointfunc #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp1 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=2.92 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # These 2 (gen3 & gen4) function definitions are identical: # gen3 -Llength v1 v2 ... vN #gen3 -L100 0 1.46 0 > $SFDIR/timepointfunc # forward then backwards # gen4 -Llength t1 v1 a1 ... tN vN gen4 -L1000 0 0 0 .5 1.46 0 1. 0 > $SFDIR/timepointfunc # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC pitch_transposition_in_semitones=0 # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=0 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=$SFDIR/timepointfunc # int, float or FUNC rate_multiplier=1 #...................................................... lower_time_boundary=$SFDIR/timepointfunc # int, float or FUNC upper_time_boundary=$SFDIR/timepointfunc # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=1 # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 #int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=60 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25
#====================================================== # COMMAND LINE SETUP -- OFFICE USE ONLY (DO NOT WRITE BELOW THIS LINE EXCEPT TO DELETE FUNCTION FILES AT VERY END) #==================================================== # SYNTHESIS PVCDIR=/usr/local/soundapps/PVC PVCBIN=$PVCDIR/bin pvroutine=$PVCBIN/twarp # ECMC cd $SFDIR # ECMC if [ "$OSTYPE" = "irix" ] then input_file=pvcin # ECMC temporary NeXT format input soundfile output_file=pvcout # ECMC temporary NeXT format output soundfile /sbin/rm -f pvcin pvcout # Create temporary NeXT format input soundfile "pvcin:" ECMC /usr/local/bin/sox -t aiff $inputsf -t au pvcin # ECMC elif [ `echo "$OSTYPE" | grep linux` ] then input_file=$inputsf output_file=$outputsf fi # ****** end of ECMC changes & additions ****** # pvroutine=twarp PVFLAGS="\ \ -M$windowsize \ -w$window_type \ -D$frames_per_second \ -d$duration \ \ -a$frequency_shift \ -P$pitch_transposition_in_semitones \ -A$gain_in_decibels \ \ -C$output_channel \ -t$oscillator_resynthesis_threshold_in_dB \ \ \ -F$input_analysis_file \ \ -u$DATA_access_mode__explicit_0__rate_1 \ -Q$time_point \ -Y$rate_multiplier \ -g$lower_time_boundary \ -G$upper_time_boundary \ -T$timepoint_dither_window_in_seconds \ -K$time_point_change_response_time_in_seconds \ \ -L$release_time_in_seconds \ -l$attack_time_in_seconds \ -f$frequency_change_response_time_in_seconds \ \ -W$spectrum_warpshape_index \ \ -b$random_amplitude_variation_decibel_floor \ -e$amplitude_variation_response_time_in_seconds \ \ -E$spectrum_compression_threshold_in_decibels \ -c$spectrum_decibels_of_compression \ \ -H$LOW_SHELF_EQ_gain_in_decibels \ -m$LOW_SHELF_EQ_frequency \ \ -X$HIGH_SHELF_EQ_gain_in_decibels \ -R$HIGH_SHELF_EQ_frequency \ \ -p$print_amplitude_statistics_0_no__1_yes \ -i$amplitude_statistics_time_interval \ \ -S$autostop_on_1__off_0 \ \ -_$output_data_format \ -=$rescale_level_in_decibels \ \ \ " echo "\n$pvroutine $PVFLAGS $output_file" ; $pvroutine $PVFLAGS $output_file ; # ***** ECMC CHANGES & ADDITIONS: ******* # if [ "$OSTYPE" = "irix" ] then echo 'Converting temporary NeXT format output soundfile to aiff format:"' /usr/local/bin/sox -t au pvcout -t aiff $outputsf # ECMC /sbin/rm -f pvcin pvcout # ECMC echo "Header information for output soundfile >> $outputsf << :" /usr/sbin/sfinfo -s $outputsf # ECMC elif [ `echo "$OSTYPE" | grep linux` ] then if [ "$outputformat" = "AIFF" ] then echo " Converting output soundfile $output_file to AIFF format ..." /usr/local/soundapps/PVC/bin/wav2aiff $output_file fi echo "Header information for output soundfile >> $outputsf << :" /usr/local/bin/sfinfo -s $outputsf fi # ****** end of ECMC changes & additions ****** # # If you have created any gen function files above delete them below: rm $SFDIR/timepointfunc
twarp2.html

ECMC PVC example file twarp2
ECMC pvc example twarp2 actually is a linear mix of 2 soundfiles, created by ECMC PVC example files "twarp2-1" and then "twarp2-2". Like example "twarp1," both resyntheses use the analysis file of "voicetest" ("post-processed by various") previously created with pvanalysis example "pvanalysis.voicetest", but create different function files to control the "playback speed" (rate) at which this analysis is read, and use only the first 1.05 seconds ("post-processed by ...") # of the 1.46 analysis file - - - - In example "twarp2-1," heard first, the analysis is read forwards from beginning to end, but is read very slowly at first, then rapidly speeds up: gen4 -L1000 0 0 4 1 1.05 > $SFDIR/timepointfunc (The values in the table begin at 0 and end at 1, but increase in value slowly at first, and very rapidly at the end.) This function is applied to the following resynthesis parameters: time_point=/$SFDIR/timepointfunc # int, float or FUNC lower_time_boundary=$SFDIR/timepointfunc # int, float or FUNC upper_time_boundary=$SFDIR/timepointfunc # int, float or FUNC - - - - By contrast, in example "twarp2-2," which follows in soundflie /sflib/x/twarp2 after a second of silence, a different timepoint function causes the analysis to be read rapidly at the beginning of the resynthesis, but then to slow down dramatically: gen4 -L1000 0 0 -4 1 1.05 > $SFDIR/timepointfunc - - - To see the source files for "twarp2-1" or "twarp2-2" type pvcex twarp2-1 or else getex twarp2-1 pvcex twarp2-2 or else getex twarp2-2
twarp2-1.html

ECMC PVC example file twarp2-1
# Example PVC script used to create /sflib/x soundfile >> twarp2-1 << # ECMC pvc example twarp2-1, heard at the beginning heard of example # soundfile /sflib/x/twarp2. # Only a portion of the analysis file, the first 1.05 seconds ("post- # processed by ...") is used. An inverse exponential function with a # steep slope (the value "4" in the function definition below) creates # values that change slowly at first and then rapidly # gen4 -L1000 0 0 4 1 1.05 > $SFDIR/timepointfunc # In order to use this function we must change the DATA_access_mode parameter # from the default "rate" mode to "explicit" mode, in which we provide the actual # point within the anaylsis to be read at each instant with the function above # DATA_access_mode__explicit_0__rate_1=0 # 0 = explicit, 1 = rate # time_point=/$SFDIR/timepointfunc # int, float or FUNC # Notice the typical phase vocoder "metallic" sounding artifacts at the very beginning # of the resulting soundfile, where the analysis file is read at a very slow rate #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=$SFDIR/twarp2-1 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=2.92 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # function used to control the rate at which the analysis file is read: gen4 -L1000 0 0 4 1 1.05 > $SFDIR/timepointfunc # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC pitch_transposition_in_semitones=0 # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=0 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=/$SFDIR/timepointfunc # int, float or FUNC rate_multiplier=1 #...................................................... lower_time_boundary=0 # int, float or FUNC upper_time_boundary=-1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=1 # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 #int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=60 # int, float or FUNC #====================================================== #........... RESCALE for floating point only ...... rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #====================================================== #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)

# If you have created any gen function files above delete them below: # Here we remove the timepointfunc function file created above: rm $SFDIR/timepointfunc


twarp2-2.html

ECMC PVC example file twarp2-2
# Example PVC script used to create /sflib/x soundfile >> twarp2-2 << # ECMC pvc example twarp2-2, heard at the end heard of example # soundfile /sflib/x/twarp2. # Only a portion of the analysis file, the first 1.05 seconds ("post- # processed by ...") is used. An exponential function with a # steep slope (the value "-4" in the function definition below) creates # values that change rapidly at first and then slowly # gen4 -L1000 0 0 -4 1 1.05 > $SFDIR/timepointfunc #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=$SFDIR/twarp2-2 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=2.92 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # function used to control the rate at which the analysis file is read: gen4 -L1000 0 0 -4 1 1.05 > $SFDIR/timepointfunc # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### # If you have created any gen function files above delete them below: #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC pitch_transposition_in_semitones=0 # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=0 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=/$SFDIR/timepointfunc # int, float or FUNC rate_multiplier=1 #...................................................... lower_time_boundary=0 # int, float or FUNC upper_time_boundary=-1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=1 # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 #int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=60 # int, float or FUNC #====================================================== #........... RESCALE for floating point only ...... rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #====================================================== #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)

# If you have created any gen function files above delete them below: # Here we remove the timepointfunc function file created above: rm $SFDIR/timepointfunc


twarp3.html

ECMC PVC example file twarp3
# ECMC pvc example twarp3: illustrates frequency shifting and # modifications in playback speed of the analysis # The analysis file is read at half the original speed: # rate_multiplier=.5 # int, float or FUNC # but not at a constant rate. Instead, it is read forwards then backwards, # and speeds up and slows down, following the shape of the first half of # a sine wave: # gen5 -L1000 .5 1. 0 # Before being written to a file this table is piped into the PVC # "rehape" utility, where the values are rescaled between 0 and 1.46 # (the furation of the analysis file): # gen5 -L1000 .5 1. 0 | reshape -b0 -B1.46 > /$SFDIR/timepointfunc # This function is applied to the following parameters: # lower_time_boundary=$SFDIR/timepointfunc # 1 # 0 # int, float or FUNC # upper_time_boundary=$SFDIR/timepointfunc # 1 # -1 # # int, float or FUNC # The gain is increased by 3 dB, and 45 herz is added to each frequency # in the spectrum, causing detuning: # gain_in_decibels=3 # 3 dB gain applied int, float or FUNC # frequency_shift=45 # int, float or FUNC #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp3 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=5.84 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # timepoint function is the first half of a sine wave: gen5 -L1000 .5 1. 0 | reshape -b0 -B1.46 > /$SFDIR/timepointfunc # gen5 -Llength h1 a1 p1 ... hN aN pN ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=3 # int, float or FUNC #.................. PITCH ............................. frequency_shift=45 # int, float or FUNC pitch_transposition_in_semitones=0 # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=0 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=0 # int, float or FUNC rate_multiplier=1 #...................................................... lower_time_boundary=$SFDIR/timepointfunc # int, float or FUNC upper_time_boundary=$SFDIR/timepointfunc # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=1 # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 #int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=60 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)

# If you have created any gen function files above delete them below: rm $SFDIR/timepointfunc


twarp4.html

ECMC PVC example file twarp4
/sflib/x example soundfile "twarp4" is a linear mix of two soundfiles, produced by ECMC PVC examples "twarp4-1" and "twarp4-2." twarp4-1: The first 1.05 seconds of the analysis file is read forwards and backwards, following the shape of the first half of a sine wave: gen5 -L1000 .5 1. 0 | reshape -M1.05 > /$SFDIR/f1 time_point=/$SFDIR/f1 # int, float or FUNC lower_time_boundary=$SFDIR/f1 # int, float or FUNC upper_time_boundary=$SFDIR/f1 # int, float or FUNC The output duration is increased to 5.82: duration=5.84 # CHANGE the 0 to the desired output duration. The analysis is read at 1/2 the original speed: rate_multiplier=.5 # int, float or FUNC The pitch is transposed down a major 7th: pitch_transposition_in_semitones=-11 # int, float or FUNC But 80 herz is added to all frequencies: frequency_shift=80 # int, float or FUNC The output gain is increased to compensate for amplitude attenuation resulting from the processing: gain_in_decibels=9 # int, float or FUNC - - - "twarp4-2" is identical to example "twarp4," but also includes EQ parameters to add 12 dB of gain to frequencies 800 hz and above, and to attentuate frequencies below 100 hz by 12 dB FILTER_LOW_SHELF_EQ_gain_in_decibels=-12 FILTER_LOW_SHELF_EQ_frequency=100 FILTER_HIGH_SHELF_EQ_gain_in_decibels=12 FILTER_HIGH_SHELF_EQ_frequency=800 - - - To see the source files for "twarp4-1" or "twarp4-2" type pvcex twarp4-1 or else getex twarp4-1 pvcex twarp4-2 or else getex twarp4-2
twarp4-1.html

ECMC PVC example file twarp4-1
# ECMC pvc example twarp4-1 # The first 1.05 seconds of the analysis file is read forwards # and backwards, following the shape of the first half of a sine wave: # gen5 -L1000 .5 1. 0 | reshape -M1.05 > /$SFDIR/f1 # lower_time_boundary=$SFDIR/f1 # int, float or FUNC # upper_time_boundary=$SFDIR/f1 # int, float or FUNC # The output duration is increased to 5.82: # duration=5.84 # CHANGE the 0 to the desired output duration. # The analysis is read at 1/2 the original speed, since the 5.84 output # duration is double the input duration # The pitch is transposed down a major 7th: # pitch_transposition_in_semitones=-11 # int, float or FUNC # But 80 herz is added to all frequencies: # frequency_shift=80 # int, float or FUNC # The timbre is simplified by elimination of low amplitude higher frequency # components, and sounds rather muffled: # spectrum_warpshape_index=4 # The output gain is increased to compensate for amplitude attenuation # resulting from the processing: # gain_in_decibels=9 # int, float or FUNC # See also example "twarp4-2," which is identical to this example, but # also includes EQ parameters to boost higher frequencies and attenuate # lower frequencies #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp4-1 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=5.84 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen5 -Llength h1 a1 p1 ... hN aN pN gen5 -L1000 .5 1. 0 | reshape -M1.05 > /$SFDIR/f1 ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=9 # int, float or FUNC #.................. PITCH ............................. frequency_shift=80 # int, float or FUNC pitch_transposition_in_semitones=-11 # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=0 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=0 # int, float or FUNC rate_multiplier=1 # any value here will have no effect, since explicit mode is used #...................................................... lower_time_boundary=$SFDIR/f1 # int, float or FUNC upper_time_boundary=$SFDIR/f1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=1 # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=4 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=60 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)

# If you have created any gen function files above delete them below:


twarp4-2.html

ECMC PVC example file twarp4-2
# ECMC pvc example twarp4-2 # This example is identical to example "twarp4-1," but # also includes EQ parameters to add 12 dB of gain to frequencies 800 hz # and above, and to attentuate frequencies below 100 hz by 12 dB # LOW_SHELF_EQ_gain_in_decibels=-12 # boost or cut low frequencies # LOW_SHELF_EQ_frequency=100 # int, float or FUNC # HIGH_SHELF_EQ_gain_in_decibels=12 # boost or cut high frequencies # HIGH_SHELF_EQ_frequency=800 # int, float or FUNC # The first 1.05 seconds of the analysis file is read forwards # and backwards, following the shape of the first half of a sine wave: # gen5 -L1000 .5 1. 0 | reshape -M1.05 > /$SFDIR/f1 # lower_time_boundary=$SFDIR/f1 # int, float or FUNC # upper_time_boundary=$SFDIR/f1 # int, float or FUNC # The output duration is increased to 5.82: # duration=5.84 # CHANGE the 0 to the desired output duration. # The analysis is read at 1/2 the original speed, since the 5.84 output # duration is double the input duration # The pitch is transposed down a major 7th: # pitch_transposition_in_semitones=-11 # int, float or FUNC # But 80 herz is added to all frequencies: # frequency_shift=80 # int, float or FUNC # The output gain is increased to compensate for amplitude attenuation # resulting from the processing: # gain_in_decibels=4 # int, float or FUNC # See also example "twarp4-1," which is identical to this example, but # without the EQ #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp4-1 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=5.84 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen5 -Llength h1 a1 p1 ... hN aN pN gen5 -L1000 .5 1. 0 | reshape -M1.05 > /$SFDIR/f1 ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=4 # int, float or FUNC #.................. PITCH ............................. frequency_shift=80 # int, float or FUNC pitch_transposition_in_semitones=-11 # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=0 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=0 # int, float or FUNC rate_multiplier=1 #...................................................... lower_time_boundary=$SFDIR/f1 # int, float or FUNC upper_time_boundary=$SFDIR/f1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=1 # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=4 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-12 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=100 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=12 #int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=800 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)
# If you have created any gen function files above delete them below:


twarp5.html

ECMC PVC example file twarp5
# Example PVC script file >> twarp5 : randomizing pitch << # The first 1 second of the analysis file is read forwards and # then backwards, following the shape of the first half of a sine wave: # gen5 -L1000 .5 1. 0 > /$SFDIR/timepointfunc # time_point=0 # /$SFDIR/timepointfunc # int, float or FUNC # lower_time_boundary=$SFDIR/timepointfunc # 1 # 0 # int, float or FUNC # upper_time_boundary=$SFDIR/timepointfunc # 1 # -1 # # int, float or FUNC # Random values between +3 and -3 are applied to pitch transpositions # 16 times during the output resynthesis: # gen6 -L16 | reshape -b3 -B-3 > $SFDIR/randomfunc # pitch_transposition_in_semitones=$SFDIR/randomfunc # int, float or FUNC # The timbre is simplified by elimination of most of the low amplitude # frequency components, resulting in a muffled quality: # spectrum_warpshape_index=4 # int, float or FUNC #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp5 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=5.84 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen5 -Llength h1 a1 p1 ... hN aN pN gen5 -L1000 .5 1. 0 > /$SFDIR/timepointfunc # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength gen6 -L16 | reshape -b3 -B-3 > $SFDIR/randomfunc ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=9 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC pitch_transposition_in_semitones=$SFDIR/randomfunc # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=0 # int, float or FUNC rate_multiplier=1 #...................................................... lower_time_boundary=$SFDIR/timepointfunc # int, float or FUNC upper_time_boundary=$SFDIR/timepointfunc # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=1 # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=4 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=60 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)
# If you have created any gen function files above delete them below:


twarp6.html

ECMC PVC example file twarp6
ECMC PVC soundfile example >> /sflib/x/twarp6 << : Soundfile /sflib/x/twarp6 mixes 6 source soundfiles together in succession twarp6-1, twarp6-2, twarp6-3, twarp6-4 and twarp6-5 in 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 duration=4.38 # MUST BE CHANGED to desired output resynthesis duration 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 autostop_on_1__off_0=0 # AUTOSTOP IS TURNED OFF TO ENABLE LOOPING In contrast to earlier twarp examples, "rate" mode rather than "explicit" mode is used to control the rate at which the analysis is read: DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate 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 FUNC rate_multiplier=1.33 Within 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 ------------------------------------------------------------------------- The other 3 examples (twarp6-2 through twarp6-5) heard in succession within /sflib/x/twarp6 are identical to example twarp6-1 (the first note) in every way except that different types of dithering are applied. ------------------------------------------------------------------------- In example twarp6-2 (the second note) slight dithering (random jitter) is introduced in reading the analysis file. Every 8 milliseconds (.008) the reading of the analysis varies randomly by an amount somewhere in between + or - 25 milliseconds (.025) timepoint_dither_window_in_seconds=.025 # time_point_change_response_time_in_seconds=.008 # These small values introduce hesitations and random (though brief, and rather subtle) increases and decreases in tempo (accerlandi and rallendtandi) ------------------------------------------------------------------------- In example twarp6-3 (the third note) rapid, wide dithering is used. The reading of the analysis can vary by _/- a half second, and is varied every 50 milliseconds: timepoint_dither_window_in_seconds=.5 time_point_change_response_time_in_seconds=.05 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 ------------------------------------------------------------------------- In example twarp6-4 (the fourth note) illustrates slow dithering: timepoint_dither_window_in_seconds=.05 time_point_change_response_time_in_seconds=.2 Every .2 seconds the time point withinthe analysis file is varied randomly by a value somewhere between +/- .05 seconds. The result is rather surprising, slowing down the tempo . ------------------------------------------------------------------------- Example twarp6-5 (the fifth note) is similar to twarp6-4 but the dithering is more extreme: timepoint_dither_window_in_seconds=.2 time_point_change_response_time_in_seconds=.5 The result is much "hesitation," "hesitation" and "stuttering" With all of this back-and-forth jitter, only a portion of the analysis file is read within the 4.38 second output duration
twarp6-1.html

ECMC PVC example file twarp6-1
# Example PVC script used to create /sflib/x soundfile >> twarp6-1 << # ECMC pvc example twarp6-1: no dithering # This example provides a reference point for various types of time-point # dithering illustrated in examples twarp6-2, twarp6-3, twarp6-4 & twarp6-5 # There is no dithering in the reading of the analysis file in twarp6-1 # timepoint_dither_window_in_seconds=0 # time_point_change_response_time_in_seconds=0 # The analysis file used is voicetest.clip, created by ECMC examples file # pvanalysis.voicetest # The output duration is increased to 4.38 seconds # duration=4.38 # MUST BE CHANGED to desired output resynthesis duration # 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 # autostop_on_1__off_0=0 # AUTOSTOP IS TURNED OFF TO ENABLE LOOPING # In contrast to earlier twarp examples, "rate" mode rather than # "explicit" mode is used to control the rate at which the analysis is read: # DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate # 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 FUNC # rate_multiplier=1.33 # Withinthe 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 #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp6-1 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=4.38 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC gen1 -L1000 0 -3 .6 4. 1. 1. > $SFDIR/pitchfunc pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=0 # amplitude # int, float or FUNC release_time_in_seconds=0 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=.5 # int, float or FUNC rate_multiplier=1.33 #...................................................... lower_time_boundary=0 # int, float or FUNC upper_time_boundary=-1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=0 # AUTOSTOP IS TURNED OFF TO ENABLE LOOPING # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=0 time_point_change_response_time_in_seconds=0 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=60 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)
# If you have created any gen function files above delete them below: rm $SFDIR/pitchfunc


twarp6-2.html

ECMC PVC example file twarp6-2
# Example PVC script used to create /sflib/x soundfile >> twarp6-2 << # The example is identical to example twarp6-1 in every way except that # slight dithering (random jitter) is introduced in reading the analysis file # Every 8 milliseconds (.008) the reading of the analysis varies randomly # by an amount somewhere in between + or - 25 milliseconds (.025) # These small values introduce hesitations and random (though brief, and rather # subtle) increases and decreases in tempo (accerlandi and rallendtandi) # timepoint_dither_window_in_seconds=.025 # # time_point_change_response_time_in_seconds=.008 # #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp6-2 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=4.38 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC gen1 -L1000 0 -3 .6 4. 1. 1. > $SFDIR/pitchfunc pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=.02 # amplitude # int, float or FUNC release_time_in_seconds=.04 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=.5 # int, float or FUNC rate_multiplier=1.33 #...................................................... lower_time_boundary=0 # int, float or FUNC upper_time_boundary=-1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=0 # AUTOSTOP IS TURNED OFF TO ENABLE LOOPING # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=.025 # time_point_change_response_time_in_seconds=.008 # # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=1000 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)
# If you have created any gen function files above delete them below: rm $SFDIR/pitchfunc


twarp6-3.html

ECMC PVC example file twarp6-3
# Example PVC script used to create /sflib/x soundfile >> twarp6-3 << # The example is identical to example twarp6-1 in every way except that # rapid, wide dithering (random jitter) is introduced in reading the analysis # file. The reading of the analysis can vary by _/- a half second, and is varied # every 50 milliseconds: # timepoint_dither_window_in_seconds=.5 # time_point_change_response_time_in_seconds=.05 # 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 #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp6-3 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=4.38 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC gen1 -L1000 0 -3 .6 4. 1. 1. > $SFDIR/pitchfunc pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=.02 # amplitude # int, float or FUNC release_time_in_seconds=.04 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=.5 # int, float or FUNC rate_multiplier=1.33 #...................................................... lower_time_boundary=0 # int, float or FUNC upper_time_boundary=-1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=0 # AUTOSTOP IS TURNED OFF TO ENABLE LOOPING # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=.5 time_point_change_response_time_in_seconds=.05 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=1000 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)
# If you have created any gen function files above delete them below: rm $SFDIR/pitchfunc


twarp6-4.html

ECMC PVC example file twarp6-4
# Example PVC script used to create /sflib/x soundfile >> twarp6-4 << # The example is identical to example twarp6-1 in every way except that # slow dithering (random jitter) is introduced in reading the analysis # timepoint_dither_window_in_seconds=.05 # time_point_change_response_time_in_seconds=.2 # Every .2 seconds the time point withinthe analysis file is varied randomly # by a value somewhere between +/- .05 seconds. The result is rather surprising, # slowing down the tempo . For an even more extreme example of this # type of alteration see example twarp6-5 #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp6-4 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=4.38 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC gen1 -L1000 0 -3 .6 4. 1. 1. > $SFDIR/pitchfunc pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=.02 # amplitude # int, float or FUNC release_time_in_seconds=.04 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=.5 # int, float or FUNC rate_multiplier=1.33 #...................................................... lower_time_boundary=0 # int, float or FUNC upper_time_boundary=-1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=0 # AUTOSTOP IS TURNED OFF TO ENABLE LOOPING # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=.05 time_point_change_response_time_in_seconds=.2 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=1000 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)
# If you have created any gen function files above delete them below: rm $SFDIR/pitchfunc


twarp6-5.html

ECMC PVC example file twarp6-5
# Example PVC script used to create /sflib/x soundfile >> twarp6-5 << # The example is identical to example twarp6-1 in every way except that # fairly radical dithering is introduced in reading the analysis file, with # high values for both of the dithering parameters: # timepoint_dither_window_in_seconds=.2 # time_point_change_response_time_in_seconds=.5 # The result is much "hesitation," "hesitation" and "stuttering" # With all of this back-and-forth jitter, only a portion of the analysis file # is read within the 4.38 second output duration #****************************************************** #......................TWARP .......................... # time varying reading of an analysis file previously created with pvcanal #****************************************************** # ******ECMC CHANGES & ADDITIONS: *************** #******** INPUT & OUTPUT SOUNDFILES ************* # input analysis file can be aiff or wave format on Linux, aiff only on SGI input_analysis_file=voicetestclip.pvc outputsf=twarp6-5 # output soundfile # can be aiff or wave format on Linux, aiff only on SGI outputformat=AIFF # for Linux only : specify AIFF or WAVE output format ### VERY IMPORTANT: Change the 0 below to the desired output duration. If this # duration does not match the duration of the analysis, time warping will result duration=4.38 # MUST BE CHANGED to desired output resynthesis duration # ********************* # ##### Cmusic function file generator tempates ##### # gen0 normalizes function files previously created with other gen routines # gen0 -Llength max < inputfuncfile > outputfuncfile # gen1 creates linear {straight line} segments, like Csound gen 7 # gen1 -Llength t1 v1 ... tN vN # gen2 generates harmonic waveforms from sine {a} & cosine {b} amps # gen2 -Llength [-o (default) or -c] a1 ... aN b0 ... bM N # gen3 generates amp values & linear connections at equally spaced time points # gen3 -Llength v1 v2 ... vN # gen4 generates exponenetial segments; "a" values determine shape & # depth of curve: 0 = linear, neg. = exponential, pos. = inverse expo. # gen4 -Llength t1 v1 a1 ... tN vN # gen5 is like Csound gen 9 : harmonic1/amp/phase harmonic2/amp/phase # gen5 -Llength h1 a1 p1 ... hN aN pN # gen6 generates a table of random numbers between +1 and -1 # gen6 -Llength # cspline: smooth curve {cubic spline} interpolator # cspline len_flag [flags] x0 y0 x1 y1 ... xN yN # genraw reads in a previously created function file # genraw -LN filename (where N is the length of the output function.) # For a usage summary of "reshape" type "reshape" with no arguments. ##### End of gen routine function generator tempates ##### #...................................................... output_data_format=1 # 0 (default) = Same as input file, no input file reverts to integers # 1 = integers 2 = floats ; normally set to 0 or 1 for integer output #====================================================== #*** ANALYSIS PARAMETERS ****************************** windowsize=0 # 0 will automatically set window to 2*FFT size or larger window_type=2 # window type: 0 = Hamming,1 = rectangular, 2 = Blackman (DEFAULT), # 3 = Bartlett triangular, 4-12 = Kaiser windows for alpha = 4-12 # generally recommended: 2 or 8 frames_per_second=200 # Set the frame rate to a value >= the frame rate used in the analysis. # Lesser frame rates create loss of amplitude and phasiness. # Default for both pvcanal and twarp is 200 #====================================================== #*** RESYNTHESIS PARAMETERS *************************** #........... OUTPUT CHANNEL(S) ....................... output_channel=0 # (channels are numbered from 1 to maximum; 0 = resynthesize all channels #.............OSCIL THRESHOLD ........................ oscillator_resynthesis_threshold_in_dB=-80 # usually -60 to -80 #****************** MODIFICATIONS ********************* #.................. AMPLITUDE OUTPUT in dB .......................... gain_in_decibels=0 # int, float or FUNC #.................. PITCH ............................. frequency_shift=0 # int, float or FUNC gen1 -L1000 0 -3 .6 4. 1. 1. > $SFDIR/pitchfunc pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC #................ AMPLITUDE & FREQUENCY ENVELOPE RESPONSES ................. attack_time_in_seconds=.02 # amplitude # int, float or FUNC release_time_in_seconds=.04 # amplitude # int, float or FUNC frequency_change_response_time_in_seconds=0 # frequency # int, float or FUNC #====================================================== #**************** DATA TIME ************************** # Controls time varying reading of the analysis file DATA_access_mode__explicit_0__rate_1=1 # 0 = explicit, 1 = rate # In rate mode, set time_point to initial position & use rate_multiplier to # control speed at which analysis file is read (1 = original speed) # In explicit mode, control time_point with a function. # (Rate_multiplier is nonfunctional in explicit mode.) time_point=.5 # int, float or FUNC rate_multiplier=1.33 #...................................................... lower_time_boundary=0 # int, float or FUNC upper_time_boundary=-1 # int, float or FUNC #(upper time < 0 defaults to file duration) #.....AUTOSTOP ........................................ autostop_on_1__off_0=0 # AUTOSTOP IS TURNED OFF TO ENABLE LOOPING # When on (1) , this will terminate synthesis if a boundary is crossed. #......TIMEPOINT DITHER ............................... timepoint_dither_window_in_seconds=.2 time_point_change_response_time_in_seconds=.5 # Unless you want flanging, time_point_change_response_time should typically # be set to between .01 and .05 #****************************************************** #********** SPECTRUM MODIFICATIONS ******************** #****************************************************** #............ SPECTRUM WARPSHAPE ...................... spectrum_warpshape_index=0 # int, float or FUNC # neg. values increase brightness, positive values descrease brightness #............. SPECTRUM COMPRESSION ................... spectrum_compression_threshold_in_decibels=-0 spectrum_decibels_of_compression=-0 #............. RANDOM AMPLITUDE VARIATION ............ random_amplitude_variation_decibel_floor=-0 # int, float or FUNC amplitude_variation_response_time_in_seconds=0 # int, float or FUNC #====================================================== #************** LOW/HIGH SHELF EQ ********************* LOW_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut low frequencies LOW_SHELF_EQ_frequency=40 # int, float or FUNC HIGH_SHELF_EQ_gain_in_decibels=-0 # int, float or FUNC to boost or cut high frequencies HIGH_SHELF_EQ_frequency=1000 # int, float or FUNC #====================================================== #............ RESCALE for floating point only................. rescale_level_in_decibels=0 # set to 1 to rescale to peak of input file; do not do this if input amplitude # is low #************ AMPLITUDE STATISTICS ******************** print_amplitude_statistics_0_no__1_yes=1 # use 0 to turn off amplitude display amplitude_statistics_time_interval=.25

(The bottom portion of this file, which converts all of the parameter variables above into a single long command line, and which the users should never edit or change, has been omitted here.)
# If you have created any gen function files above delete them below: rm $SFDIR/pitchfunc