Internal soundgen function called by spectrogram
and
analyze
.
.spectrogram(
audio,
dynamicRange = 80,
windowLength = 50,
step = NULL,
overlap = 70,
wn = "gaussian",
zp = 0,
normalize = TRUE,
smoothFreq = 0,
smoothTime = 0,
qTime = 0,
percentNoise = 10,
noiseReduction = 0,
method = c("spectrum", "spectralDerivative")[1],
output = c("original", "processed", "complex")[1],
plot = TRUE,
osc = c("none", "linear", "dB")[2],
heights = c(3, 1),
ylim = NULL,
yScale = c("linear", "log", "bark", "mel")[1],
contrast = 0.2,
brightness = 0,
maxPoints = c(1e+05, 5e+05),
padWithSilence = TRUE,
colorTheme = c("bw", "seewave", "heat.colors", "...")[1],
extraContour = NULL,
xlab = NULL,
ylab = NULL,
xaxp = NULL,
mar = c(5.1, 4.1, 4.1, 2),
main = NULL,
grid = NULL,
width = 900,
height = 500,
units = "px",
res = NA,
internal = NULL,
...
)
a list returned by readAudio
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, rectangular, blackman, flattop
window length after zero padding, points
if TRUE, scales input prior to FFT
length of the window for median smoothing in frequency and time domains, respectively, points
length of the window for median smoothing in frequency and time domains, respectively, points
the quantile to be subtracted for each frequency bin. For ex., if qTime = 0.5, the median of each frequency bin (over the entire sound duration) will be calculated and subtracted from each frame (see examples)
percentage of frames (0 to 100%) used for calculating noise spectrum
how much noise to remove (non-negative number,
recommended 0 to 2). 0 = no noise reduction, 2 = strong noise reduction:
\(spectrum - (noiseReduction * noiseSpectrum)\), where noiseSpectrum is
the average spectrum of frames with entropy exceeding the quantile set by
percentNoise
plot spectrum ('spectrum') or spectral derivative ('spectralDerivative')
specifies what to return: nothing ('none'), unmodified spectrogram ('original'), denoised and/or smoothed spectrogram ('processed'), or unmodified spectrogram with the imaginary part giving phase ('complex')
should a spectrogram be plotted? TRUE / FALSE
"none" = no oscillogram; "linear" = on the original scale; "dB" = in decibels
a vector of length two specifying the relative height of the spectrogram and the oscillogram (including time axes labels)
frequency range to plot, kHz (defaults to 0 to Nyquist frequency). NB: still in kHz, even if yScale = bark or mel
spectrum is exponentiated by contrast (any real number, recommended -1 to +1). Contrast >0 increases sharpness, <0 decreases sharpness
how much to "lighten" the image (>0 = lighter, <0 = darker)
the maximum number of "pixels" in the oscillogram (if any) and spectrogram; good for quickly plotting long audio files; defaults to c(1e5, 5e5)
if TRUE, pads the sound with just enough silence to resolve the edges properly (only the original region is plotted, so the apparent duration doesn't change)
black and white ('bw'), as in seewave package ('seewave'),
or any palette from palette
such as 'heat.colors',
'cm.colors', etc
a vector of arbitrary length scaled in Hz (regardless of yScale!) that will be plotted over the spectrogram (eg pitch contour); can also be a list with extra graphical parameters such as lwd, col, etc. (see examples)
graphical parameters for plotting
graphical parameters for plotting
graphical parameters for plotting
graphical parameters for plotting
graphical parameters for plotting
if numeric, adds n = grid
dotted lines per kHz
graphical parameters for saving plots passed to
png
graphical parameters for saving plots passed to
png
graphical parameters for saving plots passed to
png
graphical parameters for saving plots passed to
png
a long list of stuff for plotting pitch contours passed by analyze()
other graphical parameters