• Introduction
  • Theory
  • Guides
  • Tutorials
  • FAQ
  • Articles
  • Documentation
  • PDF
Search Results for

    Show / Hide Table of Contents
    • Changelog
    • Contributing
    • Code paths
    • Debugging
    • Code of conduct
    • Commands
      • Help
      • Analyze Long Recording
      • False Colour Spectrograms
      • Concatenate Index Files
    • Config files
      • GenericRecognizerConfig
      • CommonParameters
      • OscillationParameters
      • HarmonicParameters
      • PostProcessingConfig
      • AnalyzerConfig
    • API
      • Acoustics.Shared
        • AnalysisIo
        • AnalysisIoInputDirectory
        • AppConfigHelper
        • Base58
        • Binary
        • ByteCountFormatter
        • DateTimeFormatter
        • FileDateHelpers
        • FilenameHelpers
        • ImageChrome
        • Interval<T>
        • IntervalExtensions
        • InvalidDataSetException
        • InvalidFileDateException
        • IOrderer<TOrder>
        • Json
        • Json.IntervalConverter
        • Json.LegacyTimeSpanDataConverter
        • MediaTypeExtGroup
        • MediaTypeGroup
        • MediaTypes
        • Meta
        • MultiException
        • NonClosingStreamWrapper
        • OrderCoordinator<T>
        • Orderer<TOrder, TOrderProperty>
        • PathDiagnostics
        • PathDiagnostics.PathDiffReport
        • PathUtils
        • Plugins
        • ProcessRunner
        • ProcessRunner.ProcessMaximumRetriesException
        • SortDirection
        • SpectrogramType
        • SunTimes
        • SunTimes.Coords
        • SunTimes.LatitudeCoords
        • SunTimes.LatitudeCoords.Direction
        • SunTimes.LongitudeCoords
        • SunTimes.LongitudeCoords.Direction
        • TempFileHelper
        • TimeSpanFormatter
        • Topology
        • TwoDimensionalArray
        • Validation
        • ValidationExtensions
        • Yaml
        • YamlTypeTagAttribute
      • Acoustics.Shared.ColorScales
        • ColorBrewer
        • ColorBrewer.DivergingPalettes
        • ColorBrewer.QualitativePalettes
        • ColorBrewer.SequentialMultipleHuesPalettes
        • ColorBrewer.SequentialSingleHuePalettes
        • Palette
        • Type
      • Acoustics.Shared.ConfigFile
        • Config
        • ConfigFile
        • ConfigFileException
        • ConfigFileExtensions
        • ConfigSerializeContractResolver
        • IConfig
        • INamedProfiles<T>
        • IProfiles<T>
      • Acoustics.Shared.Contracts
        • Contract
      • Acoustics.Shared.Csv
        • Csv
        • CsvIntervalConverter
        • CsvSetPointConverter
        • TopologyEnumConverter
      • Acoustics.Shared.Extensions
        • CartesianExtension
        • RandomExtensions
      • Acoustics.Shared.ImageSharp
        • DeltaImageProcessor<TPixelBg, TPixelFg>
        • DeltaImageProcessor<TPixelFg>
        • DeltaPixelBlender<TPixel>
        • Drawing
        • Drawing.NoAA
        • IInterval2<TX, TY>
        • RotateFlipType
      • Acoustics.Shared.Logging
        • Log4NetTextWriter
        • Log4NetTextWriter.Mode
        • Logging
      • Acoustics.Tools
        • AudioFilePreparer
        • AudioReadingRequest
        • AudioUtilityInfo
        • AudioUtilityModifiedInfo
        • AudioUtilityRequest
        • BandPassType
        • SpectrogramRequest
      • Acoustics.Tools.Audio
        • AbstractAudioUtility
        • AbstractSpectrogramUtility
        • AbstractUtility
        • AudioFormatNotSupportedException
        • AudioUtilityException
        • BitDepthOperationNotImplemented
        • ChannelNotAvailableException
        • ChannelSelectionOperationNotImplemented
        • CustomSpectrogramUtility
        • FfmpegAudioUtility
        • FfmpegRawPcmAudioUtility
        • IAudioUtility
        • ISpectrogramUtility
        • MasterAudioUtility
        • Mp3SpltAudioUtility
        • Mp3SpltAudioUtility.SplitFileInfo
        • ShntoolAudioUtility
        • SoxAudioUtility
        • SoxAudioUtility.SoxResampleQuality
        • SoxSpectrogramUtility
        • WavPackAudioUtility
      • Acoustics.Tools.Wav
        • IWavReader
        • WavAudioInfo
        • WavChunk
        • WavReader
        • WavReader.WaveFormat
        • WavStreamReader
        • WavUtils
      • AcousticWorkbench
        • AcousticEventService
        • AcousticWorkbenchResponse<T>
        • Api
        • AudioRecordingService
        • AuthenticatedApi
        • AuthenticationService
        • AuthenticationService.EmailLoginRequest
        • AuthenticationService.LoginRequest
        • AuthenticationService.LoginResponse
        • Error
        • IApi
        • IAuthenticatedApi
        • MediaService
        • Meta
        • Service
        • Service.HttpResponseException
        • UrlGenerator
      • AcousticWorkbench.Models
        • AudioEvent
        • AudioRecording
        • Available
        • CommonParameters
        • FormatInfo
        • ImageFormatInfo
        • Media
        • Recording
        • Tagging
      • AForge.Imaging.Filters
        • BaseUsingCopyPartialFilter
        • CannyEdgeDetector
      • AnalysisBase
        • AbstractStrongAnalyser
        • AnalysisCoordinator
        • AnalysisResult
        • AnalysisResult2
        • AnalysisSettings
        • AnalyzerConfig
        • AudioRecordingTooShortException
        • Author
        • Bibliography
        • Citation
        • FileSegment
        • FileSegment.FileDateBehavior
        • IAnalyser2
        • ICiteable
        • IHasStatus
        • ISourcePreparer
        • SaveBehavior
        • SaveBehaviorExtensions
        • SegmentSettings<TSegment>
        • SegmentSettingsBase
        • SegmentSplitException
        • Status
        • TimeAlignment
      • AnalysisBase.Extensions
        • ModifiedInfoExtensions
      • AnalysisBase.ResultBases
        • EventBase
        • EventIndex
        • ITemporalEvent
        • ResultBase
        • SpectralIndexBase
        • SummaryIndexBase
      • AnalysisBase.Segment
        • InvalidSegmentException
        • ISegment<TSource>
        • SourceMetadata
      • AnalysisPrograms
        • AcousticIndices
        • AcousticIndices.AcousticIndicesConfig
        • Aed
        • Aed.AedConfiguration
        • Aed.Arguments
        • AnalysesAvailable
        • Audio2InputForConvCnn
        • Audio2InputForConvCnn.Arguments
        • Audio2InputForConvCnn.AudioToSonogramResult
        • Audio2InputForConvCnn.CsvDataRecord
        • Audio2InputForConvCnn.SpeciesCounts
        • AudioCutter
        • AudioCutter.Arguments
        • AudioFileCheck
        • AudioFileCheck.Arguments
        • BuildMetadata
        • ChannelIntegrityAnalyzer
        • CheckEnvironment
        • CheckEnvironment.Arguments
        • ConcatenateIndexFiles
        • ConcatenateIndexFiles.Arguments
        • Create4Sonograms
        • Create4Sonograms.Arguments
        • Crow
        • DifferenceSpectrogram
        • DifferenceSpectrogram.Arguments
        • DrawEasyImage
        • DrawEasyImage.Arguments
        • DrawLongDurationSpectrograms
        • DrawLongDurationSpectrograms.Arguments
        • DrawSummaryIndexTracks
        • DrawSummaryIndexTracks.Arguments
        • DummyAnalysis
        • DummyAnalysis.Arguments
        • EPR
        • EPR.Arguments
        • FileRenamer
        • FileRenamer.Arguments
        • GroundParrotRecogniser
        • GroundParrotRecogniser.Arguments
        • Human1
        • KoalaMale
        • KoalaMale.KoalaMaleResults
        • LSKiwi3
        • LSKiwi3.Arguments
        • LSKiwiHelper
        • LSKiwiROC
        • LSKiwiROC.Arguments
        • MahnooshSandpit
        • MahnooshSandpit.Arguments
        • MainEntry
        • OscillationRecogniser
        • OscillationRecogniser.Arguments
        • OscillationsGeneric
        • OscillationsGeneric.Arguments
        • PlanesTrainsAndAutomobiles
        • PreprocessorForConvDnn
        • PreprocessorForSurfAnalysis
        • RheobatrachusSilus
        • Sandpit
        • Sandpit.Arguments
        • Segment
        • Segment.Arguments
        • SnrAnalysis
        • SnrAnalysis.Arguments
        • SpeciesAccumulationCurve
        • SpeciesAccumulationCurve.Arguments
        • SpeciesAccumulationStats
        • SPT
        • SPT.Arguments
        • SurfAnalysis
        • SurfAnalysis.Arguments
        • SurfAnalysis.AudioToSonogramResult
        • SurfAnalysis.CsvDataRecord
        • SurfAnalysis.SpeciesCounts
      • AnalysisPrograms.AcousticWorkbench.Orchestration
        • EventMetadataResolver
        • RemoteSegment
        • RemoteSegmentWithData
      • AnalysisPrograms.AnalyseLongRecordings
        • AnalyseLongRecording
        • AnalyseLongRecording.Arguments
      • AnalysisPrograms.ContentDescription
        • BuildModel
        • BuildModel.Arguments
        • UseModel
        • UseModel.CdConfig
      • AnalysisPrograms.Draw.RibbonPlots
        • RibbonPlot
        • RibbonPlot.Arguments
      • AnalysisPrograms.Draw.Zooming
        • DrawZoomingSpectrograms
        • DrawZoomingSpectrograms.Arguments
        • DrawZoomingSpectrograms.Arguments.ZoomActionType
      • AnalysisPrograms.EventStatistics
        • EventStatisticsAnalysis
        • EventStatisticsEntry
        • EventStatisticsEntry.Arguments
        • ImportedEvent
        • ImportedEvent.ImportedEventNameClassMap
      • AnalysisPrograms.Production
        • AnalysisOptionDevilException
        • CommandLineApplicationExtensions
        • CommandLineArgumentException
        • CustomHelpTextGenerator
        • ExceptionLookup
        • ExceptionLookup.ExceptionStyle
        • FileSystemProvider
        • FileSystemProvider.Options
        • InvalidAudioChannelException
        • InvalidDurationException
        • InvalidStartOrEndException
        • MissingDataException
        • NoDeveloperMethodException
        • PhysicalConsoleLogger
      • AnalysisPrograms.Production.Arguments
        • AnalyserArguments
        • DebugOptions
        • HelpArgs
        • ListArgs
        • LogVerbosity
        • MainArgs
        • SourceAndConfigArguments
        • SourceArguments
        • SourceConfigOutputDirArguments
        • SubCommandBase
      • AnalysisPrograms.Production.Parsers
        • DateTimeOffsetParser
        • DirectoryInfoParser
        • FileInfoParser
        • TimeSpanParser
      • AnalysisPrograms.Production.Validation
        • DirectoryExistsOrCreateAttribute
        • ExistingFileAttribute
        • InRangeAttribute
        • NotExistingFileAttribute
        • OneOfThese
      • AnalysisPrograms.Recognizers
        • GenericRecognizer
        • GenericRecognizer.GenericRecognizerConfig
        • NinoxStrenua
        • NinoxStrenua.NinoxStrenuaConfig
        • PetaurusAustralis
        • PetaurusAustralis.PetaurusAustralisConfig
        • PetaurusBreviceps
        • PetaurusBreviceps.PetaurusBrevicepsConfig
        • PetaurusNorfolcensis
        • PetaurusNorfolcensis.PetaurusNorfolcensisConfig
      • AnalysisPrograms.Recognizers.Base
        • BlobParameters
        • CommonParameters
        • DctParameters
        • ForwardTrackParameters
        • HarmonicParameters
        • IEventRecognizer
        • MinAndMaxBandwidthParameters
        • MultiRecognizer
        • MultiRecognizer.MultiRecognizerConfig
        • OnebinTrackParameters
        • OneframeTrackParameters
        • OscillationParameters
        • RecognizerBase
        • RecognizerBase.RecognizerConfig
        • RecognizerEntry
        • RecognizerEntry.Arguments
        • RecognizerResults
        • UpwardTrackParameters
      • AnalysisPrograms.Recognizers.Birds
        • ArdeaInsignis
        • AtrichornisRufescens
        • AtrichornisRufescens.AtrichornisRufescensConfig
        • CalyptorhynchusLathami
        • CalyptorhynchusLathami.CalyptorhynchusLathamiConfig
        • ClimacterisPicumnus
        • ClimacterisPicumnus.ClimacterisPicumnusConfig
        • LewiniaPectoralis
        • LewinsRailConfig
        • ManorinaMelanophrys
        • ManorinaMelanophrys.ManorinaMelanophrysConfig
        • NinoxConnivens
        • NinoxConnivens.NinoxConnivensConfig
        • TytoNovaehollandiae
        • TytoNovaehollandiae.TytoNovaehollandiaeConfig
        • TytoTenebricosa
        • TytoTenebricosa.TytoTenebricosaConfig
      • AnalysisPrograms.Recognizers.Frogs
        • LitoriaBicolor
        • LitoriaBicolorConfig
        • LitoriaCaerulea
        • LitoriaRothii
        • LitoriaRubella
      • AnalysisPrograms.SourcePreparers
        • LocalSourcePreparer
        • RemoteSourcePreparer
        • RemoteSourcePreparerException
      • AnalysisPrograms.SpectralPeakTracking
        • SpectralPeakTrackingConfig
        • SpectralPeakTrackingEntry
        • SpectralPeakTrackingEntry.Arguments
      • AnalysisPrograms.SpectrogramGenerator
        • Audio2Sonogram
        • Audio2Sonogram.Arguments
        • AudioToSonogramResult
        • SpectrogramGenerator
        • SpectrogramGeneratorConfig
        • SpectrogramImageType
      • AnalysisPrograms.StandardizedFeatures
        • StandardizedFeatureExtraction
        • StandardizedFeatureExtractionConfig
        • StandardizedFeatureExtractionConfig.BandsProperties
        • StandardizedFeatureExtractionConfig.Bandwidth
      • AudioAnalysisTools
        • AcousticComplexityIndex
        • AcousticEntropy
        • AcousticEvent
        • AcousticEvent.AcousticEventClassMap
        • ActivityAndCover
        • AnalysisKeys
        • BirdClefExperiment1
        • BirdClefExperiment1.Arguments
        • BirdClefExperiment1.Output
        • BlobEvent
        • ChannelIntegrity
        • ChannelIntegrity.Arguments
        • ChannelIntegrityIndices
        • ChirpEvent
        • ClickEvent
        • ClusterInfo
        • ConfigKeys
        • ConfigKeys.EndpointDetection
        • ConfigKeys.ImageSave
        • ConfigKeys.Mfcc
        • ConfigKeys.Recording
        • ConfigKeys.Sonogram
        • ConfigKeys.SonogramTypes
        • ConfigKeys.Windowing
        • CrossCorrelation
        • EndpointDetectionConfiguration
        • FindMatchingEvents
        • FrommoltProject
        • HarmonicAnalysis
        • HarmonicEvent
        • IPointData
        • ISignalToImage
        • ISpectralPoint
        • ITracks<T>
        • MfccConfiguration
        • OscillationEvent
        • Oscillations2010
        • Oscillations2012
        • Oscillations2014
        • Oscillations2014.FreqVsOscillationsResult
        • Oscillations2019
        • PointOfInterest
        • ResultsTools
        • RidgeDetection
        • RidgeDetection.RidgeDetectionConfiguration
        • SiteDescription
        • SpectralActivity
        • SpectralCentroid
        • SpectralClustering
        • SpectralClustering.ClusteringParameters
        • SpectralClustering.TrainingDataInfo
        • SpectralPeakTracking2018
        • SpectralPeakTracking2018.Output
        • SpectralPeakTrackingSettings
        • SpectralPeakTracks
        • SprTools
        • SummaryActivity
        • SunAndMoon
        • SunAndMoon.SunMoonTides
        • SURFFeatures
        • TemporalEvent
        • TowseySignalToImage
        • UnitConverters
        • WebSignalToImage
        • WhipEvent
        • WhistleEvent
      • AudioAnalysisTools.ContentDescriptionTools
        • ContentAlgorithms
        • ContentSignatures
        • ContentVisualization
        • DataProcessing
        • DescriptionResult
        • EditStatus
        • FunctionalTemplate
        • SourceAudioProvenance
        • TemplateCollection
        • TemplateManifest
      • AudioAnalysisTools.DSP
        • Clipping
        • DSP_Frames
        • DSP_Frames.EnvelopeAndFft
        • DSP_IIRFilter
        • DspFilters
        • FeatureExtraction
        • FeatureLearning
        • FeatureLearningSettings
        • FFT2D
        • FreqScaleType
        • FrequencyScale
        • KmeansClustering
        • KmeansClustering.Output
        • LocalContrastNormalisation
        • MFCCStuff
        • NoiseProfile
        • NoiseReductionType
        • NoiseRemoval_Briggs
        • NoiseRemovalModal
        • OctaveFreqScale
        • PatchSampling
        • PatchSampling.SamplingMethod
        • PcaWhitening
        • PcaWhitening.Output
        • PowerSpectralDensity
        • SNR
        • SNR.BackgroundNoise
        • SNR.SnrStatistics
        • WaveType
        • WavInfo
        • WavWriter
      • AudioAnalysisTools.Events
        • EventCommon
        • EventExtentions
        • EventFilters
        • InstantEvent
        • SpectralEvent
        • SpectralPoint
      • AudioAnalysisTools.Events.Drawing
        • EventDrawer
        • EventRenderingOptions
        • IDrawableEvent
      • AudioAnalysisTools.Events.Interfaces
        • IInstantEvent
        • ISpectralBand
        • ISpectralEvent
        • ITrack
      • AudioAnalysisTools.Events.Tracks
        • Track
        • TrackType
      • AudioAnalysisTools.Events.Types
        • ChatterEvent
        • CompositeEvent
        • EventConverters
        • EventPostProcessing
        • EventPostProcessing.BandwidthConfig
        • EventPostProcessing.DurationConfig
        • EventPostProcessing.PostProcessingConfig
        • EventPostProcessing.SidebandConfig
        • EventPostProcessing.SyllableSequenceConfig
        • EventPostProcessing.SyllableStackConfig
      • AudioAnalysisTools.EventStatistics
        • EventStatistics
        • EventStatistics.EventStatisticsClassMap
        • EventStatisticsCalculate
        • EventStatisticsConfiguration
      • AudioAnalysisTools.Indices
        • AnalyzerConfigIndexProperties
        • ConcatMode
        • GapsAndJoins
        • IIndexPropertyReferenceConfiguration
        • IndexCalculate
        • IndexCalculateConfig
        • IndexCalculateResult
        • IndexCalculateSixOnly
        • IndexDisplay
        • IndexDistributions
        • IndexDistributions.SpectralStats
        • IndexGenerationData
        • IndexMatrices
        • IndexProperties
        • IndexPropertiesCollection
        • InitialiseIndexProperties
        • RainIndices
        • RainIndices.RainStruct
        • SpectralIndexValues
        • SpectralIndexValuesForContentDescription
        • SpectralIndicesToAndFromTable
        • SpectralIndicesToAndFromTable.Arguments
        • SummaryIndexValues
      • AudioAnalysisTools.LongDurationSpectrograms
        • LdSpectrogram3D
        • LdSpectrogram3D.Arguments
        • LDSpectrogramClusters
        • LdSpectrogramConfig
        • LdSpectrogramDifference
        • LDSpectrogramDiscreteColour
        • LDSpectrogramDistance
        • LDSpectrogramRGB
        • LdSpectrogramRibbons
        • LdSpectrogramStitching
        • LdSpectrogramTStatistic
        • SpectrogramConstants
        • SpectrogramType
        • TimeOffsetSingleLayerSuperTile
        • ZoomFocusedSpectrograms
      • AudioAnalysisTools.LongDurationSpectrograms.Zooming
        • InvalidScaleException
        • SpectrogramZoomingConfig
        • ZoomCommon
        • ZoomParameters
        • ZoomTiledSpectrograms
      • AudioAnalysisTools.Scales
        • LinearScale
      • AudioAnalysisTools.StandardSpectrograms
        • AmplitudeSonogram
        • AmplitudeSpectrogram
        • BaseSonogram
        • DecibelSpectrogram
        • EnergySpectrogram
        • Image_MultiTrack
        • ImageTrack
        • SonogramConfig
        • SpectrogramAttributes
        • SpectrogramCepstral
        • SpectrogramMelScale
        • SpectrogramOctaveScale
        • SpectrogramSettings
        • SpectrogramSobelEdge
        • SpectrogramStandard
        • SpectrogramTools
        • TrackType
      • AudioAnalysisTools.TileImage
        • AbsoluteDateTilingProfile
        • DefaultSuperTile
        • DuplicateTileException
        • ImageComponent
        • ISuperTile
        • Layer
        • PanoJsTilingProfile
        • TileBias
        • Tiler
        • TilingProfile
      • AudioAnalysisTools.Tracks
        • ForwardTrackAlgorithm
        • OnebinTrackAlgorithm
        • OneframeTrackAlgorithm
        • UpwardTrackAlgorithm
      • AudioAnalysisTools.WavTools
        • AudioRecording
        • RecordingFetcher
        • TowseyWavReader
        • WavChooser
      • Be.Timvw.Framework.Collections.Generic
        • PropertyComparer<T>
      • BTR.Core.Linq
        • ExpressionExtensions
        • ExpressionVisitor
        • ExpressionVisitor<T>
      • log4net
        • LogExtensions
      • NeuralNets
        • ART
        • ART_2A
        • BinaryCluster
        • Cluster
        • FuzzyART
        • VQ
      • QutSensors.Shared
        • StatDescriptive
        • StatDescriptiveResult
      • SixLabors.ImageSharp
        • ImageSharpExtensions
      • System
        • ArrayExtensions
        • DateTimeAndTimeSpanExtensions
        • DateTimeAndTimeSpanExtensions.RoundingDirection
        • DoubleExtensions
        • DoubleSquareArrayExtensions
        • DoubleSquareArrayExtensions.MergingDirection
        • EnumerableExtensions
        • EnumExtensions
        • ExceptionsExtensions
        • ExtensionsString
        • FileInfoExtensions
        • FileInfoNameComparer
        • LoggedConsole
        • MathExtensions
        • NoConsole
        • ObjectExtensions
        • ProcessExtensions
        • ProcessExtensions.ParentProcessUtilities
        • ReflectionExtensions
        • SystemExtensions
        • TupleExtensions
      • System.Collections.Generic
        • DictionaryExtensions
      • System.Drawing
        • RectangleExtensions
      • System.IO
        • ExtensionsIO
      • System.Threading.Tasks
        • TaskExtensions
      • System.Xml.Linq
        • ExtensionsXml
      • TowseyLibrary
        • AutoAndCrossCorrelation
        • ColorCubeHelix
        • ColorCubeHelix.HslColor
        • ConfigDict
        • ConfigDictionary
        • ConfigurationExtensions
        • CsvTools
        • CubeHelix
        • DataTableTools
        • DataTools
        • DictionaryTools
        • Distribution
        • FFT
        • FFT.WindowFunc
        • FileTools
        • FunctionalTests
        • GaussianTools
        • GraphsAndCharts
        • Gratings
        • Histogram
        • ImageTools
        • Kernal
        • LLR
        • Log
        • Matrix3D
        • MatrixTools
        • NormalDist
        • Oblong
        • Oblong.OblongClassMap
        • OtsuThresholder
        • OtsuThresholder.Arguments
        • Plot
        • PolarCoordinates
        • PulseTrain
        • RandomNumber
        • RandomVariable
        • Spectrum
        • Statistics
        • StructureTensor
        • StructureTensor.RidgeTensorResult
        • StructureTensor.StructureTensorResult
        • SvdAndPca
        • TemporalMatrix
        • TernaryPlots
        • TestTools
        • TextUtilities
        • WaveletPacketDecomposition
        • WaveletPacketDecomposition.BinVector
        • WaveletTransformContinuous
        • WindowFunctions

    Class 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:

    1. uses auto-correlation, then FFT
    2. uses auto-correlation, then singular value decomposition, then FFT
    3. 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.

    Inheritance
    Object
    Oscillations2014
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: AudioAnalysisTools
    Assembly: AudioAnalysisTools.dll
    Syntax
    public static class Oscillations2014

    Fields

    | Improve this Doc View Source

    DefaultFrameLength

    Declaration
    public static int DefaultFrameLength
    Field Value
    Type Description
    Int32
    | Improve this Doc View Source

    DefaultResampleRate

    Declaration
    public static int DefaultResampleRate
    Field Value
    Type Description
    Int32
    | Improve this Doc View Source

    DefaultSampleLength

    Declaration
    public static int DefaultSampleLength
    Field Value
    Type Description
    Int32
    | Improve this Doc View Source

    DefaultSensitivityThreshold

    Declaration
    public static double DefaultSensitivityThreshold
    Field Value
    Type Description
    Double

    Methods

    | Improve this Doc View Source

    AdjustSampleSize(Int32, Int32)

    Adjusts sample length i.e. patch size for short recordings.

    Declaration
    public static int AdjustSampleSize(int framecount, int sampleLength)
    Parameters
    Type Name Description
    Int32 framecount

    number of frames in the frequency bin to be processed.

    Int32 sampleLength

    the number of frames to be included in each patch.

    Returns
    Type Description
    Int32

    appropriately reduced patch size.

    | Improve this Doc View Source

    GenerateOscillationDataAndImages(FileInfo, Dictionary<String, String>, Boolean)

    Generates the FREQUENCY x OSCILLATIONS Graphs and csv I have experimented with five methods to search for oscillations: 1: string algorithmName = "Autocorr-FFT"; use this if want more detailed output - but not necessrily accurate! 2: string algorithmName = "Autocorr-SVD-FFT"; use this if want only dominant oscillations 3: string algorithmName = "Autocorr-Cwt"; a Wavelets option but could not get it to work well 4: string algorithmName = "Autocorr-WPD"; another Wavelets option but could not get it to work well 5: Discrete Cosine Transform The DCT only works well when you know which periodicity you are looking for. e.g. Canetoad.

    Declaration
    public static Tuple<Image<Rgb24>, double[, ]> GenerateOscillationDataAndImages(FileInfo audioSegment, Dictionary<string, string> configDict, bool drawImage = false)
    Parameters
    Type Name Description
    FileInfo audioSegment
    Dictionary<String, String> configDict
    Boolean drawImage
    Returns
    Type Description
    Tuple<SixLabors.ImageSharp.Image<SixLabors.ImageSharp.PixelFormats.Rgb24>, Double[,]>
    | Improve this Doc View Source

    GetConfigDictionary(FileInfo)

    Declaration
    public static Dictionary<string, string> GetConfigDictionary(FileInfo configFile)
    Parameters
    Type Name Description
    FileInfo configFile
    Returns
    Type Description
    Dictionary<String, String>
    | Improve this Doc View Source

    GetDefaultConfigDictionary(FileInfo)

    Declaration
    public static Dictionary<string, string> GetDefaultConfigDictionary(FileInfo sourceRecording)
    Parameters
    Type Name Description
    FileInfo sourceRecording
    Returns
    Type Description
    Dictionary<String, String>
    | Improve this Doc View Source

    GetFrequencyByOscillationsMatrix(Double[,], Double, Int32, String)

    Declaration
    public static double[, ] GetFrequencyByOscillationsMatrix(double[, ] spectrogram, double sensitivity, int sampleLength, string algorithmName)
    Parameters
    Type Name Description
    Double[,] spectrogram
    Double sensitivity
    Int32 sampleLength
    String algorithmName
    Returns
    Type Description
    Double[,]
    | Improve this Doc View Source

    GetFreqVsOscillationsDataAndImage(BaseSonogram, String)

    Only call this method for short recordings. If accumulating data for long recordings then call the method for long recordings - i.e. double[] spectralIndex = GenerateOscillationDataAndImages(FileInfo audioSegment, Dictionary configDict, false, false).

    Declaration
    public static Oscillations2014.FreqVsOscillationsResult GetFreqVsOscillationsDataAndImage(BaseSonogram sonogram, string algorithmName)
    Parameters
    Type Name Description
    BaseSonogram sonogram
    String algorithmName
    Returns
    Type Description
    Oscillations2014.FreqVsOscillationsResult
    | Improve this Doc View Source

    GetFreqVsOscillationsImage(Double[,], Double, Double, Int32, String)

    Creates an image from the frequency/oscillations matrix. The y-axis scale = frequency bins as per normal spectrogram. The x-axis scale is oscillations per second.

    Declaration
    public static Image<Rgb24> GetFreqVsOscillationsImage(double[, ] freqOscilMatrix, double framesPerSecond, double freqBinWidth, int sampleLength, string algorithmName)
    Parameters
    Type Name Description
    Double[,] freqOscilMatrix

    the input frequency/oscillations matrix.

    Double framesPerSecond

    to give the time scale.

    Double freqBinWidth

    to give the frequency scale.

    Int32 sampleLength

    to allow calculation of the oscillations scale.

    String algorithmName

    the algorithm used to compute the oscillations.

    Returns
    Type Description
    SixLabors.ImageSharp.Image<SixLabors.ImageSharp.PixelFormats.Rgb24>

    bitmap image.

    | Improve this Doc View Source

    GetOscillationArrayUsingCwt(Double[,], Double, Int32)

    Declaration
    public static double[] GetOscillationArrayUsingCwt(double[, ] xCorrByTimeMatrix, double framesPerSecond, int binNumber)
    Parameters
    Type Name Description
    Double[,] xCorrByTimeMatrix
    Double framesPerSecond
    Int32 binNumber
    Returns
    Type Description
    Double[]
    | Improve this Doc View Source

    GetOscillationArrayUsingFft(Double[,], Double)

    returns an oscillation array for a single frequency bin.

    Declaration
    public static double[] GetOscillationArrayUsingFft(double[, ] xCorrByTimeMatrix, double sensitivity)
    Parameters
    Type Name Description
    Double[,] xCorrByTimeMatrix

    derived from single frequency bin.

    Double sensitivity

    a threshold used to ignore low ascillation intensities.

    Returns
    Type Description
    Double[]

    vector of oscillation values.

    | Improve this Doc View Source

    GetOscillationArrayUsingSvdAndFft(Double[,], Double, Int32)

    reduces the sequence of Xcorrelation vectors to a single summary vector. Does this by: (1) do SVD on the collection of XCORRELATION vectors (2) select the dominant ones based on the eigen values - 90% threshold Typically there are 1 to 10 eigen values depending on how busy the bin is. (3) Do an FFT on each of the returned SVD vectors to pick the dominant oscillation rate. (4) Accumulate the oscillations in a freq by oscillation rate matrix. The amplitude value for the oscillation is the eigenvalue.

    NOTE: There should only be one dominant oscillation in any one freq band at one time. Birds with oscillating calls do call simultaneously, but this technique will only pick up the dominant call. #.

    Declaration
    public static double[] GetOscillationArrayUsingSvdAndFft(double[, ] xCorrByTimeMatrix, double sensitivity, int binNumber)
    Parameters
    Type Name Description
    Double[,] xCorrByTimeMatrix

    double[,] xCorrelationsByTime = new double[sampleLength, sampleCount].

    Double sensitivity

    can't remember what this does.

    Int32 binNumber

    only used when debugging.

    Returns
    Type Description
    Double[]
    | Improve this Doc View Source

    GetOscillationArrayUsingWpd(Double[,], Double, Int32)

    Declaration
    public static double[] GetOscillationArrayUsingWpd(double[, ] xCorrByTimeMatrix, double sensitivity, int binNumber)
    Parameters
    Type Name Description
    Double[,] xCorrByTimeMatrix
    Double sensitivity
    Int32 binNumber
    Returns
    Type Description
    Double[]
    | Improve this Doc View Source

    GetOscillationUsingDct(Double[], Double, Double[,], out Double, out Double, out Double)

    returns oscillations using the DCT.

    Declaration
    public static void GetOscillationUsingDct(double[] array, double framesPerSecond, double[, ] cosines, out double oscilFreq, out double period, out double intenisty)
    Parameters
    Type Name Description
    Double[] array
    Double framesPerSecond
    Double[,] cosines
    Double oscilFreq
    Double period
    Double intenisty
    | Improve this Doc View Source

    GetSpectralIndex_Osc(AudioRecording, Int32, Int32, Double)

    Declaration
    public static double[] GetSpectralIndex_Osc(AudioRecording recordingSegment, int frameLength, int sampleLength, double sensitivity)
    Parameters
    Type Name Description
    AudioRecording recordingSegment
    Int32 frameLength
    Int32 sampleLength
    Double sensitivity
    Returns
    Type Description
    Double[]
    | Improve this Doc View Source

    GetSpectrogramMatrix(AudioRecording, Int32)

    Declaration
    public static double[, ] GetSpectrogramMatrix(AudioRecording recordingSegment, int frameLength)
    Parameters
    Type Name Description
    AudioRecording recordingSegment
    Int32 frameLength
    Returns
    Type Description
    Double[,]
    | Improve this Doc View Source

    GetXcorrByTimeMatrix(Double[], Int32)

    Returns a matrix whose columns consist of autocorrelations of freq bin samples. The columns are non-overlapping.

    Declaration
    public static double[, ] GetXcorrByTimeMatrix(double[] signal, int sampleLength)
    Parameters
    Type Name Description
    Double[] signal

    an array corresponding to one frequency bin.

    Int32 sampleLength

    the length of a sample or patch (non-overllapping) for which xcerrelation is obtained.

    Returns
    Type Description
    Double[,]
    | Improve this Doc View Source

    LogTransformOscillationVector(Double[], Int32)

    Declaration
    public static double[] LogTransformOscillationVector(double[] vector, int sampleCount)
    Parameters
    Type Name Description
    Double[] vector
    Int32 sampleCount
    Returns
    Type Description
    Double[]
    | Improve this Doc View Source

    TESTMETHOD_DrawOscillationSpectrogram()

    Declaration
    public static void TESTMETHOD_DrawOscillationSpectrogram()
    | Improve this Doc View Source

    TESTMETHOD_GetSpectralIndex_Osc()

    test method for getting a spectral index of oscillation values.

    Declaration
    public static void TESTMETHOD_GetSpectralIndex_Osc()
    • Improve this Doc
    • View Source
    In This Article
    • Class Oscillations2014
      • Fields
        • DefaultFrameLength
        • DefaultResampleRate
        • DefaultSampleLength
        • DefaultSensitivityThreshold
      • Methods
        • AdjustSampleSize(Int32, Int32)
        • GenerateOscillationDataAndImages(FileInfo, Dictionary<String, String>, Boolean)
        • GetConfigDictionary(FileInfo)
        • GetDefaultConfigDictionary(FileInfo)
        • GetFrequencyByOscillationsMatrix(Double[,], Double, Int32, String)
        • GetFreqVsOscillationsDataAndImage(BaseSonogram, String)
        • GetFreqVsOscillationsImage(Double[,], Double, Double, Int32, String)
        • GetOscillationArrayUsingCwt(Double[,], Double, Int32)
        • GetOscillationArrayUsingFft(Double[,], Double)
        • GetOscillationArrayUsingSvdAndFft(Double[,], Double, Int32)
    Generated by DocFX AP docs version: 21.7.0.4-master-e26127a50d7bd7472d47288f10e61014fb981f7f-DIRTY-CI:144 Back to top