Sound Analysis and Synthesis

Functions for analysing, manipulating, displaying, editing and synthesizing time waves (particularly sound). This package processes time analysis (oscillograms and envelopes), spectral content, resonance quality factor, entropy, cross correlation and autocorrelation, zero-crossing, dominant frequency, analytic signal, frequency coherence, 2D and 3D spectrograms and many other analyses.


News

    *****************************************
    *       SEEWAVE NEWS        *
    *****************************************


    CHANGES IN SEEWAVE VERSION 2.0.5 [12-10-2017]

OTHER CHANGES o autoc(): a bug fixed when using 'threshold'. o drawfilter(): a bug of the axis labels fixed. o fma(): slighty improved by trying to remove DC component. o fund(): the default value of 'fmax' is now f/2. o NDSI(): the argument 'anthrophony' is renamed 'anthropophony'. o spectro(): a bug introduced in the last version regarding the display of the time axis fixed.

    CHANGES IN SEEWAVE VERSION 2.0.4 [11-July-2016]

NEW FUNCTIONS o bwfilter(): a new function to apply a Butterworth filter, based on butter() and filtfilt() of the package signal. o melfilterbank(): a new function to compute and display mel-filters used to compute MFCCs. o phaseplot2(): a new function to display a time wave against a delayed version of itself (phase-phase space). o preemphasis(): a new function to apply a speech pre-emphasis filter.

NEW ARGUMENTS o ceps(): a new argument 'phase' to take into account the phase of the signal. o meanspec(), spec(), spectro(), spectro3D(): a new argument 'correction' to apply a correction factor (either amplitude or energy correction) on the taper window so that either amplitude or energy is preserved from the time signal to the frequency spectrum. o spec(): a new argument 'scaled' to scale the results to the length of the FFT ; a small bug regarding frequency scale fixed when 'at' is NULL.

OTHER CHANGES o attenuation(): a bug introduced in the previous version is now fixed. o cepstro(): the value $amp is transposed such that columns correspond correctly to successive cepstra. o cutspec(): is now more accurate. o dfreq(): a small bug regarding frequency scale fixed. o dynspec(): a bug with the zero padding (argument 'zp') fixed. Thanks to Andrey Anikin. o echo(): is now faster. o env(..., envt="hil",...): is now faster. o fir(): is now faster. o fma(): is now faster. o hilbert(): is now faster. o ifreq(): is now faster. o Q(): a bug fixed when the input was a frequency spectrum cut with cutspec(). The interpolation is changed to increase to resolution. Thanks to Daniel Ridley-Ellis. o rmam(): is now faster. o SAX(): an improvement for unevenly broken segments. Thanks to Pavel Senin. o songmeter(): now handles SM4 model. o spectro(): a bug with the zero padding (argument 'zp') fixed, Thanks to Andrey Anikin. A new logical argument 'flog' to plot the frequency axis on a log scale. o spectro3D(): a bug with the zero padding (argument 'zp') fixed. Thanks to Andrey Anikin. o symba(): the value of the sequence of symbols of the 'y' is now correctly named 's2' instead of 's1'; the computation of the entropy of y has been corrected implying a correction in the computation of the mutual information I; the plot of y has been corrected; 'absolute frequency' has been corrected to 'relative frequency' in the documentation. o TKEO(): a mistake in the documentation regarding the exponent and lag parameters is now fixed. o wf(): it is now possible to combine different waterfall displays in a multiframe graphic (using for instance layout()). A bug with the zero padding (argument 'zp') fixed. Thanks to Andrey Anikin. o zcr(): a mistake in the documentation regarding the definition of the sign function is now fixed.

    CHANGES IN SEEWAVE VERSION 2.0.2 [28-July-2015]

NEW FUNCTIONS o duration(): a new function to get the duration (in s) of a time wave.

NEW ARGUMENTS o fpeaks(): a new argument 'digits' to control the number of digits of the frequency peak labels.

OTHER CHANGES o ffilter(): a tiny bug fixed, default value of the arguments 'from' and 'to' are now 'NULL' ('FALSE' previously). o spectro(): the argument 'trel' now works when 'osc=TRUE'. o synth(): the argument 'signal' accepts now 'sawtooth'. o timer(): now works even if irrelevant values are provided for the argument 'dmin'. o The demo now works properly.

    CHANGES IN SEEWAVE VERSION 2.0.1 [08-July-2015]

NEW FUNCTIONS o AR(): a new function to compute the Acoustic Richness index (contribution of M. Depraetere) o combfilter(): a new function to apply a frequency comb filter. o drawfilter(): a new function to draw interactively the frequency response of a filter (by Laurent Lellouch). o M(): a new function to compute the amplitude index (contribution of M. Depraetere). o squarefilter(): a new function to generate the frequency response of a square filter (by Laurent Lellouch).

NEW ARGUMENTS o corspec(), cutspec(), diffspec(), diffcumspec(), fbands(), fpeaks(), ks.dist(), localpeaks(), Q(), simspec(), specprop(): a new argument 'mel' to deal with (htk-)mel scale. By Laurent Lellouch. o diffspec(), simspec(): a new argument 'title'. o discrets(): a new argument 'plateau' to control how a plateau is encoded. By Laurent Lellouch. o env(): a new argument 'fftw' to speed up the computation of the Hilbert amplitude envelope and/or kernell smoothin through the use of the package fftw. By Jean Marchal and Francois Fabianek. o hilbert(): a new argument 'fftw' to speed up the computation of the Hilbert transform through the use of the package fftw. By Jean Marchal and Francois Fabianek. o itakura.dist(), logspec.dist(): a new argument 'scale' to ensure that the distances are not influenced by the length of the spectra to be compared. By Laurent Lellouch. o oscillo(): a new argument 'nidentify' to control the number of identified points on the wave. o simspec(): two new arguments, 'norm' and 'PMF', to scale the spectra between 0 and 1 or transform them into probability mass functions. o timer(): a new argument 'dmin' to detect signal events above a minimum duration (time threshold).

OTHER CHANGES o The dependency with fftw is removed. This should facilitate installation on different OSs. o seewave now imports the base packages graphics, grDevices, stats, utils to comply with new packages check rules. o cutspec(): a small frequency shift fixed. o diffspec(): the arguments 'lty1', 'lty2' and 'lty3' have been merged into a single argument 'lty'; the arguments 'col1', 'col2' and 'cold' have been merged into a single argument 'col'. o ks.dist(): the distance 'D' can now be computed even if the sampling frequency is not provided. By Laurent Lellouch. o listen(): a bug regarding audioSample objects fixed. o oscillo(): a bug regarding title fixed. o oscilloST(): now manages stereo objects of class Wave or audioSample. o pulse() is renamed pulsew() to avoid confusion with tuneR::pulse. o Q(): is now faster. By Laurent Lellouch. o 'rev.cm.colors()', 'rev.gray.colors.1()', 'rev.gray.colors.2()', 'rev.heat.colors()', 'rev.terrain.colors()', 'rev.topo.colors()' have been renamed 'reverse.cm.colors()', 'reverse.gray.colors.1()', 'reverse.gray.colors.2()', 'reverse.heat.colors()', 'reverse.terrain.colors()', 'reverse.topo.colors()' respectively to comply with new packages check rules. o sh(): a new option 'simpson' for the argument 'alpha' to compute the Simpson (or Gini-Simpson) entropy (index). The Renyi entropy was also modified to obtain values between 0 and 1. By Laurent Lellouch. o simspec(): the arguments 'lty1', 'lty2' and 'lty3' have been merged in to a single argument 'lty'; the arguments 'col1', 'col2' and 'col3' have been merged in to a single argument 'col'. o synth(): the length of the arguments 'am' and 'fm' increase to 3 and 4 respectively to add a phase component. By Laurent Lellouch. o timer(): a bug regarding the argument 'tlim' fixed, a new value 'first' that specifies whether the first event detected is a signal or a pause.

DEPRECATED & DEFUNCT o diffspec(): the argument 'dB' is removed has the 'dB' results are not optimal.

    CHANGES IN SEEWAVE VERSION 1.7.6 [09-September-2014]

NEW FEATURES o acoustat(): two new arguments, 'tlim' and 'flim' to control the time and frequency limits of the analysis. o akamatsu(): a new function to compute the resonance and cut frequency in water tanks. By Camille Desjonqueres. o diffcumspec(): a new function to compute dissimilarity between two spectra based on the cumulative distribution functions. By Laurent Lellouch. o fund(): a new argument, 'at', to estimate the fundamental frequency at a specific position along the wave object. o istft(): a new function to compute the inverse of the short-term Fourier transform (ISTFT). Translated and adapted from a Matlab function written by Hristo Zhivomirov. o songmeter(): a new function to read and decompose the file name produced by a SongMeter (Wildlife Acoustics (c)). o spectro(): a new argument 'complex' to get the complex values of the STFT when plot is FALSE. o synth(): two new arguments 'signal' to control the signal function and 'partials' to produce harmonics. By Laurent Lellouch.

OTHER CHANGES o ffilter(), lfs(): the quality of the results have been greatly improved. A new argument 'ovlp' for setting the overlap between successive FFT windows. o spec(): a small bug regarding the x axis when using 'from' an 'to' arguments, thanks to Arvind Sowmyan. o wav2flac(): a patch by Luis Villanueva-Rivera to fix .exe path issues

    CHANGES IN SEEWAVE VERSION 1.7.3 [27-January-2014]

NEW FEATURES o acoustat(): a new function to obtain statistics on the time and frequency contours of the short-term Fourier transform, following the principles described by Fristrup and Watkins (1992). Checked by K. Fristrup. o SAX(): a new function to obtain a Symbolic Aggregate approXimation of a numeric vector as described in Lin et al. (2003). Checked by E. Kasten. o NDSI(): a new function to compute the Normalized Difference Soundscape Index as described in Kasten et al. (2003). Checked by E. Kasten. o soundscapespec(): a new function to compute a frequency spectrum according to soundscape description as described in Kasten et al. (2012). Checked by E. Kasten. o TKEO(): a new function to compute the Teager-Kaiser Energy Operator. o zcr(): a new function to compute the zero-crossing rate.

OTHER CHANGES o rmoffset(): a new argument 'FUN' to specify the function used to remove the offset. Using the median instead of the mean default function, can help, for instance, to remove offset and transients.

    CHANGES IN SEEWAVE VERSION 1.7.2 [30-August-2013]

OTHER CHANGES o Some invisible changes with the data to comply with tuneR update (tuneR 1.0) o Slight modification to work with different bit levels (and not only 16).

    CHANGES IN SEEWAVE VERSION 1.7.0 [12-July-2013]

NEW FEATURES o ACI(): a new function to compute the Acoustic Complexity Index following Pieretti et al. (2011). o ggspectro(): a new function to plot a spectrogram using ggplot2. o playlist(): a new function to play a list of sound files. o synth2(): a new function to synthesize sound with envelope amplitude and instantaneous frequency (tonal model). o dfreq(): a new argument 'tlim' to set time limits. o specprop(): two new arguments ('col.mode' and 'col.quartiles') to set the colour of the mode and quartiles segments respectively and two other new arguments ('xlab' and 'ylab') to change axis labels.

OTHER CHANGES o The dependency with the package audio has been removed since audio is no more available on CRAN. This also makes CRAN installation and checks easier. o The dependency with the package rgl and rpanel has been removed. This makes seewave easier to install on servers and faster for CRAN daily checks. o fpeaks(): a bug regarding the frequency values when using a vector as a wave object is now fixed. o spectro(): a small bug regarding the argument 'colbg' is now fixed.

    CHANGES IN SEEWAVE VERSION 1.6.7 [09-April-2013]

OTHER CHANGES o env(): a small bug fixed. o stft.ext(): a slight change to pass the Mac CRAN checks (thanks to Simon Urbanek!). o FLAC is no more required to install seewave but is needed to use wav2flac() function. o Some other changes to pass R 3.0.0 checks.

    CHANGES IN SEEWAVE VERSION 1.6.5 [12-December-2012]

NEW FEATURES o a new vignette named 'seewave_analysis' for a short introduction to sound analysis. This vignette is mainly written for students starting with bioacoustics. o meandB(), moredB(): a new argument 'level' to choose between intensity level (IL) and sound pressure level(SPL). o meanspec(), spec(), spectro() and spectro3D(): a new argument 'norm' to control the normalisation of the results. o sddB(): a new function to estimate the standard deviation of dB values. o oscillo(): three new arguments: 'xlab' and 'ylab' to specify the name of the axes, 'cex' to specify pitch size if type is "p", or "b" or "o". o sox(): a new function to call SoX. Sox is required to use the function but not to install the package.

OTHER CHANGES o ceps(): a bug regarding the argument 'alim' is now fixed. o specprop(): frequency resolution is increased thanks to a patch by Jesse Ross (Cornell University) o zc(): a new argument 'warning' to control the display of the warning message in case of interpolation.

    CHANGES IN SEEWAVE VERSION 1.6.4 [28-June-2012]

NEW FEATURES o stft.ext(): a new function to compute externally (i.e. out of R environment) the short-term Fourier transform. This function has been developed to speed up computing process time when doing batch analysis. o timer(): a new argument, 'tlim', to change to time axis. o savewav(): a new argument, 'rescale', to rescale the amplitude of the exported .wav file.

OTHER CHANGES o ama(), dynspec(), spec(), meanspec(), spectro(), spectro3D(): a small shift in Fourier coefficients fixed. o env(): computing the Hilbert envelope should be faster. o export(), listen(), savewav(): the sampling frequency can now be changed with the argument 'f' (i.e. it is now possible to listen or to write a wav file with a different sampling frequency than the original one). o meanspec(): should be slightly faster. o noisew(): the argument 'listen' now works properly. o timer(): should be faster. o Numerous typoes and small errors fixed in the documentation!

    CHANGES IN SEEWAVE VERSION 1.6.3 [10-April-2012]

OTHER CHANGES o non ASCII characters removed from examples.

    CHANGES IN SEEWAVE VERSION 1.6.2 [01-April-2012]

NEW FEATURES o logspec.dist(): a new function to compute the log-spectral distance. o itakura.dist(): a new function to compute the Itakura-Saito distance between two spectra. o phaseplot(): a new function to plot the first, second, and possibly third derivatives of a wave. o smoothw(): a new function that tries to smooth a time wave. o timer(): a new argument, 'ssmooth', to smooth the envelope. o fund(): two new arguments, 'from' and 'to', to limit in time the search of the fundamental frequency. o Q(): returns now a list of 5 items including the Q factor, the dominant frequency, the frequecy limits of the bandwdith and the frequency bandwidth.

OTHER CHANGES o Now requires R (>= 2.15) because of an issue regarding filled.contour(). o rmam(): a small bug regarding data input fixed.

    CHANGES IN SEEWAVE VERSION 1.6.1 [30-August-2011]

NEW FEATURES o dynoscillo(): a new function to explore dynamically a wave through an oscillographic representation. o roughness(): a new function to compute the roughness or total curvature of a curve (a wave or a spectrum) o oscillo(): using the argument 'identify' now returns a two-column matrix as a value. The first colum gives the time position and the second column the amplitude position. o timer(): the function now returns the start and end positions of the so-called 'signal' and 'pause' bouts. o specprop(): rewritten, much faster. o sh(): a new argument 'alpha' to compute to the Renyi entropy of order 'alpha'.

OTHER CHANGES o dfreq(): the argument 'threshold' and 'bandpass' can now be used in the same time. o fpeaks(): the value is now correctly ordered following frequencies when 'nmax' is used. o pastew() and repw(): a new argument 'join' to smooth pasting. o meanspec() and spec(): the default value of the argument 'flim' is now set to NULL. This allows plotting a log scale for the frequency axis with log="x".

DEPRECATED & DEFUNCT o specprop(): the value 'mad' has been withdrawn.

    CHANGES IN SEEWAVE VERSION 1.6.0 [19-April-2011]

NEW FEATURES o kl.dist(): a new function to compute Kullback-Leibler distance between two spectra. o ks.dist(): a new function to compute Kolmogorov-Smirnov distance between two spectra. o notefreq(): a new function to compute musical note frequency. o spectro(): a new argument 'oma' giving the size of the outer margins.

OTHER CHANGES o ama(): a small bug regarding the argument 'f' has been fixed. o covspectro(), csh(), dfreq(), dynspec(), ffilter(), lfs(), meanspec(), spectro(), spectro3D(), wf(): are now faster. o dfreq(): a new argument 'bandpass' to limit the search of the dominant frequency in a specified frequency band. o env(): is now faster when using the argument 'msmooth' o spectro(): a small bug regarding the size of the labels have been fixed. o th(): should be faster. o timer(): is now much faster.

DEPRECATED & DEFUNCT o csh(), dfreq(), dynspec(), ffilter(), lfs(), meanspec(), spectro(), spectro3D(), wf(): 'pb' argument has been deleted.

    CHANGES IN SEEWAVE VERSION 1.5.9 [01-September-2010]

NEW FEATURES

o oscillo(): a new argument 'type' for controlling the type of plot. Actually useful for no plot (type='n').
o a new argument 'pb' to display a computing progress bar has been added to functions that can take some time to process.
o a new argument 'fftw' has been added to FFT functions. This argument can be used to try to speed up FFT process time. The Fourier transform is computed through the function FFT of the package fftw.

OTHER CHANGES o autoc(): the function is now based on acf() and is much faster. The minimum frequency to detect can be now controled by the new argument 'fmin'.

    CHANGES IN SEEWAVE VERSION 1.5.8 [15-June-2010]

NEW FEATURES o dfreq(): a new argument 'at' to compute the dominant frequency at specific positions along the signal. a new argument 'clip' to select dominant frequency values in reference to the stft maximum. o spectro(): two new arguments to control the size of the labels (cexlab) and the size of the axes (cexaxis). it is now possible to do annotations on the spectrogram for any layout.

OTHER CHANGES o listen(): a bug fixed. o seedata(): the Kolmogorov-Smirnov test has been withdrawn as the refinement of the test with estimated parameters (mean and sd) are not implemented yet in R (see ?ks.test). o all accompanying data are now of class Wave.

    CHANGES IN SEEWAVE VERSION 1.5.7 [15-March-2010]

NEW FEATURES o localpeaks(): a new function that splits a spectrum in bands and search for the maximum peak of each band. o fbands(): a new function to split a spectrum in a series of bands (a kind of equalizer plot). o fpeaks(): a new function to detect frequency peaks. o octaves(): a new function that returns the frequency octaves of a specific note. o rugo(): a new function to compute the 'rugosity' of a time series.

OTHER CHANGES o ceps(): a small bug in the value return has been fixed.

DEPRECATED & DEFUNCT o ceps(), meanspec(), spec(): the argument 'peaks' no more exists (cf. new function fpeaks()).

OTHER NEWS o seewave has now a dedicated website: http://rug.mnhn.fr/seewave o a discussion group has been opened: http://groups.google.fr/group/seewave

    CHANGES IN SEEWAVE VERSION 1.5.6 [13-November-2009]

NEW FEATURES o meandB(): a new function to compute the mean of dB values. o seedata(): a new function to get a quick look at quantitative data. o dynspec(): a new argument (dB) to specify the dB weight to apply ("max0", "A", "B", "C", "D"). a new argument (dBref)to set a dB reference value (for instance 20 microPa for SPL). o oscillo(): a new argument 'cexaxis' to control the magnification of axes annotation. a new argument 'tcl' to control tick length. o spectro(): a new argument 'cexaxis' to control the magnification of axes annotation. a new argument 'widths' to control the relative widths of the layout columns. a new argument 'heights' to control the relative heights of the layout rows. 4 new arguments, 'tlab', 'flab', 'alab' and 'main', to replace the 'plot.title'. o timer() has four new arguments: 'envt' to set the type of envelope used, 'ksmooth' and 'msmooth' to smooth the envelope, and 'power' to apply a power factor the envelope potentially reducing low amplitude background noise. o wf(): a new argument 'lwd' to set line width.

OTHER CHANGES o IMPORTANT: the package dependency has moved from sound to tuneR. This change is mainly due to problems araising during daily CRAN checks. o all functions that return an object describing a time wave have a new argument named 'output'. This allows to set the class of the returned object. This replaces the former argument 'Sample'. o spectro(), spectro3D(), ccoh() and cesptro(): the class of the value has changed to a list. The object returned is now made of three items related to the three dimensions of the plot. o noise() has been renamed noisew() to avoid any conflict with the function noise() of the package tuneR. o meanspec(): a small bug affecting the 'dB' argument has been fixed (thanks to Zev Ross!). o specprop(): a small bug has been fixed. o ccoh() and cepstro(): the argument 'plot.title' has been replaced by 'xlab', 'ylab' and 'main'. o the vignette has been updated. o A NAMESPACE has been added.

    CHANGES IN SEEWAVE VERSION 1.5.5 [26-June-2009]

NEW FEATURES o crest(): a new function that returns the crest factor and shows crest(s). o dBweight(): a new function that returns the common dB weights (A, B, C, D). o meanspec() spec(), spectro(), spectro3D(), wf() : a new argument (dBref) to set a dB reference value (for instance 20 microPa for SPL). o meanspec() and spec(): the argument dB is no more a logical but a character string for the different dB weights to apply ("max0", "A", "B", "C", "D"). o spectro(), spectro3D() and wf() have a new argument (dB) to specify the dB weight to apply ("max0", "A", "B", "C", "D"). o rms(): a new function that computes the root mean square.

OTHER CHANGES o sh(): a 0 value is now returned when the input spectrum is null i.e. including any NA or 0 values only. o th(): a 0 value is now returned when the input envelope is null (i.e. including any NA or 0 values only) or has a square shape. o This file (NEWS) has been added. o The I/O vignette has been updated including the audio package.

    CHANGES IN SEEWAVE VERSION 1.5.4 [27-March-2009]

NEW FEATURES o rmnoise(): a new function to (try to) )remove noise. o wf(): a new function for a waterfall display.

BUG FIXES o drawenv(): a small bug was fixed. o simspec(): a small bug was fixed.

OTHER CHANGES o seewave can now handle objects of class data.frame and audioSample (package audio). o savewav() can now handle all kind of input objects. o the I/O vignette has been updated, including the package audio. o It is now possible to assign to a new object the value of a function when the argument 'plot' is TRUE.

    CHANGES IN SEEWAVE VERSION 1.5.1 [17-Dec-2008]

NEW FEATURES o cutspec(): a new function to subset a part of a frequency spectrum. o discrets(): a new function to transform a numeric (time) series into a sequence of symbols (letters). o env() has a new argument (norm) to get a normalised envelope. o export() a new argument (header) to specify the header of the exported file. o fma(): a new function for the analysis of frequency modulation. o micsens(): a new fonction for the conversion of microphone sensitivity (mV/Pa <=> dB re mV/Pa). o noise() has a new argument (type) to choose between uniform and gaussian noise. o specprop() has a new argument (flim) to specify the limits of the analysis. o symba(): a new function that proceeds a symbolic analysis of a numeric (time) series.

OTHER CHANGES o seewave can now handle objects of class ts, mts and Wave (package tuneR). o There is now a vignette detailing how to import and export sound with R.

    CHANGES IN SEEWAVE VERSION 1.5.0 [28-Sep-2008]

NEW FEATURES o drawenv(): a new function to modify the amplitude envelope interactively with the graphic device. o ffilter() has a new argument (custom) )to customize the frequency response of the filter. o revw() has a new argument (ifreq) to reverse independently the amplitude envelope and the instantaneous frequency. o wav2flac(): a new function to convert .wav files into .flac files. This requires the external software flac to be installed.

BUG FIXES o dfreq(): a small bug was fixed.

    CHANGES IN SEEWAVE VERSION 1.4.8 [14-Apr-2008]

NEW FEATURES o env(): a new function that returns absolute or Hilbert amplitude envelope. Smoothing can be achieved with either an mean sliding window or kernel objects. o hilbert(): a new function that returns the analytical signal through Hilbert transform. o ifreq(): a new function that returns the instantaneous frequency and phase through Hilbert transform. o rmam(): a new function that removes amplitude modulations. o spectro(): when zooming in time a new argument (trel) can be set to get relative or absolute X-time axis. o temp.colors(): a new color palette for 2D plots (like spectro()). Follows temperature colors. o addsilw(), cutw(), deletew(), mutew(), pastew() have a new argument (choose) that allows graphical wave selection. o ama(), corenv(), diffenv(), diffwave(), dynspec(), H(), setenv() have arguments (envt, msmooth, ksmooth) to set envelope type (absolute/Hilbert) and envelope smoothing (mean/kernel).

BUG FIXES o zapsilw(): both original and modified waves are now plotted when plot=TRUE.

OTHER CHANGES o autoc(), ceps(), coh(), csh(), dfreq(), fund(), ifreq(), zc(): the value returned is now a two-column matrix. The first column is time, and the second one is result of the analysis (frequency, entropy...). o oscilloST(): arguments 'env', 'smooth', 'ksmooth' have been removed. o oscillo(): the arguments regarding amplitude envelope have been withdrawn (env, smooth, ksmooth). A new function dedicated to envelope computation only (env()) is now available.

    CHANGES IN SEEWAVE VERSION 1.4.7 [25-Feb-2008]

NEW FEATURES o noise(): a new argument (listen) to play back the noise generated. o oscillo(): a new argument (scroll) can be used to move along the time wave. o repw(): a new function that repeats a time wave. o setenv(): a new function that sets the enveloppe of a time wave to another one.

BUG FIXES o export(): a small bug regarding filename by default was fixed. o spectro3D() is faster.

OTHER CHANGES o listen(): it is now possible to change de sampling frequency when the wave is a Sample object.

    CHANGES IN SEEWAVE VERSION 1.4.6 [16-Jan-2008]

NEW FEATURES o dynspec(): a new function that dynamically plots a sliding spectrum along the signal. o echo(): a new function that generates echoes of a time wave o fadew(): a new function to apply a fade in and/or a fade out to a time wave o fdoppler(): a new function that computes the altered frequency of a moving source due to Doppler effect o ccoh(), cepstro(), spectro() have a new argument (colbg) to set the color of the background.

BUG FIXES o oscillo(): the title argument has been improved: it does work now when k=1 and j=1 and can be replaced by any desired text. o sfm(): a small bug was fixed.

DEPRECATED & DEFUNCT o alauda data has been withdrawn.

OTHER CHANGES o spec() and meanspec() now return a two-column matrix, the first column corresponding to the frequency axis and the second column to the amplitude axis. o seewave size has been significantly reduced. This increases opening speed. o mute() has been turned to mutew().

    CHANGES IN SEEWAVE VERSION 1.4.5 [02-Dec-2007]

NEW FEATURES o sfm(): a new function to estimate spectral flatness (noisiness) o wasp(): a new function to estimate both wavelength and speed of sound in different media o field(): a new function to help knowing in which near or far field you microphone is o specprop(): a new function that returns a list of 15 spectral statistics o zapsilw(): a new function that zaps silence periods of a time wave

BUG FIXES

OTHER CHANGES o fir(): now works properly (!).

    CHANGES IN SEEWAVE VERSION 1.4.4 [19-Oct-2007]

NEW FEATURES o cepstro(): new function that processes a short-term cepstral analysis o fund(): new function that processes a cepstral analysis along the signal allowing to track the fundamental frequency. o playw(): new function that play sound either it is a matrix, a data.frame or a Sample object. o revw(): new function for time-reverse o synth(): a new argument (shape) to change the overall shape of the wave

BUG FIXES o export(): overclipping extension filename problems fixed. o noise(): offset bug fixed. o savewav(): overclipping problem fixed.

OTHER CHANGES o suggested libraries (sound and rgl) are now automatically loaded when calling seewave. o an argument Sample has been added to all editing functions. This allows to return values as Sample objects. o spec() and meanspec(): both coordinates (frequency and amplitude) of the chosen points are now returned when using the argument identify. o ceps(): there is now two scales for quefrency, one in seconds (s) and the other one in frequency (Hz). Measurements can be returned in Hz. o cutw(): the cut wave is now normalised between -1 and 1.

    CHANGES IN SEEWAVE VERSION 1.4.3 [19-Jul-2007]

NEW FEATURES o addsilw(): a new function to insert a silence section. o ceps(): a new function that returns the cepstrum for fundamental frequency detection. o diffenv(): a new function that allows to estimate similarity between envelopes of the same duration. o diffwave(): a new function that estimates the difference between two waves. o fir(): a new filter function (Finite Impulse Response). o H(): a ew function to compute total (spectral and temporal) entropy. o mel(): a new function for Hz/Mel conversion. o oscillo() has a new argument (ksmooth) for kernell smoothing. o oscilloST(): a new function to display both left and right oscillograms of a stereo sound. o rmam(): a new function to remove amplitude modulation. o rmoffset(): new function to remove offset. o simspec(): a new function that computes a similarity index between two spectra. o spectro() has a new argument (play) to listen to the sound displayed. o th(): a new function that returns the temporal entropy.

BUG FIXES o oscillo(): a small problem with y-axis ticks was fixed. o spec(): correction of a bug in the argument PMF.

OTHER CHANGES o diffspec(): slightly changed, now data are required as PMF spectra. This allows better difference estimation. o fonctions utilisant plot(), type ="l" par defaut o noise(): runif remplace rnorm o No more need to specify f if wave is Sample object

    CHANGES IN SEEWAVE VERSION 1.4.2 [20-Feb-2007]

NEW FEATURES o coh(): a new function that returns spectral coherence. o ccoh(): a new function that returns continuous spectral coherence. o spectro() have three new arguments: ~ tlim: a new argument that changes the time X-axis limits (horizontal zoom), ~ flim: a new argument that changes the frequency Y-axis limits (vertical zoom), ~ flimd: a new argument that changes the axis limits but also the parameters of the FFT analysis (wl and ovlp) to maintain a good time/frequency resolution.

BUG FIXES o contour plot problem solved

    CHANGES IN SEEWAVE VERSION 1.4.1 [05-Jan-2007]

NEW FEATURES o afilter(): a new function to filter in relation to an amplitude threshold. o csh(): a new function to track spectral entropy along time. o diffspec(): a new function to assess spectral differecen. o ffilter(): a new function for frequency filtering based on FFT. o ftwindow(): a new function that generates different Fourier transform windows. o lfs(): a new function that applies a linear frequency shift. o meanspec() has a new argument (PMF) to return the results as a probability mass function. o oscillo() has two new arguments (xaxt, yaxt) regarding axes. o pulse(): a new function that generates a rectangle pulse. o savewav(): a new function to directly export data as .wav file. o spec() has a new argument (PMF) to return the results as a probability mass function. o spectro() has a new argument (scalecexlab). The layout when osc=T is modified, the oscillogram joining now the spectrogram. o sh(): a new function to compute spectral entropy. o synth() has a new argument (play) to listen to the new file o covspectro(), dfreq(),meanspec(),spec(),spectro(),spectro3D() have a new argument (wn) that allows to choose a Fourtier transform window. See the new function ftwindow().

BUG FIXES o corspec(): x et y remplaces par spec1 et spec2, range par f o export: colnames bug resolved o oscillo(): amplitude axis limits changed such as the envelope is centered along the y-axis and multi-frame plots are calibrated.

OTHER CHANGES

o mono (or first channel of stereo) .wav files can be now analysed thanks to loadSample (package sound).
o wl = 512 is the default value for all spectral functions.



    CHANGES IN SEEWAVE VERSION 1.3 [9-Oct-2006]

NEW FEATURES o rev.gray.colors.1(): a new gray palette. o rev.gray.colors.2(): a new gray palette.

OTHER CHANGES o export(): by default the name of the file to be exported is now the name of the object.

    CHANGES IN SEEWAVE VERSION 1.2 [13-Jun-2006]

NEW FEATURES o delete(): a new function to delete a part of a time wave. o export(): a new function to export sound a a .txt file. o noise(): a new function to generate noise.

BUG FIXES o dBscale(): the black line appears on the axis when side=4. o spectro(): amplitude label of the oscillo aligned with frequency label of the spectro. A small frequency shift was also fixed.

    CHANGES IN SEEWAVE VERSION 1.1 [20-Apr-2006]

BUG FIXES o dBscale(): the scale can be now plotted horizontally. o oscillo(): the argument "labels" has been added, outer margins modified to fit with bmp(),png() and jpeg(). o spectro(): oscillogram left aligned with spectrogram.

OTHER CHANGES o rev.gray.colors(): "agamma" value decreased from 2.2 to 1.7 to enhance contrast.

    RELEASE OF SEEWAVE VERSION 1.0 [10-March-2006]

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("seewave")

2.0.5 by Jerome Sueur, a year ago


http://rug.mnhn.fr/seewave


Browse source code at https://github.com/cran/seewave


Authors: Jerome Sueur <sueur@mnhn.fr> [cre, au], Thierry Aubin [au], Caroline Simonis [au], Laurent Lellouch [main ctrb], Ethan C. Brown [ctrb], Marion Depraetere [ctrb], Camille Desjonqueres [ctrb], Francois Fabianek [ctrb], Amandine Gasc [ctrb], Stefanie LaZerte [ctrb], Jonathan Lees [ctrb], Jean Marchal [ctrb], Sandrine Pavoine [ctrb], Alicia Stotz [ctrb], Luis J. Villanueva-Rivera [ctrb], Zev Ross [ctrb], Carl G. Witthoft [ctrb], Hristo Zhivomirov [ctrb].


Documentation:   PDF Manual  


GPL (>= 2) license


Imports graphics, grDevices, stats, utils, tuneR

Suggests audio, fftw, ggplot2, rgl, rpanel, signal

System requirements: LIBSNDFILE


Imported by AcousticNDLCodeR, soundecology, soundgen.

Depended on by karaoke, musicNMR, warbleR.


See at CRAN