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 (multiple values in a vector produce a multi-resolution spectrogram)
you can override overlap
by specifying FFT step, ms - a
vector of the same length as windowLength (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