Table of Contents

Class PitchClassSetAnalyzer

Namespace
Celeritas.Core.Analysis
Assembly
Celeritas.dll

Pitch-class set (PCS) analysis for atonal / post-tonal music. Provides normal order, prime form, and interval vector.

public static class PitchClassSetAnalyzer
Inheritance
PitchClassSetAnalyzer
Inherited Members

Methods

Analyze(NoteBuffer)

public static PitchClassSetAnalysisResult Analyze(NoteBuffer buffer)

Parameters

buffer NoteBuffer

Returns

PitchClassSetAnalysisResult

Remarks

Rests hold no pitch class and do not join the set; counting RestPitch (-1) as a B turned the trichord {0,4,7} into the tetrachord {0,4,7,11} and changed its prime form.

Exceptions

ArgumentNullException

buffer is null.

Analyze(ReadOnlySpan<int>)

Analyze a pitch-class set from raw pitches (folded to pitch classes 0-11, deduplicated).

public static PitchClassSetAnalysisResult Analyze(ReadOnlySpan<int> pitches)

Parameters

pitches ReadOnlySpan<int>

Returns

PitchClassSetAnalysisResult

Complement(int[])

Gets the complement of a pitch class set (all pitch classes NOT in the set).

public static int[] Complement(int[] pitchClasses)

Parameters

pitchClasses int[]

Returns

int[]

Exceptions

ArgumentNullException

pitchClasses is null.

GetIntervalVector(int[])

public static int[] GetIntervalVector(int[] pitchClasses)

Parameters

pitchClasses int[]

Returns

int[]

Exceptions

ArgumentNullException

pitchClasses is null.

GetNormalOrder(int[])

public static int[] GetNormalOrder(int[] pitchClasses)

Parameters

pitchClasses int[]

Returns

int[]

Exceptions

ArgumentNullException

pitchClasses is null.

GetPrimeForm(int[])

public static int[] GetPrimeForm(int[] pitchClasses)

Parameters

pitchClasses int[]

Returns

int[]

Exceptions

ArgumentNullException

pitchClasses is null.

Invert(int[])

public static int[] Invert(int[] pitchClasses)

Parameters

pitchClasses int[]

Returns

int[]

Exceptions

ArgumentNullException

pitchClasses is null.

MaskToPitchClasses(ushort)

Expand a 12-bit pitch-class mask into an ascending array of pitch classes (0-11).

public static int[] MaskToPitchClasses(ushort mask)

Parameters

mask ushort

Returns

int[]

Similarity(int[], int[])

Calculates similarity between two pitch class sets using interval vector comparison. Returns a value from 0.0 (completely different) to 1.0 (identical interval content).

public static double Similarity(int[] set1, int[] set2)

Parameters

set1 int[]
set2 int[]

Returns

double

Exceptions

ArgumentNullException

set1 or set2 is null.

Transpose(int[], int)

public static int[] Transpose(int[] pitchClasses, int semitones)

Parameters

pitchClasses int[]
semitones int

Returns

int[]

Exceptions

ArgumentNullException

pitchClasses is null.