Table of Contents

Class ImitationDetectionResult

Namespace
Celeritas.Core.Analysis
Assembly
Celeritas.dll

Result of detecting imitation (canon-like repetition) between voices.

public sealed record ImitationDetectionResult : IEquatable<ImitationDetectionResult>
Inheritance
ImitationDetectionResult
Implements
Inherited Members

Properties

HasImitation

Whether imitation was detected.

public required bool HasImitation { get; init; }

Property Value

bool

Interval

How far the answer transposes the subject, in semitones: positive when the voice that enters second is higher, negative when it is lower. A canon answered an octave below reports -12.

public int Interval { get; init; }

Property Value

int

None

Shared instance representing no detected imitation.

public static ImitationDetectionResult None { get; }

Property Value

ImitationDetectionResult

TimeDelay

Time delay between the leading and following voice, in whole-note units.

public Rational TimeDelay { get; init; }

Property Value

Rational

Type

Kind of imitation (e.g. Canon); empty when none.

public string Type { get; init; }

Property Value

string

VoicesInvolved

One-based indices of the voices involved in the imitation.

public IReadOnlyList<int> VoicesInvolved { get; init; }

Property Value

IReadOnlyList<int>