Learn R Programming

soundgen (version 1.3.2)

fart: Fart

Description

While the same sounds can be created with soundgen(), this facetious function produces the same effect more efficiently and with very few control parameters. With default settings, execution time is ~ 10 ms per second of audio sampled at 16000 Hz. Principle: creates separate glottal cycles with harmonics, but no formants. See soundgen for more details.

Usage

fart(glottis = c(50, 200), glottisAnchors = "deprecated", pitch = 65,
  pitchAnchors = "deprecated", temperature = 0.25, sylLen = 600,
  rolloff = -10, samplingRate = 16000, play = FALSE, plot = FALSE)

Arguments

glottis

anchors for specifying the proportion of a glottal cycle with closed glottis, % (0 = no modification, 100 = closed phase as long as open phase); numeric vector or dataframe specifying time and value (anchor format)

glottisAnchors

anchors for specifying the proportion of a glottal cycle with closed glottis, % (0 = no modification, 100 = closed phase as long as open phase); numeric vector or dataframe specifying time and value (anchor format)

pitch

a numeric vector of f0 values in Hz or a dataframe specifying the time (ms or 0 to 1) and value (Hz) of each anchor, hereafter "anchor format". These anchors are used to create a smooth contour of fundamental frequency f0 (pitch) within one syllable. NB: "pitchAnchors" is deprecated; use simply "pitch" instead (same for other arguments with "Anchors" below)

pitchAnchors

a numeric vector of f0 values in Hz or a dataframe specifying the time (ms or 0 to 1) and value (Hz) of each anchor, hereafter "anchor format". These anchors are used to create a smooth contour of fundamental frequency f0 (pitch) within one syllable. NB: "pitchAnchors" is deprecated; use simply "pitch" instead (same for other arguments with "Anchors" below)

temperature

hyperparameter for regulating the amount of stochasticity in sound generation

sylLen

syllable length, ms (not vectorized)

rolloff

rolloff of harmonics in source spectrum, dB/octave (not vectorized)

samplingRate

sampling frequency, Hz

play

if TRUE, plays the synthesized sound. In case of errors, try setting another default player for play

plot

if TRUE, plots the waveform

Value

Returns a normalized waveform.

Examples

Run this code
# NOT RUN {
f = fart()
# playme(f)

# }
# NOT RUN {
while (TRUE) {
  fart(sylLen = 300, temperature = .5, play = TRUE)
  Sys.sleep(rexp(1, rate = 1))
}
# }

Run the code above in your browser using DataLab