.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' = ShortTime 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' = twodimensional 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 logtransformed prior to taking 2D FFT 
logMPS 
if TRUE, the modulation spectrum is logtransformed 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 lowfrequency 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 pseudologwarping 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'),
matlabtype 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.