.modulationSpectrum | R Documentation |
Internal soundgen function.
.modulationSpectrum(
audio,
specSource = c("STFT", "audSpec")[1],
windowLength = 15,
step = 1,
wn = "hanning",
zp = 0,
audSpec_pars = list(filterType = "butterworth", nFilters = 32, bandwidth = 1/24, yScale
= "bark", dynamicRange = 120),
msType = c("1D", "2D")[2],
amRes = 5,
maxDur = 5,
specMethod = c("spec", "meanspec")[2],
logSpec = FALSE,
logMPS = FALSE,
power = 1,
normalize = TRUE,
roughRange = c(30, 150),
roughMean = NULL,
roughSD = NULL,
roughMinFreq = 1,
amRange = c(10, 200),
returnMS = TRUE,
returnComplex = FALSE,
plot = TRUE,
savePlots = NULL,
logWarpX = NULL,
logWarpY = NULL,
quantiles = c(0.5, 0.8, 0.9),
kernelSize = 5,
kernelSD = 0.5,
colorTheme = c("bw", "seewave", "heat.colors", "...")[1],
col = NULL,
main = NULL,
xlab = "Hz",
ylab = "1/kHz",
xlim = NULL,
ylim = NULL,
width = 900,
height = 500,
units = "px",
res = NA,
...
)
audio |
a list returned by |
specSource |
'STFT' = Short-Time Fourier Transform; 'audSpec' = a bank
of bandpass filters (see |
windowLength , step , wn , zp |
parameters for extracting a spectrogram if
|
audSpec_pars |
parameters for extracting an auditory spectrogram if
|
msType |
'2D' = two-dimensional Fourier transform of a spectrogram; '1D' = separately calculated spectrum of each frequency band |
amRes |
target resolution of amplitude modulation, Hz. If |
maxDur |
sounds longer than |
specMethod |
the function to call when calculating the spectrum of each
frequency band (only used when |
logSpec |
if TRUE, the spectrogram is log-transformed prior to taking 2D FFT |
logMPS |
if TRUE, the modulation spectrum is log-transformed prior to calculating roughness |
power |
raise modulation spectrum to this power (eg power = 2 for ^2, or "power spectrum") |
normalize |
if TRUE, the modulation spectrum of each analyzed fragment
|
roughRange |
the range of temporal modulation frequencies that constitute the "roughness" zone, Hz |
roughMean , roughSD |
the mean (Hz) and standard deviation (semitones) of
a lognormal distribution used to weight roughness estimates. If either is
null, roughness is calculated simply as the proportion of spectrum within
|
roughMinFreq |
frequencies below roughMinFreq (Hz) are ignored when calculating roughness (ie the estimated roughness increases if we disregard very low-frequency modulation, which is often strong) |
amRange |
the range of temporal modulation frequencies that we are interested in as "amplitude modulation" (AM), Hz |
returnMS |
if FALSE, only roughness is returned (much faster). Careful with exporting the modulation spectra of a lot of sounds at once as this requires a lot of RAM |
returnComplex |
if TRUE, returns a complex modulation spectrum (without normalization and warping) |
plot |
if TRUE, plots the modulation spectrum of each sound (see
|
savePlots |
if a valid path is specified, a plot is saved in this folder (defaults to NA) |
logWarpX , logWarpY |
numeric vector of length 2: c(sigma, base) of pseudolog-warping the modulation spectrum, as in function pseudo_log_trans() from the "scales" package |
quantiles |
labeled contour values, % (e.g., "50" marks regions that contain 50% of the sum total of the entire modulation spectrum) |
kernelSize |
the size of Gaussian kernel used for smoothing (1 = no smoothing) |
kernelSD |
the SD of Gaussian kernel used for smoothing, relative to its size |
colorTheme |
black and white ('bw'), as in seewave package ('seewave'),
matlab-type palette ('matlab'), or any palette from
|
col |
actual colors, eg rev(rainbow(100)) - see ?hcl.colors for colors in base R (overrides colorTheme) |
xlab , ylab , main , xlim , ylim |
graphical parameters |
width , height , units , res |
parameters passed to
|
... |
other graphical parameters passed on to |
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.