Internal soundgen function called by shiftPitch
.shiftPitch(
audio,
multPitch,
multFormants,
timeStretch,
freqWindow = NULL,
dynamicRange = 80,
windowLength = 50,
step = NULL,
overlap = 75,
wn = "gaussian",
interpol = c("approx", "spline")[1],
propagation = c("time", "adaptive")[1],
preserveEnv = NULL,
transplantEnv_pars = list(),
normalize = c("max", "orig", "none")[2],
play = FALSE
)
a list returned by readAudio
1 = no change, >1 = raise pitch (eg 1.1 = 10% up, 2 = one
octave up), <1 = lower pitch. Anchor format accepted for multPitch /
multFormant / timeStretch (see soundgen
)
1 = no change, >1 = raise formants (eg 1.1 = 10% up, 2 = one octave up), <1 = lower formants
1 = no change, >1 = longer, <1 = shorter
the width of spectral smoothing window, Hz. Defaults to
detected f0 prior to pitch shifting - see shiftFormants
for
discussion and examples
dynamic range, dB. All values more than one dynamicRange under maximum are treated as zero
length of FFT window, ms
you can override overlap
by specifying FFT step, ms (NB:
because digital audio is sampled at discrete time intervals of
1/samplingRate, the actual step and thus the time stamps of STFT frames
may be slightly different, eg 24.98866 instead of 25.0 ms)
overlap between successive FFT frames, %
window type accepted by ftwindow
, currently
gaussian, hanning, hamming, bartlett, blackman, flattop, rectangle
the method for interpolating scaled spectra and anchors
the method for propagating phase: "time" = horizontal propagation (default), "adaptive" = an experimental implementation of "vocoder done right" (Prusa & Holighaus 2017)
if TRUE, transplants the amplitude envelope from the
original to the modified sound with transplantEnv
. Defaults
to TRUE if no time stretching is performed and FALSE otherwise
a list of parameters passed on to
transplantEnv
if preserveEnv = TRUE
"orig" = same as input (default), "max" = maximum possible peak amplitude, "none" = no normalization
if TRUE, plays the synthesized sound using the default player on
your system. If character, passed to play
as the name
of player to use, eg "aplay", "play", "vlc", etc. In case of errors, try
setting another default player for play