Namespace Celeritas.Core.Analysis
Classes
- BorrowedChordInfo
A detected borrowed chord (modal mixture).
- ChordAnalysisDetail
Detailed analysis of a single chord in context.
- ChordCharacterClassification
Example-friendly chord character descriptor.
- ChordCharacterClassifier
Lightweight chord character classification for single chord symbols (example-friendly API). This does not require a key/context; it maps chord quality to a coarse character and metrics.
- ChordSuggestion
A suggested chord that could follow a progression.
- CounterpointRulesCheckResult
Summary counts from a basic counterpoint rules check.
- CounterpointViolation
Counterpoint violation detected in the analysis.
- FormAnalysisOptions
Options controlling
FormAnalyzerphrase, period, cadence, and section detection.
- FormAnalysisResult
Result of form analysis: phrases, periods, cadences, sections, and an overall form label.
- FormAnalyzer
Lightweight form/structure analysis. Current scope: phrase segmentation (by rests) + simple period detection (by similar phrase length) + cadence detection.
- HarmonicColorAnalysisOptions
Options controlling modal turn detection thresholds.
- HarmonicColorAnalysisResult
Combined analysis result.
- HarmonicColorAnalyzer
Detects harmonic color features: chromatic notes, modal turns (mixture / modal borrowing), and simple melodic harmony (chord tones vs common non-chord tones).
- ImitationDetectionResult
Result of detecting imitation (canon-like repetition) between voices.
- IntervalStatistics
Statistics about interval usage in the piece.
- KeyProfiler
High-performance key detection using the Krumhansl-Schmuckler algorithm. Optimized with SIMD (AVX-512/AVX2/SSE2) for real-time analysis.
The algorithm correlates pitch-class distributions with psychological key profiles derived from empirical studies of tonal perception.
- KeyRelationships
Helper methods for key relationships.
- KeyTrajectory
Key changes over time in a piece: the per-window key readings of AnalyzeModulations(NoteBuffer, Rational, Rational), and the modulations judged from the music behind them.
- MelodicIntervalStatistics
Statistics about interval distribution.
- MelodyAnalysisResult
Complete melody analysis result.
- MelodyAnalyzer
Melody analysis engine - analyzes contour, intervals, and detects motifs.
- MeterDetectionResult
Result of meter detection.
- ModalProgressions
Common progressions and characteristic movements for each modal system.
- ModalProgressions.ModalMixtureChord
A chord that does not fully belong to the detected mode scale.
- ModalProgressions.ModalProgressionAnalysisResult
Result of modal progression analysis.
- ModeLibrary
Provides scale masks and mode analysis utilities.
- ModulationAnalysisResult
Result of modulation analysis.
- ModulationDetector
Detects key changes, tonicizations, and pivot chords in musical passages, starting from a key the caller knows.
- ModulationEvent
Represents a detected key change or tonicization.
- ModulationInfo
Information about a detected modulation or tonicization.
- Motif
A detected melodic motif (recurring pattern).
- MotionStatistics
Statistics about motion types in the piece.
- PitchClassSetAnalyzer
Pitch-class set (PCS) analysis for atonal / post-tonal music. Provides normal order, prime form, and interval vector.
- PitchClassSetCatalog
Optional, user-supplied catalog for mapping PCS prime forms to labels (e.g., Forte numbers). This project intentionally ships without any built-in Forte table.
- PitchClassSetCatalogEntry
One catalog entry mapping a pitch-class-set prime form to a label.
- PolyphonyAnalysisResult
Complete polyphony analysis result.
- PolyphonyAnalyzer
Analyzer for polyphonic music - voice leading, counterpoint, texture.
- ProgressionAdvisor
Advanced progression analyzer that generates detailed, human-readable reports. Detects cadences, chord characters, harmonic minor usage, and provides suggestions.
- ProgressionReport
Complete analysis report for a chord progression.
- RhythmAlternative
Alternative prediction.
- RhythmAnalysisResult
Complete rhythm analysis result.
- RhythmAnalyzer
Rhythm analyzer - meter detection, pattern recognition, syncopation.
- RhythmModelStatistics
Statistics about the rhythm model.
- RhythmModels
Pre-trained rhythm models for common styles.
- RhythmPattern
A recognized rhythmic pattern.
- RhythmPatternMatch
A matched rhythmic pattern with location.
- RhythmPrediction
Result of rhythm prediction.
- RhythmPredictor
Rhythm predictor using Markov chains and N-gram models.
- RhythmStatistics
Statistics about rhythmic features.
- SatbSeparationResult
SATB (Soprano/Alto/Tenor/Bass) separation convenience result. The four voices are indexed by their label — Soprano 0, Alto 1, Tenor 2, Bass 3 — whether filled or an empty stub.
- SecondaryDominantInfo
A detected secondary dominant / tonicization event.
- Voice
Represents a separated voice (melodic line) in polyphonic music.
- VoiceSeparationResult
Result of voice separation analysis.
- VoiceSeparator
Algorithm for separating polyphonic music into individual voices. Uses pitch proximity and voice leading principles.
- VoiceSeparatorOptions
Options for voice separation algorithm.
Structs
- CadenceInfo
Describes a detected cadence in the progression.
- ChromaticPitchEvent
A pitch outside the diatonic scale of the analyzed key.
- KeyCorrelation
Correlation of input with a specific key profile.
- KeyDetectionResult
Result of key detection analysis.
- MelodicHarmonyEvent
One melody note analyzed against the current chord slice.
- MelodicInterval
A single melodic interval with context.
- ModalKey
Extended key signature with modal information.
- ModalProgression
A named modal progression with scale degrees.
- ModalTurnEvent
A detected segment where a different mode explains the pitch material better than the base key mode.
- Period
Two adjacent phrases of near-equal length forming a period.
- Phrase
A run of notes delimited by rests, with its span and ending cadence.
- PitchClassSetAnalysisResult
Result of pitch-class set analysis: normal order, prime form, and interval vector (Forte set theory).
- RhythmEvent
A rhythmic event (onset) with metrical position.
- Section
A formal section identified by a letter label ("A", "B", ... "Z"; after 26 distinct sections the letters wrap with a numeric suffix: "A2", "B2", ...).
- VoiceInterval
Information about the interval between two voices at a specific time.
- VoiceMotion
Motion analysis between two voice transitions.
- VoiceNote
A note assigned to a specific voice.
Enums
- BeatStrength
Beat strength in a measure.
- CadenceType
Types of cadences (harmonic punctuation).
- ChordCharacter
Emotional/sonic character of a chord.
- GrooveFeel
High-level groove feel classification.
- IntervalQuality
Interval quality in terms of consonance/dissonance.
- MelodicContour
Overall shape/contour of a melody.
- MelodicDirection
Direction of melodic movement.
- MelodicHarmonyEventType
Classification of a melody note in harmonic context.
- MelodicMotionType
Classification of melodic motion between two notes.
- Mode
Church modes and modern modes derived from major scale.
- ModulationType
Type of modulation or tonicization.
- MotionType
Types of melodic motion between two voices.
- RhythmStyle
Named rhythm styles for pre-trained models.