Class ImitationDetectionResult
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
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
None
Shared instance representing no detected imitation.
public static ImitationDetectionResult None { get; }
Property Value
TimeDelay
Time delay between the leading and following voice, in whole-note units.
public Rational TimeDelay { get; init; }
Property Value
Type
Kind of imitation (e.g. Canon); empty when none.
public string Type { get; init; }
Property Value
VoicesInvolved
One-based indices of the voices involved in the imitation.
public IReadOnlyList<int> VoicesInvolved { get; init; }