ECMC PVC example file plainpv6
ECMC pvc example "plainpv6," which illustrates use of time varying functions applied to both pitch and spectral warp index, is a mix of two soundfiles, each with one tone, created by the following two example scripts: (1) plainpv6-1, in which the source soundfile is aiffinput=/sflib/wind/oboe.d4 and (2) plainpv6-2 , in which the source soundfile was aiffinput=/sflib/perc/tamb.shake To display one of these two script files, type pvcex plainpv6-1 or pvcex plainpv6-2 - - - - First note (oboe tone), created by script "plainpv6-1" : Here are the parameters that differ from the defaults: (1) input soundfile: aiffinput=/sflib/wind/oboe.d4 (2) gen functions Two functions are created, the first to control spectral warp index, the second to control pitch: # gen3 -Llength v1 v2 ... vN gen3 -L1000 5 5 -5 -5 5 > $SFDIR/spectrumfunc # 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 gen4 -L1000 0 -2 1 \ .25 -2 1 \ .5 4 1 \ .8 4 1 \ 1 2 > $SFDIR/pitchfunc (3) time warping: the duration of the input soundfile is stretched by 50 % : time_expansion_contraction_factor=1.5 (4) Time varying changes in the spectral warping are produced by the spectrum warpshape function. At the beginning & end of the note the wewaker partials are attenuated, "simplifying" the timbre. In the middle of the note, the weaker (higher) partials are boosted in intensity, creating a "brighter," more nasal timbre: spectrum_warpshape_index=$SFDIR/spectrumfunc # int, float or FUNC (4) The output pitch begins a major second below the original pitch, glisses up to a major third higher than the original pitch, then at the end of the note gliss down, ending a major second higher than the original pitch: pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC pitch_transposition_in_semitones=$SFDIR/pitchfunc # int, float or FUNC (5) EQ is applied. Freqencies between 500 and 1200 herz are eliminated: FILTER_TYPE__0_bandpass__1_bandreject=1 BRICKWALL_FILTER_window_low_frequency=500 BRICKWALL_FILTER_window_high_frequency=1200 ---- Second "note" (the tambouring shake), produced by example script file "plainpv6-2:" All of the changes above are applied to sflib/perc/tamb.shake. File "plainpv6-2" is identical to file "plainpv6-1" except for the difference in input sound. Also, the output gain was modified in example "plainpv6-2" like this: gain_in_decibels=-6 # in dB, int, float or FUNC to eliminate clipping by about 6 dB. ----- At the end of both scripts the line rm $SFDIR/spectrumfunc $SFDIR/pitchfunc is included to delete the two function files. - - - To see the source files for "plainpv6-1" or "plainpv6-2" type pvcex plainpv6-1 or else getex plainpv6-1 pvcex plainpv6-2 or else getex plainpv6-2