NEWS
seewave 2.2.3 (2023-10-19)
NEW FUNCTION
- scd(): a new argument, 'flim', to draw soundscape chord diagrams over a specified frequency range.
- audiomoth(), lts() : a bug fixed.
seewave 2.2.2 (2023-10-01)
NEW FUNCTION
- scd(): a new function to draw soundscape chord diagrams.
seewave 2.2.1 (2023-07-16)
NEW FUNCTIONS
- oscilloEQ(): a new oscillogram plot to display a panel of oscillograms corresponding to a bank a frequency filters.
- wav2dBSPL(): a new function to compute the dB SPL of a wave object. By Sylvain Haupert.
- wav2leq(): a new function to compute the dB leq value of a wave object. By Sylvain Haupert.
OTHER CHANGES
- audiomoth(), lts(): the functions can now handle "YYYYMMDD_HHMMSS.wav" actual format of audiomoth devices.
- spectro3D(): code update to follow rgl changes. By Duncan Murdoch.
- TFSD(): a bug fixed in the computation of the index. By Pierre Aumond.
seewave 2.2.0 (2022-03-04)
OTHER CHANGES
- Author formating in DESCRIPTION file as resquested by CRAN.
- timer(): bugs fixed when multiple transitions signal-silence transitions at the start of an audio fragment. Fixed by Yannick Jadoul.
seewave 2.1.8 (2021-07-14)
OTHER CHANGES
- TFSD(): a new function to compute the normalized Time and Frequency Second Derivative as described by Aumond et al. (2017). By Pierre Aumond and Guillaume Corbeau.
- specprop(): a correction regarding the frequency limits.
- spectro(): the argument 'noisereduction' now takes a value of 1 or 2 for applying the noise reduction according to the rows (1) or columns (2) of the spectrogram. Inspired by Sylvain Haupert.
- spectro(): the argument 'cexaxis' now works when 'scale=TRUE' and 'osc=FALSE'.
- spectro() and all functions based on the Fourier transform: 'gaussian' and 'bartlett' window asymetry fixed when n is even. By Andrey Anikin.
- timer(): a correction when the sounds ends with a signal section. By Yannick Jadoul and Marianna Anichini.
- timer(): a bug fixed regarding the first element detected is short than 'dmin'. By Yannick Jadoul.
- wf(): faster display. By Maria A. Wis.
seewave 2.1.6 (2020-05-28)
NEW FUNCTIONS
- audiomoth(): a new function to decode time information encoded in Audiomoth .wav files.
- audiomoth.rename(): a new function to rename Audiomoth .wav files in a readable format.
- beep(): a new function to produce a simple beep to alert for the end of a process, for instance.
- gammatone(): a new function to generate gammatone filters in the time domain (impulse response).
- read.audacity(): a new function to read Audacity time or time*frequency markers.
- specflux(): a new function to compute spectral flux.
- write.audacity(): a new function to write Audacity time or time*frequency markers.
OTHER CHANGES
- cutw() and all functions using time limits: more accurate cutting. Thanks to David Savage.
- lts(): can now manage corrupted files (skip them and return NA values).
- lts(): a new argument, 'recorder', to manage the recorder used to generate the audio files.
- lts(): a new argument, 'rmoffset', to remove potential DC offset.
- spectro(), spectro3D(): a new argument, 'noisereduction', to apply a noise reduction filter on the spectrogram (image).
- spectro() and all functions based on the Fourier transform: the argument 'ftwindow' can now take the value 'gaussian' for gaussian shape Fourier window. By Andrey Anikin.
seewave 2.1.5 (2019-12-06)
OTHER CHANGES
- lts(): a new argument 'FUN' to control how successive frequency spectra are computed, by default 'mean' for a mean spectrum.
- An update of class(matrix) requested by CRAN checks.
seewave 2.1.4 (2019-07-29)
NEW FUNCTION
- songmeterdiag(): diagnostics of .wav files as generated by SongMeter devices.
OTHER CHANGES
- ACI(): a small bug in a condition fixed.
- ACI(), acoustat(), addsilw(), afilter(), ama(), autoc(), bwfilter(), ccoh(), ceps(), cesptro(), combfilter(), corenv(), covspectro(), crest(), cutw(), deletew(), dfreq(), diffenv(), diffwave(), drawenv(), duration(), dynoscillo(), dynspec(), dynspectro(), echo(), env(), export(), fadew(), ffilter(), fir(), fma(), fund(), H(), hilbert(), ifreq(), lfs(), M(), meanspec(), mutew(), oscillo(), pastew(), phaseplot(), phaseplot2(), preemphasis(), repw(), revw(), resamp(), rmam(), rmoffset(), rmnoise(), savewav(), setenv(), smoothw(), soundscapespec(),spec(), spectro(), timer(), TKEO(), wf(), zapsilw(), zc(), zcr() : a new argument 'channel' to specify the channel(s) to process.
- AR(): can now handle .WAV file. Thanks to Jeremy Martel.
- listen(): argument 'channel' fixed.
- lts(): the argument 'dir' now also accepts a character vector with file names included in a directory.
seewave 2.1.3 (2019-03-30)
NEW FUNCTION
- lts(): long-term spectrogram, a function to produce a spectrogram over several survey files (obtained with a Wildlife Acoustics SongMeter recorder).
OTHER CHANGES
- dBweight(): returns now the ITU-R 468 noise weighting. Added by Andrey Anikin.
- dynspec(), meanspec(), spec(), spectro(), spectro3D(), wf(): the argument 'dB' can now take the value 'ITU' for the the ITU-R 468 noise weighting. Added by Andrey Anikin.
- env(), timer(): a new argument 'asmooth' for a smooth based on autocorrelation. By Thibaut Marin-Cudraz.
- ffilter(): a bug fixed when 'wave' is not a Wave object and when 'rescale=TRUE'
- listen(): a new argument, 'channel', to choose the channel to listen to.
- NDSI(): a new argument, 'max', to compute the maximum, rather than the sum, of the biophony frequency band. Thanks to Stuart Gage.
- sox(): improved by Andre Mikulec for a better OS implementation, new argument 'option' and 'shQuote_type'.
- spec(): bug fixed when dB!=NULL or dB!="max0". Thanks to Andrey Anikin.
- spectro(), oscillo(), oscilloST(): a new argument 'fastdisp' (by default FALSE) to speed up the graphic display of long sounds (with more than 20,000 samples). This also increases the display of all functions that include an oscillogram. Important: this new feature should be kept to FALSE to produce high-quality figures.
- stft.ext(): a .C code change following CRAN request.
- timer(): the argument 'threshold' can now take a function so that the threshold can be defined according to the mean, median, standard deviation or any parameter describing the amplitude envelope. Thanks to Jens Piontkowski for the suggestion.
DEPRECATED & DEFUNCT
- stft.ext(): this function based on C code does not pass R CRAN check anymore.
seewave 2.1.0 (2018-03-02)
NEW FUNCTION
- dynspectro(): a new function to dynamically explore the spectrogram of a wave with a time slider. By David Pinaud.
NEW ARGUMENTS
- corenv(): a new argument 'ssmooth' for using a sum smooth on the amplitude envelope.
- dynspec(): a new argument 'tlab' to control the title of the time axis.
- fir(), ffilter(): a new argument 'rescale' to rescale the sample values of the ouput according to the sample values of the input.
- ffilter(): a new argument 'listen' to listen to the output.
- meanspec(): a new argument 'FUN' to control the mathematical function to be applied on the STFT rows. For instance, this argument could be set to 'median' to obtain a median spectrum rather than a mean spectrum.
OTHER CHANGES
- now handles the class 'sound' of the package phonTools.
- ACI(): bug regarding 'wl' fixed thanks to Del Bohnenstiehl ; bug fixed when silence occurs thanks to Morgane Papin and Amandine Gasc.
- fir(): better localisation of the cutoff frequencies.
- notefreq(): a small bug related to input fixed.
- NDSI(): a bug fiwed when anthropophony!=1. Thanks to George Zhang.
- savewav(): a new argument '...' for controlling writeWave() arguments in particular 'extensible'. Thanks to Glenn Seeholzer.
- spec(): now can handle signals of FFT window of even or odd length. Thanks to Dan Ridley-Ellis.
- stft(): renamed stdft() due to a conflit with the stft C object. Required by CRAN checks.
- timer(): a new stop error message when there is no signal/pause event to detect. Thanks to George Zhang.
seewave 2.0.5 (2016-10-13)
OTHER CHANGES
- autoc(): a bug fixed when using 'threshold'.
- drawfilter(): a bug of the axis labels fixed.
- fma(): slighty improved by trying to remove DC component.
- fund(): the default value of 'fmax' is now f/2.
- NDSI(): the argument 'anthrophony' is renamed 'anthropophony'.
- spectro(): a bug introduced in the last version regarding the display of the time axis fixed.
seewave 2.0.4 (2016-07-11)
NEW FUNCTIONS
- bwfilter(): a new function to apply a Butterworth filter, based on butter() and filtfilt() of the package signal.
- melfilterbank(): a new function to compute and display mel-filters used to compute MFCCs.
- phaseplot2(): a new function to display a time wave against a delayed version of itself (phase-phase space).
- preemphasis(): a new function to apply a speech pre-emphasis filter.
NEW ARGUMENTS
- ceps(): a new argument 'phase' to take into account the phase of the signal.
- 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.
- 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
- attenuation(): a bug introduced in the previous version is now fixed.
- cepstro(): the value $amp is transposed such that columns correspond correctly to successive cepstra.
- cutspec(): is now more accurate.
- dfreq(): a small bug regarding frequency scale fixed.
- dynspec(): a bug with the zero padding (argument 'zp') fixed. Thanks to Andrey Anikin.
- echo(): is now faster.
- env(..., envt="hil",...): is now faster.
- fir(): is now faster.
- fma(): is now faster.
- hilbert(): is now faster.
- ifreq(): is now faster.
- 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.
- rmam(): is now faster.
- SAX(): an improvement for unevenly broken segments. Thanks to Pavel Senin.
- songmeter(): now handles SM4 model.
- 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.
- spectro3D(): a bug with the zero padding (argument 'zp') fixed. Thanks to Andrey Anikin.
- 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.
- TKEO(): a mistake in the documentation regarding the exponent and lag parameters is now fixed.
- 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.
- zcr(): a mistake in the documentation regarding the definition of the sign function is now fixed.
seewave 2.0.2 (2015-07-28)
NEW FUNCTIONS
- duration(): a new function to get the duration (in s) of a time wave.
NEW ARGUMENTS
- fpeaks(): a new argument 'digits' to control the number of digits of the frequency peak labels.
OTHER CHANGES
- ffilter(): a tiny bug fixed, default value of the arguments 'from' and 'to' are now 'NULL' ('FALSE' previously).
- spectro(): the argument 'trel' now works when 'osc=TRUE'.
- synth(): the argument 'signal' accepts now 'sawtooth'.
- timer(): now works even if irrelevant values are provided for the argument 'dmin'.
- The demo now works properly.
seewave 2.0.1 (2015-07-08)
NEW FUNCTIONS
- AR(): a new function to compute the Acoustic Richness index (contribution of M. Depraetere)
- combfilter(): a new function to apply a frequency comb filter.
- drawfilter(): a new function to draw interactively the frequency response of a filter (by Laurent Lellouch).
- M(): a new function to compute the amplitude index (contribution of M. Depraetere).
- squarefilter(): a new function to generate the frequency response of a square filter (by Laurent Lellouch).
NEW ARGUMENTS
- 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.
- diffspec(), simspec(): a new argument 'title'.
- discrets(): a new argument 'plateau' to control how a plateau is encoded. By Laurent Lellouch.
- 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.
- 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.
- 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.
- oscillo(): a new argument 'nidentify' to control the number of identified points on the wave.
- simspec(): two new arguments, 'norm' and 'PMF', to scale the spectra between 0 and 1 or transform them into probability mass functions.
- timer(): a new argument 'dmin' to detect signal events above a minimum duration (time threshold).
OTHER CHANGES
- The dependency with fftw is removed. This should facilitate installation on different OSs.
- seewave now imports the base packages graphics, grDevices, stats, utils to comply with new packages check rules.
- cutspec(): a small frequency shift fixed.
- 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'.
- ks.dist(): the distance 'D' can now be computed even if the sampling frequency is not provided. By Laurent Lellouch.
- listen(): a bug regarding audioSample objects fixed.
- oscillo(): a bug regarding title fixed.
- oscilloST(): now manages stereo objects of class Wave or audioSample.
- pulse() is renamed pulsew() to avoid confusion with tuneR::pulse.
- Q(): is now faster. By Laurent Lellouch.
- '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.
- 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.
- 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'.
- synth(): the length of the arguments 'am' and 'fm' increase to 3 and 4 respectively to add a phase component. By Laurent Lellouch.
- 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
- diffspec(): the argument 'dB' is removed has the 'dB' results are not optimal.
seewave 1.7.6 (2014-09-12)
NEW FEATURES
- acoustat(): two new arguments, 'tlim' and 'flim' to control the time and frequency limits of the analysis.
- akamatsu(): a new function to compute the resonance and cut frequency in water tanks. By Camille Desjonqueres.
- diffcumspec(): a new function to compute dissimilarity between two spectra based on the cumulative distribution functions. By Laurent Lellouch.
- fund(): a new argument, 'at', to estimate the fundamental frequency at a specific position along the wave object.
- 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.
- songmeter(): a new function to read and decompose the file name produced by a SongMeter (Wildlife Acoustics (c)).
- spectro(): a new argument 'complex' to get the complex values of the STFT when plot is FALSE.
- synth(): two new arguments 'signal' to control the signal function and 'partials' to produce harmonics. By Laurent Lellouch.
OTHER CHANGES
- ffilter(), lfs(): the quality of the results have been greatly improved. A new argument 'ovlp' for setting the overlap between successive FFT windows.
- spec(): a small bug regarding the x axis when using 'from' an 'to' arguments, thanks to Arvind Sowmyan.
- wav2flac(): a patch by Luis Villanueva-Rivera to fix .exe path issues
seewave 1.7.3 (2014-01-27)
NEW FEATURES
- 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.
- 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.
- NDSI(): a new function to compute the Normalized Difference Soundscape Index as described in Kasten et al. (2003). Checked by E. Kasten.
- soundscapespec(): a new function to compute a frequency spectrum according to soundscape description as described in Kasten et al. (2012). Checked by E. Kasten.
- TKEO(): a new function to compute the Teager-Kaiser Energy Operator.
- zcr(): a new function to compute the zero-crossing rate.
OTHER CHANGES
- 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.
seewave 1.7.2 (2013-08-30)
OTHER CHANGES
- Some invisible changes with the data to comply with tuneR update (tuneR 1.0)
- Slight modification to work with different bit levels (and not only 16).
seewave 1.7.0 (2013-07-12)
NEW FEATURES
- ACI(): a new function to compute the Acoustic Complexity Index following Pieretti et al. (2011).
- ggspectro(): a new function to plot a spectrogram using ggplot2.
- playlist(): a new function to play a list of sound files.
- synth2(): a new function to synthesize sound with envelope amplitude and instantaneous frequency (tonal model).
- dfreq(): a new argument 'tlim' to set time limits.
- 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
- 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.
- 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.
- fpeaks(): a bug regarding the frequency values when using a vector as a wave object is now fixed.
- spectro(): a small bug regarding the argument 'colbg' is now fixed.
seewave 1.6.7 (2013-04-09)
OTHER CHANGES
- env(): a small bug fixed.
- stft.ext(): a slight change to pass the Mac CRAN checks (thanks to Simon Urbanek!).
- FLAC is no more required to install seewave but is needed to use wav2flac() function.
- Some other changes to pass R 3.0.0 checks.
seewave 1.6.5 (2012-12-12)
NEW FEATURES
- a new vignette named 'seewave_analysis' for a short introduction to sound analysis. This vignette is mainly written for students starting with bioacoustics.
- meandB(), moredB(): a new argument 'level' to choose between intensity level (IL) and sound pressure level(SPL).
- meanspec(), spec(), spectro() and spectro3D(): a new argument 'norm' to control the normalisation of the results.
- sddB(): a new function to estimate the standard deviation of dB values.
- 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".
- sox(): a new function to call SoX. Sox is required to use the function but not to install the package.
OTHER CHANGES
- ceps(): a bug regarding the argument 'alim' is now fixed.
- specprop(): frequency resolution is increased thanks to a patch by Jesse Ross (Cornell University)
- zc(): a new argument 'warning' to control the display of the warning message in case of interpolation.
seewave 1.6.4 (2012-06-28)
NEW FEATURES
- 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.
- timer(): a new argument, 'tlim', to change to time axis.
- savewav(): a new argument, 'rescale', to rescale the amplitude of the exported .wav file.
OTHER CHANGES
- ama(), dynspec(), spec(), meanspec(), spectro(), spectro3D(): a small shift in Fourier coefficients fixed.
- env(): computing the Hilbert envelope should be faster.
- 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).
- meanspec(): should be slightly faster.
- noisew(): the argument 'listen' now works properly.
- timer(): should be faster.
- Numerous typoes and small errors fixed in the documentation!
seewave 1.6.3 (2012-04-11)
OTHER CHANGES
- non ASCII characters removed from examples.
seewave 1.6.2 (2012-04-03)
NEW FEATURES
- logspec.dist(): a new function to compute the log-spectral distance.
- itakura.dist(): a new function to compute the Itakura-Saito distance between two spectra.
- phaseplot(): a new function to plot the first, second, and possibly third derivatives of a wave.
- smoothw(): a new function that tries to smooth a time wave.
- timer(): a new argument, 'ssmooth', to smooth the envelope.
- fund(): two new arguments, 'from' and 'to', to limit in time the search of the fundamental frequency.
- 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
- Now requires R (>= 2.15) because of an issue regarding filled.contour().
- rmam(): a small bug regarding data input fixed.
seewave 1.6.1 (2011-08-31)
NEW FEATURES
- dynoscillo(): a new function to explore dynamically a wave through an oscillographic representation.
- roughness(): a new function to compute the roughness or total curvature of a curve (a wave or a spectrum)
- 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.
- timer(): the function now returns the start and end positions of the so-called 'signal' and 'pause' bouts.
- specprop(): rewritten, much faster.
- sh(): a new argument 'alpha' to compute to the Renyi entropy of order 'alpha'.
OTHER CHANGES
- dfreq(): the argument 'threshold' and 'bandpass' can now be used in the same time.
- fpeaks(): the value is now correctly ordered following frequencies when 'nmax' is used.
- pastew() and repw(): a new argument 'join' to smooth pasting.
- 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
- specprop(): the value 'mad' has been withdrawn.
seewave 1.6.0 (2011-05-02)
NEW FEATURES
- kl.dist(): a new function to compute Kullback-Leibler distance between two spectra.
- ks.dist(): a new function to compute Kolmogorov-Smirnov distance between two spectra.
- notefreq(): a new function to compute musical note frequency.
- spectro(): a new argument 'oma' giving the size of the outer margins.
OTHER CHANGES
- ama(): a small bug regarding the argument 'f' has been fixed.
- covspectro(), csh(), dfreq(), dynspec(), ffilter(), lfs(), meanspec(), spectro(), spectro3D(), wf(): are now faster.
- dfreq(): a new argument 'bandpass' to limit the search of the dominant frequency in a specified frequency band.
- env(): is now faster when using the argument 'msmooth'
- spectro(): a small bug regarding the size of the labels have been fixed.
- th(): should be faster.
- timer(): is now much faster.
DEPRECATED & DEFUNCT
- csh(), dfreq(), dynspec(), ffilter(), lfs(), meanspec(), spectro(), spectro3D(), wf(): 'pb' argument has been deleted.
seewave 1.5.9 (2010-09-01)
NEW FEATURES
- oscillo(): a new argument 'type' for controlling the type of plot. Actually useful for no plot (type='n').
- a new argument 'pb' to display a computing progress bar has been added to functions that can take some time to process.
- 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
- 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'.
seewave 1.5.8 (2010-06-15)
NEW FEATURES
- 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.
- 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
- listen(): a bug fixed.
- 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).
- all accompanying data are now of class Wave.
seewave 1.5.7 (2010-03-15)
NEW FEATURES
- localpeaks(): a new function that splits a spectrum in bands and search for the maximum peak of each band.
- fbands(): a new function to split a spectrum in a series of bands (a kind of equalizer plot).
- fpeaks(): a new function to detect frequency peaks.
- octaves(): a new function that returns the frequency octaves of a specific note.
- rugo(): a new function to compute the 'rugosity' of a time series.
OTHER CHANGES
- ceps(): a small bug in the value return has been fixed.
DEPRECATED & DEFUNCT
- ceps(), meanspec(), spec(): the argument 'peaks' no more exists (cf. new function fpeaks()).
OTHER NEWS
- seewave has now a dedicated website: http://rug.mnhn.fr/seewave
- a discussion group has been opened: http://groups.google.fr/group/seewave
seewave 1.5.6 (2009-11-13)
NEW FEATURES
- meandB(): a new function to compute the mean of dB values.
- seedata(): a new function to get a quick look at quantitative data.
- 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).
- oscillo(): a new argument 'cexaxis' to control the magnification of axes annotation.
a new argument 'tcl' to control tick length.
- 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'.
- 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.
- wf(): a new argument 'lwd' to set line width.
OTHER CHANGES
- IMPORTANT: the package dependency has moved from sound to tuneR. This change is mainly due to problems araising during daily CRAN checks.
- 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'.
- 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.
- noise() has been renamed noisew() to avoid any conflict with the function noise() of the package tuneR.
- meanspec(): a small bug affecting the 'dB' argument has been fixed (thanks to Zev Ross!).
- specprop(): a small bug has been fixed.
- ccoh() and cepstro(): the argument 'plot.title' has been replaced by 'xlab', 'ylab' and 'main'.
- the vignette has been updated.
- A NAMESPACE has been added.
seewave 1.5.5 (2009-06-26)
NEW FEATURES
- crest(): a new function that returns the crest factor and shows crest(s).
- dBweight(): a new function that returns the common dB weights (A, B, C, D).
- meanspec() spec(), spectro(), spectro3D(), wf() : a new argument (dBref) to set a dB reference value (for instance 20 microPa for SPL).
- 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").
- spectro(), spectro3D() and wf() have a new argument (dB) to specify the dB weight to apply ("max0", "A", "B", "C", "D").
- rms(): a new function that computes the root mean square.
OTHER CHANGES
- sh(): a 0 value is now returned when the input spectrum is null i.e. including any NA or 0 values only.
- 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.
- This file (NEWS) has been added.
- The I/O vignette has been updated including the audio package.
seewave 1.5.4 (2009-03-27)
NEW FEATURES
- rmnoise(): a new function to (try to) )remove noise.
- wf(): a new function for a waterfall display.
OTHER CHANGES
- drawenv(): a small bug was fixed.
- seewave can now handle objects of class data.frame and audioSample (package audio).
- savewav() can now handle all kind of input objects.
- simspec(): a small bug was fixed.
- the I/O vignette has been updated, including the package audio.
- It is now possible to assign to a new object the value of a function when the argument 'plot' is TRUE.
seewave 1.5.1 (2008-12-17)
NEW FEATURES
- cutspec(): a new function to subset a part of a frequency spectrum.
- discrets(): a new function to transform a numeric (time) series into a sequence of symbols (letters).
- env() has a new argument (norm) to get a normalised envelope.
- export() a new argument (header) to specify the header of the exported file.
- fma(): a new function for the analysis of frequency modulation.
- micsens(): a new fonction for the conversion of microphone sensitivity (mV/Pa <=> dB re mV/Pa).
- noise() has a new argument (type) to choose between uniform and gaussian noise.
- specprop() has a new argument (flim) to specify the limits of the analysis.
- symba(): a new function that proceeds a symbolic analysis of a numeric (time) series.
OTHER CHANGES
- seewave can now handle objects of class ts, mts and Wave (package tuneR).
- There is now a vignette detailing how to import and export sound with R.
seewave 1.5.0 (2008-09-26)
NEW FEATURES
- drawenv(): a new function to modify the amplitude envelope interactively with the graphic device.
- ffilter() has a new argument (custom) )to customize the frequency response of the filter.
- revw() has a new argument (ifreq) to reverse independently the amplitude envelope and the instantaneous frequency.
- wav2flac(): a new function to convert .wav files into .flac files. This requires the external software flac to be installed.
OTHER CHANGES
- dfreq(): a small bug was fixed.
seewave 1.4.8 (2008-04-14)
NEW FEATURES
- env(): a new function that returns absolute or Hilbert amplitude envelope. Smoothing can be achieved with either an mean sliding window or kernel objects.
- hilbert(): a new function that returns the analytical signal through Hilbert transform.
- ifreq(): a new function that returns the instantaneous frequency and phase through Hilbert transform.
- rmam(): a new function that removes amplitude modulations.
- spectro(): when zooming in time a new argument (trel) can be set to get relative or absolute X-time axis.
- temp.colors(): a new color palette for 2D plots (like spectro()). Follows temperature colors.
- addsilw(), cutw(), deletew(), mutew(), pastew() have a new argument (choose) that allows graphical wave selection.
- ama(), corenv(), diffenv(), diffwave(), dynspec(), H(), setenv() have arguments (envt, msmooth, ksmooth) to set envelope type (absolute/Hilbert) and envelope smoothing (mean/kernel).
OTHER CHANGES
- 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...).
- oscilloST(): arguments 'env', 'smooth', 'ksmooth' have been removed.
- oscillo(): the arguments regarding amplitude envelope have been withdrawn (env, smooth, ksmooth). A new function dedicated to envelope computation only (env()) is now available.
- zapsilw(): both original and modified waves are now plotted when plot=TRUE.
seewave 1.4.7 (2008-02-25)
NEW FEATURES
- noise(): a new argument (listen) to play back the noise generated.
- oscillo(): a new argument (scroll) can be used to move along the time wave.
- repw(): a new function that repeats a time wave.
- setenv(): a new function that sets the enveloppe of a time wave to another one.
OTHER CHANGES
- export(): a small bug regarding filename by default was fixed.
- listen(): it is now possible to change de sampling frequency when the wave is a Sample object.
- spectro3D() is faster.
seewave 1.4.6 (2008-01-16)
NEW FEATURES
- dynspec(): a new function that dynamically plots a sliding spectrum along the signal.
- echo(): a new function that generates echoes of a time wave
- fadew(): a new function to apply a fade in and/or a fade out to a time wave
- fdoppler(): a new function that computes the altered frequency of a moving source due to Doppler effect
- ccoh(), cepstro(), spectro() have a new argument (colbg) to set the color of the background.
BUG FIXES
- 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.
- sfm(): a small bug was fixed.
DEPRECATED & DEFUNCT
- alauda data has been withdrawn.
OTHER CHANGES
- 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.
- seewave size has been significantly reduced. This increases opening speed.
- mute() has been turned to mutew().
seewave 1.4.5 (2007-11-19)
NEW FEATURES
- sfm(): a new function to estimate spectral flatness (noisiness)
- wasp(): a new function to estimate both wavelength and speed of sound in different media
- field(): a new function to help knowing in which near or far field you microphone is
- specprop(): a new function that returns a list of 15 spectral statistics
- zapsilw(): a new function that zaps silence periods of a time wave
OTHER CHANGES
- fir(): now works properly (!).
seewave 1.4.4 (2007-10-19)
NEW FEATURES
- cepstro(): new function that processes a short-term cepstral analysis
- fund(): new function that processes a cepstral analysis along the signal allowing to track the fundamental frequency.
- playw(): new function that play sound either it is a matrix, a data.frame or a Sample object.
- revw(): new function for time-reverse
- synth(): a new argument (shape) to change the overall shape of the wave
OTHER CHANGES
- export(): overclipping extension filename problems fixed.
- noise(): offset bug fixed.
- savewav(): overclipping problem fixed.
- suggested libraries (sound and rgl) are now automatically loaded when calling seewave.
- an argument Sample has been added to all editing functions. This allows to return values as Sample objects.
- spec() and meanspec(): both coordinates (frequency and amplitude) of the chosen points are now returned when using the argument identify.
- 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.
- cutw(): the cut wave is now normalised between -1 and 1.
seewave 1.4.3 (2007-07-19)
NEW FEATURES
- addsilw(): a new function to insert a silence section.
- ceps(): a new function that returns the cepstrum for fundamental frequency detection.
- diffenv(): a new function that allows to estimate similarity between envelopes of the same duration.
- diffwave(): a new function that estimates the difference between two waves.
- fir(): a new filter function (Finite Impulse Response).
- H(): a ew function to compute total (spectral and temporal) entropy.
- mel(): a new function for Hz/Mel conversion.
- oscillo() has a new argument (ksmooth) for kernell smoothing.
- oscilloST(): a new function to display both left and right oscillograms of a stereo sound.
- rmam(): a new function to remove amplitude modulation.
- rmoffset(): new function to remove offset.
- simspec(): a new function that computes a similarity index between two spectra.
- spectro() has a new argument (play) to listen to the sound displayed.
- th(): a new function that returns the temporal entropy.
OTHER CHANGES
- diffspec(): slightly changed, now data are required as PMF spectra. This allows better difference estimation.
- fonctions utilisant plot(), type ="l" par defaut
- noise(): runif remplace rnorm
- oscillo(): a small problem with y-axis ticks was fixed.
- spec(): correction of a bug in the argument PMF.
- No more need to specify f if wave is Sample object
seewave 1.4.2 (2007-02-19)
NEW FEATURES
- coh(): a new function that returns spectral coherence.
- ccoh(): a new function that returns continuous spectral coherence.
- 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.
OTHER CHANGES
- contour plot problem solved
seewave 1.4.1 (2007-01-02)
NEW FEATURES
- afilter(): a new function to filter in relation to an amplitude threshold.
- csh(): a new function to track spectral entropy along time.
- diffspec(): a new function to assess spectral differecen.
- ffilter(): a new function for frequency filtering based on FFT.
- ftwindow(): a new function that generates different Fourier transform windows.
- lfs(): a new function that applies a linear frequency shift.
- meanspec() has a new argument (PMF) to return the results as a probability mass function.
- oscillo() has two new arguments (xaxt, yaxt) regarding axes.
- pulse(): a new function that generates a rectangle pulse.
- savewav(): a new function to directly export data as .wav file.
- spec() has a new argument (PMF) to return the results as a probability mass function.
- spectro() has a new argument (scalecexlab). The layout when osc=T is modified, the oscillogram joining now the spectrogram.
- sh(): a new function to compute spectral entropy.
- synth() has a new argument (play) to listen to the new file
- covspectro(), dfreq(),meanspec(),spec(),spectro(),spectro3D() have a new argument (wn) that allows to choose a Fourtier transform window. See the new function ftwindow().
OTHER CHANGES
- corspec(): x et y remplaces par spec1 et spec2, range par f
- export: colnames bug resolved
- oscillo(): amplitude axis limits changed such as the envelope is centered along the y-axis and multi-frame plots are calibrated.
- mono (or first channel of stereo) .wav files can be now analysed thanks to loadSample (package sound).
- wl = 512 is the default value for all spectral functions.
seewave 1.3 (2006-10-07)
NEW FEATURES
- rev.gray.colors.1(): a new gray palette.
- rev.gray.colors.2(): a new gray palette.
OTHER CHANGES
- export(): by default the name of the file to be exported is now the name of the object.
seewave 1.2 (2006-06-12)
NEW FEATURES
- delete(): a new function to delete a part of a time wave.
- export(): a new function to export sound a a .txt file.
- noise(): a new function to generate noise.
OTHER CHANGES
- dBscale(): the black line appears on the axis when side=4.
- spectro(): amplitude label of the oscillo aligned with frequency label of the spectro. A small frequency shift was also fixed.
seewave 1.1 (2006-04-20)
OTHER CHANGES
- dBscale(): the scale can be now plotted horizontally.
- oscillo(): the argument "labels" has been added, outer margins modified to fit with bmp(),png() and jpeg().
- spectro(): oscillogram left aligned with spectrogram.
- rev.gray.colors(): "agamma" value decreased from 2.2 to 1.7 to enhance contrast.
RELEASE OF SEEWAVE VERSION 1.0 [10-March-2006]