Namespace AudioAnalysisTools
Classes
AcousticComplexityIndex
AcousticEntropy
AcousticEvent
AcousticEvent.AcousticEventClassMap
ActivityAndCover
AnalysisKeys
BirdClefExperiment1
This class is experimental work on the Bird50 dataset provided by Herve Glotin. The work was started in Toulon (February 2016) and continued after my return in March 2016. The bird50 dataset is a randomly selected subset of the 2014 BirdClef 500 data set. The 2014 competition was won by Dan Stowell (QMUL). The 2015 competition containing 999 bird call recordings was won by Mario Lessek (Berlin)
This class prepares species representations of bird calls by summing or averaging the instance representations. The representation consists of the concatenation of a set of spectra. There are currently five spectra derived from the spectra indices: SPT, RHZ, RVT, RPS and RNG. Each spectrum can be reduced from 256 values to say 160 by max pooling the top end of the spctrum. NOTE: MEL-scale DOES NOT work for birds because the dominant activity for birds is around 2-4 kHz. The MEL-scale effectively obliterates this band of the spectrum.
BirdClefExperiment1.Arguments
AT: NOTE: arguments classes should not exist outside of the AnalysisPrograms project. I had to remove PowerArgs attributes.
BirdClefExperiment1.Output
BlobEvent
An acoustic event that also includes data about the content identified by the event.
ChannelIntegrity
ChannelIntegrity.Arguments
ChannelIntegrityIndices
ChirpEvent
ClickEvent
ClusterInfo
ConfigKeys
Defined string constants for keys in config tables.
CrossCorrelation
This class contains two methods that could eventually be deleted. The methods are only called by call recognizers that have not been maintained in a long time.
EndpointDetectionConfiguration
SETS PARAMETERS CONCERNING ENERGY, END-POINT DETECTION AND SEGMENTATION.
FindMatchingEvents
FrommoltProject
HarmonicAnalysis
HarmonicEvent
MfccConfiguration
CEPSTROGRAM - PARAMETERs.
OscillationEvent
Oscillations2010
Oscillations2012
NOTE: 21st June 2012.
This class contains methods to detect oscillations in a the sonogram of an audio signal. The method Execute() returns all info about oscillations in the passed sonogram. This method should be called in preference to those in the class OscillationAnalysis. (The latter should be deprecated.)
Oscillations2014
This is the latest of three implementations to detect oscillations in a spectrogram. This implementation is generic, that is, it attempts to find any and all oscillations in each of the frequency bins of a short duration spectorgram.
There are three versions of the generic algorithm implemented in three different methods:
- uses auto-correlation, then FFT
- uses auto-correlation, then singular value decomposition, then FFT
- uses wavelets
I gave up on wavelets after some time. Might work with persistence! Singular value decomposition is used as a filter to select the dominant oscillations in the audio segment against noise.
The Oscillations2012 class uses the DCT to find oscillations. It works well when the sought oscillation rate is known and the DCT can be tuned to find it. It works well, for example, to find canetoad calls. However it did not easily extend to finding generic oscillations.
Oscillations2014 therefore complements the Oscillations2012 class but does not replace it.
Oscillations2014.FreqVsOscillationsResult
In line class used to return results from the static method Oscillations2014.GetFreqVsOscillationsDataAndImage().
Oscillations2019
NOTE: 26th October 2019.
This class contains methods to detect oscillations in a the spectrogram of an audio signal. The method Execute() returns all info about oscillations in the passed spectrogram.
PointOfInterest
The point of interest.
ResultsTools
RidgeDetection
RidgeDetection.RidgeDetectionConfiguration
SiteDescription
SpectralActivity
SpectralCentroid
Calculates the spectral centroid of a spectrum, or a recording segment. The spectral centroid is a considred to be a reliable estimate of the brightness of a recording. Bright recordings contain more high frequency content. It is included here as a summary index because it was found to be correlated with degree of "naturalness" of a bush soundscape. See recent papers from Sussex University (Alice Eldridge and colleagues) (1) Eldridge, Alice and Guyot, Patrice and Moscoso, Paola and Johnston, Alison and Eyre-Walker, Ying and Peck, Mika "Sounding out ecoacoustic metrics: Avian species richness is predicted by acoustic indices in temperate but not tropical habitats." (2018) Ecological Indicators, 95 (1). 939-952. ISSN 1470-160X (2) Carruthers-Jones, Jonathan, Eldridge, Alice, Guyot, Patrice, Hassal, Christopher and Holmes, George "The call of the wild: investigating the potential for ecoacoustic methods in mapping wilderness areas." (2019) Science of The Total Environment, 695. p. 133797. ISSN 0048-9697
See following for good intro to calculating the Spectral Centroid: https://www.cs.cmu.edu/~music/icm/slides/05-algorithmic-composition.pdf Also Wikipedia entry: https://en.wikipedia.org/wiki/Spectral_centroid The spectral centroid is derived from the values in the AMPLITUDE spectrogram. A single spectral centroid is calculated for each time frame. If a summary value is required for a longer signal, i.e. one second or one minute, then the centroid values for each frame are averaged over the time period. Note that the frequency value for a bin is located at the centre of the bin. For a typical bin width of 43 Hz, the centre will be at 21.5 Hz above bin minimum. The steps in the calculation are: 1: Normalise the spectrum: normalized_spectrum = spectrum / sum(spectrum) # like a probability mass function 2: Normalise the frequency values in [0,1], where the nyquist freq = 1.0. 3: spectral_centroid = sum(normalized_frequencies* normalized_spectrum) Note: When calculated this way the Spectral centroid is a ratio. Multiply this value by the Nyquist (maximum frequency) to get the centroid in Hertz.
SpectralClustering
SpectralPeakTracking2018
This class contain the pure algorithm that finds spectral peak tracks from a db spectrogram and settings.
SpectralPeakTracking2018.Output
SpectralPeakTrackingSettings
SpectralPeakTracks
Finds and stores info about spectral peak tracks ie whistles and chirps in the passed spectrogram.
SprTools
SummaryActivity
a set of indices to describe level of acoustic activity and number of acoustic events in recording. Location of acoustic events also called segmentation in some literature.
SunAndMoon
SunAndMoon.SunMoonTides
SURFFeatures
TemporalEvent
TowseySignalToImage
Mike Towsey's implementation.
UnitConverters
WebSignalToImage
Signal to Image used by web site.
WhipEvent
WhistleEvent
Structs
ConfigKeys.EndpointDetection
ConfigKeys.ImageSave
ConfigKeys.Mfcc
ConfigKeys.Recording
ConfigKeys.Sonogram
ConfigKeys.Windowing
SpectralClustering.ClusteringParameters
SpectralClustering.TrainingDataInfo
Interfaces
IPointData
ISignalToImage
Interface for converting signal represented by bytes into an image.