Table of Contents

Class RhythmAnalyzer

Namespace
Celeritas.Core.Analysis
Assembly
Celeritas.dll

Rhythm analyzer - meter detection, pattern recognition, syncopation.

public static class RhythmAnalyzer
Inheritance
RhythmAnalyzer
Inherited Members

Fields

CommonPatterns

Common rhythmic patterns for recognition.

public static readonly RhythmPattern[] CommonPatterns

Field Value

RhythmPattern[]

Methods

Analyze(NoteBuffer, TimeSignature?)

Analyze rhythm of a note buffer.

public static RhythmAnalysisResult Analyze(NoteBuffer buffer, TimeSignature? knownMeter = null)

Parameters

buffer NoteBuffer
knownMeter TimeSignature?

Returns

RhythmAnalysisResult

Exceptions

ArgumentNullException

buffer is null.

DetectMeter(NoteBuffer)

Detect the most likely time signature from a sequence of notes.

public static MeterDetectionResult DetectMeter(NoteBuffer buffer)

Parameters

buffer NoteBuffer

Returns

MeterDetectionResult

Exceptions

ArgumentNullException

buffer is null.

DetectMeter(IEnumerable<NoteEvent>)

Detect the most likely time signature from a sequence of note events.

public static MeterDetectionResult DetectMeter(IEnumerable<NoteEvent> notes)

Parameters

notes IEnumerable<NoteEvent>

Returns

MeterDetectionResult

Exceptions

ArgumentNullException

notes is null.

IdentifyPattern(NoteBuffer)

Identify rhythmic pattern in a sequence of notes. Returns the best matching pattern with quality score.

public static RhythmPatternMatch? IdentifyPattern(NoteBuffer buffer)

Parameters

buffer NoteBuffer

Returns

RhythmPatternMatch

Exceptions

ArgumentNullException

buffer is null.

IdentifyPattern(IEnumerable<NoteEvent>)

Identify rhythmic pattern in a sequence of note events. Returns the best matching pattern with quality score.

public static RhythmPatternMatch? IdentifyPattern(IEnumerable<NoteEvent> notes)

Parameters

notes IEnumerable<NoteEvent>

Returns

RhythmPatternMatch

Exceptions

ArgumentNullException

notes is null.