• 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 HarmonicParameters

    Parameters needed from a config file to detect the stacked harmonic components of a soundscape. This can also be used for recognizing the harmonics of non-biological sounds such as from turbines, motor-bikes, compressors, hi-revving motors, etc.

    Harmonic Event detection

    The algorithm to find harmonic events uses a discrete cosine transform or DCT to find a stack of harmonics or formants. Setting the correct DCT for the target syllable requires additional parameters. Note that for our purposes here, the terms harmonic and formant are taken as equivalent.

    The algorithm to find harmonic events can be visualized as similar to the [oscillations algorithm]](xref:AnalysisPrograms.Recognizers.Base.OscillationParameters), but rotated by 90 degrees. It uses a DCT oriented in a vertical direction and requires similar additional parameters.

    Profiles:
        Speech: !HarmonicParameters
            FrameSize: 512
            FrameStep: 512
            SmoothingWindow: 3
            # The search band
            MinHertz: 500          
            MaxHertz: 5000
            # Min & max duration for a set of harmonics.
            MinDuration: 0.2
            MaxDuration: 1.0        
            DecibelThreshold: 2.0
            #  Min & max Hertz interval between harmonics.
            MinFormantGap: 400        
            MaxFormantGap: 1200
            DctThreshold: 0.15         
            # Event threshold - use this to determine FP/FN trade-off.
            EventThreshold: 0.5
    
    Note

    Some of these parameters are common to all events, that is, those that determine the search band, the allowable event duration and the decibel threshold —see CommonParameters.

    The remaining parameters are unique to the harmonic algorithm and determine the search for harmonics.

    There are four parameters specific to Harmonics: SmoothingWindow, MinFormantGap, MaxFormantGap and DctThreshold. SmoothingWindow sets the window size of a moving average filter that smoothes the frequency bin values in the spectrogram prior to running the DCT. This can be useful when the formants of interest are broken by noise or interrupted. MinFormantGap and MaxFormantGap specify the minimum and maximum allowed interval (measured in Hertz) between adjacent formants/harmonics. By default, the DCT is calculated over all frequency bins in the search band. DctThreshold is a value between 0.0 and 1.0 which sets the sensitivity of the search. A lower value of DctThreshold will detect more harmonic events.

    The output from a DCT operation is an array of coefficients (taking values in [0, 1]). The index into the array indicates a particular harmonic interval and the array value at that index indicates magnitude of that interval. The index with largest amplitude indicates the likely interval between each of the formants. However, if the maximum coefficient is less than the DctThreshold, a stack of formants is consider not to be present. Lowering the DctThreshold increases the likelihood that random noise will be accepted as a true set of formants; increasing the DctThreshold increases the likelihood that a target set of formants is rejected.

    Note that to reduce the chances of the DCT algorithm producing an erroneous result, a minimum of three harmonics/formants is required, that is, the fundamental and two higher harmonics. Another way to think of this is that at least two harmonic intervals are required to constitute a stack of harmonics. Despite this precaution, the DCT algorithm is sensitive to noise and you made need to experiment to get the optimum parameter values.

    Inheritance
    Object
    CommonParameters
    HarmonicParameters
    Implements
    IValidatableObject
    Inherited Members
    CommonParameters.SpeciesName
    CommonParameters.FrameSize
    CommonParameters.FrameStep
    CommonParameters.WindowFunction
    CommonParameters.BgNoiseThreshold
    CommonParameters.MinHertz
    CommonParameters.MaxHertz
    CommonParameters.BottomHertzBuffer
    CommonParameters.TopHertzBuffer
    CommonParameters.MinDuration
    CommonParameters.MaxDuration
    CommonParameters.DecibelThresholds
    CommonParameters.NoiseReductionType
    CommonParameters.Validate(ValidationContext)
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: AnalysisPrograms.Recognizers.Base
    Assembly: AudioAnalysisTools.dll
    Syntax
    [YamlTypeTag(typeof(HarmonicParameters), null)]
    public class HarmonicParameters : CommonParameters, IValidatableObject

    Properties

    | Improve this Doc View Source

    DctThreshold

    Gets or sets the dctThreshold.

    Declaration
    public double? DctThreshold { get; set; }
    Property Value
    Type Description
    Nullable<Double>
    | Improve this Doc View Source

    MaxFormantGap

    Gets or sets the top bound of gap between formants. Units are Hertz.

    Declaration
    public int? MaxFormantGap { get; set; }
    Property Value
    Type Description
    Nullable<Int32>
    | Improve this Doc View Source

    MinFormantGap

    Gets or sets the bottom bound of the gap between formants. Units are Hertz.

    Declaration
    public int? MinFormantGap { get; set; }
    Property Value
    Type Description
    Nullable<Int32>
    | Improve this Doc View Source

    SmoothingWindow

    Gets or sets a smoothing window. This is used to run a moving average filter along each of the frequency bins. It can help to smooth over discontinuous formants. If applied sensible values are 3, 5, or 7.

    Declaration
    public int SmoothingWindow { get; set; }
    Property Value
    Type Description
    Int32

    Methods

    | Improve this Doc View Source

    ConvertScoreArray2HarmonicEvents(SpectrogramStandard, Double[], Double[], UnitConverters, Int32[], Double, Double, Int32, Int32, Int32, Double, TimeSpan)

    Finds harmonic events in an array harmonic scores. NOTE: The score array is assumed to be temporal i.e. each element of the array is derived from a time frame. The method uses the passed scoreThreshold in order to calculate a normalised score. Max possible score := threshold * 5. normalised score := score / maxPossibleScore.

    Declaration
    public static List<EventCommon> ConvertScoreArray2HarmonicEvents(SpectrogramStandard spectrogram, double[] scores, double[] dBArray, UnitConverters converter, int[] maxIndexArray, double minDuration, double maxDuration, int minHz, int maxHz, int bandBinCount, double scoreThreshold, TimeSpan segmentStartOffset)
    Parameters
    Type Name Description
    SpectrogramStandard spectrogram
    Double[] scores

    the array of harmonic scores.

    Double[] dBArray
    UnitConverters converter
    Int32[] maxIndexArray

    the array of max index values derived from the DCT. Used to calculate the harmonic interval.

    Double minDuration

    duration of event must exceed this to be a valid event.

    Double maxDuration

    duration of event must be less than this to be a valid event.

    Int32 minHz

    lower freq bound of the event.

    Int32 maxHz

    upper freq bound of the event.

    Int32 bandBinCount
    Double scoreThreshold

    threshold.

    TimeSpan segmentStartOffset

    the time offset from segment start to the recording start.

    Returns
    Type Description
    List<EventCommon>

    a list of acoustic events.

    | Improve this Doc View Source

    DetectHarmonicsInSpectrogramData(Double[,], Double, Int32)

    A METHOD TO DETECT a set of stacked HARMONICS/FORMANTS in the sub-band of a spectrogram. Developed for GenericRecognizer of harmonics. NOTE 1: This method assumes the matrix is derived from a spectrogram rotated so that the matrix rows are spectral columns of the spectrogram. NOTE 2: As of March 2020, this method averages the values in five adjacent frames. This is to reduce noise. But it requires that the frequency of any potential formants is not changing rapidly. A side-effect is that the edges of harmonic events become blurred. This may not be suitable for detecting human speech. However can reduce the frame step. NOTE 3: This method assumes that the minimum number of formants in a stack = 3. This means that the first 4 values in the returned array of DCT coefficients are set = 0 (see below).

    Declaration
    public static Tuple<double[], double[], int[]> DetectHarmonicsInSpectrogramData(double[, ] m, double xThreshold, int smoothingWindow)
    Parameters
    Type Name Description
    Double[,] m

    data matrix derived from the subband of a spectrogram.

    Double xThreshold

    Minimum acceptable value to be considered part of a harmonic.

    Int32 smoothingWindow
    Returns
    Type Description
    Tuple<Double[], Double[], Int32[]>

    three arrays: dBArray, intensity, maxIndexArray.

    | Improve this Doc View Source

    GetComponentsWithHarmonics(SpectrogramStandard, HarmonicParameters, Nullable<Double>, TimeSpan, String)

    Declaration
    public static (List<EventCommon> SpectralEvents, List<Plot> DecibelPlots) GetComponentsWithHarmonics(SpectrogramStandard spectrogram, HarmonicParameters hp, double? decibelThreshold, TimeSpan segmentStartOffset, string profileName)
    Parameters
    Type Name Description
    SpectrogramStandard spectrogram
    HarmonicParameters hp
    Nullable<Double> decibelThreshold
    TimeSpan segmentStartOffset
    String profileName
    Returns
    Type Description
    (T1, T2)<List<EventCommon>, List<Plot>>
    | Improve this Doc View Source

    GetHarmonicEvents(SpectrogramStandard, Int32, Int32, Int32, Double, Double, Double, Double, Int32, Int32, TimeSpan)

    Declaration
    public static (List<EventCommon> SpectralEvents, double[] AmplitudeArray, double[] HarmonicIntensityScores) GetHarmonicEvents(SpectrogramStandard spectrogram, int minHz, int maxHz, int smoothingWindow, double decibelThreshold, double dctThreshold, double minDuration, double maxDuration, int minFormantGap, int maxFormantGap, TimeSpan segmentStartOffset)
    Parameters
    Type Name Description
    SpectrogramStandard spectrogram
    Int32 minHz
    Int32 maxHz
    Int32 smoothingWindow
    Double decibelThreshold
    Double dctThreshold
    Double minDuration
    Double maxDuration
    Int32 minFormantGap
    Int32 maxFormantGap
    TimeSpan segmentStartOffset
    Returns
    Type Description
    (T1, T2, T3)<List<EventCommon>, Double[], Double[]>

    Implements

    System.ComponentModel.DataAnnotations.IValidatableObject

    Extension Methods

    ObjectExtensions.NotNull(Object)
    ObjectExtensions.AsArray<T>(T)
    ObjectExtensions.AsList<T>(T)
    ObjectExtensions.Wrap<T>(T)
    SystemExtensions.BinarySerialize(Object)
    ConfigFileExtensions.NotNull(Object, FileInfo, String, String)
    ConfigFileExtensions.ValidateNotNull(Object, String, String)
    ConfigFileExtensions.ValidateLessThan<T>(Object, Nullable<T>, String, Nullable<T>, String, String)
    ExtensionsXml.SerializeObject<T>(T)
    • Improve this Doc
    • View Source
    In This Article
    • Harmonic Event detection
      • Properties
        • DctThreshold
        • MaxFormantGap
        • MinFormantGap
        • SmoothingWindow
      • Methods
        • ConvertScoreArray2HarmonicEvents(SpectrogramStandard, Double[], Double[], UnitConverters, Int32[], Double, Double, Int32, Int32, Int32, Double, TimeSpan)
        • DetectHarmonicsInSpectrogramData(Double[,], Double, Int32)
        • GetComponentsWithHarmonics(SpectrogramStandard, HarmonicParameters, Nullable<Double>, TimeSpan, String)
        • GetHarmonicEvents(SpectrogramStandard, Int32, Int32, Int32, Double, Double, Double, Double, Int32, Int32, TimeSpan)
      • Implements
      • Extension Methods
    Generated by DocFX AP docs version: 21.7.0.4-master-e26127a50d7bd7472d47288f10e61014fb981f7f-DIRTY-CI:144 Back to top