Class CompositeEvent
Inheritance
CompositeEvent
Assembly: AudioAnalysisTools.dll
public class CompositeEvent : SpectralEvent, IComparable<ResultBase>, IComparable, IDrawableEvent, ISpectralEvent, ISpectralBand, ITemporalEvent, IInstantEvent
Constructors
|
Improve this Doc
View Source
Declaration
public CompositeEvent(List<SpectralEvent> events)
Parameters
Properties
|
Improve this Doc
View Source
Declaration
public int ComponentCount { get; }
Property Value
|
Improve this Doc
View Source
Declaration
public List<EventCommon> ComponentEvents { get; set; }
Property Value
|
Improve this Doc
View Source
Declaration
public override double EventEndSeconds { get; }
Property Value
Overrides
|
Improve this Doc
View Source
Declaration
public override double EventStartSeconds { get; }
Property Value
Overrides
|
Improve this Doc
View Source
Declaration
public override double HighFrequencyHertz { get; }
Property Value
Overrides
|
Improve this Doc
View Source
Declaration
public override double LowFrequencyHertz { get; }
Property Value
Overrides
|
Improve this Doc
View Source
Declaration
public override double Score { get; }
Property Value
Overrides
|
Improve this Doc
View Source
Declaration
public override double ScoreNormalized { get; }
Property Value
Overrides
|
Improve this Doc
View Source
Declaration
public IEnumerable<ITrack> Tracks { get; }
Property Value
Methods
|
Improve this Doc
View Source
Declaration
public double CalculatePeriodicity()
Returns
|
Improve this Doc
View Source
Combines overlapping events in the passed List of events and returns a reduced list.
Declaration
public static List<EventCommon> CombineOverlappingEvents(List<EventCommon> events)
Parameters
Returns
|
Improve this Doc
View Source
Combines events that have similar bottom and top frequency bounds and whose start times are within the passed time range.
NOTE: Proximal means (1) that the event starts are close to one another and (2) the events occupy a SIMILAR frequency band.
NOTE: SIMILAR frequency band means the difference between two top Hertz values and the two low Hertz values are less than hertzDifference.
NOTE: This method is used to combine events that are likely to be a syllable sequence within the same call.
NOTE: Allow twice the tolerance for the upper Hertz difference because upper bounds tend to be more flexible. This is may need to be reversed if it proves to be unhelpful.
Declaration
public static List<EventCommon> CombineProximalEvents(List<SpectralEvent> events, TimeSpan startDifference, int hertzDifference)
Parameters
Returns
|
Improve this Doc
View Source
Combines events that are possible stacked harmonics or formants.
Two conditions apply:
(1) the events are coincident (have similar start and end times)
(2) the events are stacked (their minima and maxima are within the passed frequency gap).
NOTE: The difference between this method and CombineProximalEvents() is that stacked events should have similar start AND similar end times.
Having similar start and end times means the events are "stacked" (like pancakes!) in the spectrogram.
How closely stacked is determined by the hertzDifference argument. Typicaly, the formant spacing is not large, ~100-200Hz.
Declaration
public static List<EventCommon> CombineStackedEvents(List<SpectralEvent> events, TimeSpan timeDifference, int hertzDifference)
Parameters
Returns
|
Improve this Doc
View Source
Merges two spectral events into one event.
Declaration
public static CompositeEvent CombineTwoEvents(SpectralEvent e1, SpectralEvent e2)
Parameters
Returns
|
Improve this Doc
View Source
Combines events that are possible stacked harmonics or formants.
Two conditions apply:
(1) the events are coincident (have similar start and end times)
(2) the events are stacked (their minima and maxima are within the passed frequency gap).
NOTE: The difference between this method and CombineProximalEvents() is that stacked events should have similar start AND similar end times.
Having similar start and end times means the events are "stacked" (like pancakes!) in the spectrogram.
How closely stacked is determined by the hertzDifference argument. Typicaly, the formant spacing is not large, ~100-200Hz.
Declaration
public static List<EventCommon> CombineVerticalEvents(List<SpectralEvent> events, TimeSpan timeDifference, int hertzDifference)
Parameters
Returns
|
Improve this Doc
View Source
Draw(IImageProcessingContext, EventRenderingOptions)
Declaration
public override void Draw(IImageProcessingContext graphics, EventRenderingOptions options)
Parameters
Type |
Name |
Description |
SixLabors.ImageSharp.Processing.IImageProcessingContext |
graphics |
|
EventRenderingOptions |
options |
|
Overrides
|
Improve this Doc
View Source
Declaration
public static (SpectralEvent EvAi, SpectralEvent EvBj) EnclosedEvents(SpectralEvent a, SpectralEvent b)
Parameters
Returns
|
Improve this Doc
View Source
Determines if two events overlap in frequency.
Declaration
public static bool EventsOverlapInFrequency(SpectralEvent event1, SpectralEvent event2)
Parameters
Returns
Type |
Description |
Boolean |
true if events overlap.
|
|
Improve this Doc
View Source
Determines if two events overlap in time.
Declaration
public static bool EventsOverlapInTime(SpectralEvent event1, SpectralEvent event2)
Parameters
Returns
Type |
Description |
Boolean |
true if events overlap.
|
|
Improve this Doc
View Source
Declaration
public static SpectralEvent OverlapsEventInList(SpectralEvent anEvent, List<SpectralEvent> events)
Parameters
Returns
|
Improve this Doc
View Source
Removes from a list of events, those events that are enclosed by another event in the list.
Returns a reduced list.
Declaration
public static List<EventCommon> RemoveEnclosedEvents(List<EventCommon> events)
Parameters
Returns
Implements
Extension Methods