Namespace Celeritas.Core
Namespaces
Classes
- ChordAnalyzer
Identifies chords from sets of pitches, and computes 12-bit pitch-class masks (bit
nset means pitch classnis present).
- ChordLibrary
Lookup table mapping 12-bit pitch-class masks to recognized chords.
- CircleOfFifths
Utilities for the circle of fifths/fourths.
Note: this is pitch-class based (12-TET). Enharmonic spellings are controlled only by
preferSharps(no E#/Cb style spellings).
- DynamicsDirective
Dynamics marking (volume/intensity: pp, mf, ff, cresc, dim). Examples: "@dynamics pp", "@cresc to ff", "@dim to p"
- FunctionalProgressions
Functional-harmony progressions (diatonic by default). Includes circle-of-fifths (descending fifths) chains and common cadential patterns.
- KeyAnalyzer
Functional harmony analyzer using bitwise operations for performance
- MusicMath
Bulk pitch/velocity/timing operations over a
NoteBuffer, plus MIDI note-name conversions. Timing is in whole-note units.
- MusicNotation
Parser for musical notation (scientific pitch notation) Supports: C4, D#5, Bb3, etc.
- NotationDirective
Base type for notation directives (tempo, section, part markers, etc.). Directives don't produce sound - they annotate the musical timeline.
- NoteArithmeticExtensions
Extension members for note and pitch arithmetic on MIDI pitch integers and notation strings.
- NoteBuffer
A fixed-capacity, native-memory buffer of notes stored as a structure of arrays (pitch, offset, duration, velocity). Offsets and durations are in whole-note units. Must be disposed to release the unmanaged allocation.
- ParseResult
Result of parsing music notation.
- PartDirective
Part/voice assignment marker (for multi-part scores). Examples:
@part soprano,@part "Violin I",@part "Bass". A capitalised name is quoted;@part Basswould be read as the pitch B.
- SectionDirective
Section/form boundary marker (A, B, Verse, Chorus, Bridge, Coda, etc.). Examples:
@section "A",@section "Verse 1",@section "Chorus",@section intro. Section letters are quoted because A-G are pitch names and b is a flat.
- TempoBpmDirective
BPM (beats per minute) directive with optional ramp/transition. Examples:
@bpm 120,@bpm 120 -> 140 /2(ramp from 120 to 140 across a half note),@bpm 120 -> 60 /1~/1(ramp down across two whole notes).
- TempoCharacterDirective
Musical tempo marking (character/style: Presto, Vivace, Allegro, etc.). Examples:
@tempo presto,@tempo "Presto",@tempo "Allegro con brio". A value goes unquoted only when it is a lowercase word the notation has not already reserved, so anything with a capital, a digit or a space is quoted.
Structs
- ChordInfo
Compact chord info (8 bytes instead of 24+ for class)
- ChromaticInterval
Chromatic interval measured in semitones. Can be negative (descending) or larger than an octave (compound).
- FunctionalChord
A diatonic functional chord described by roman numeral + key.
- KeySignature
Key signature with root and mode
- NoteEvent
A single note event stored in a NoteBuffer.
Time convention: Offset and Duration are fractions of a WHOLE note ā a quarter note is
Rational.Quarter(1/4), one 4/4 measure is 1. This is the unit produced byMusicNotation.Parseand consumed by all analyzers and byMidiIo.
- PitchClass
Pitch class in 12-TET: values 0..11 (Cā¦B) with modulo-12 arithmetic.
- Rational
High-performance rational number for precise musical time representation. Automatically normalizes to the lowest terms; the denominator is always positive.
default(Rational)is a valid zero (0/1). Comparisons are exact (128-bit cross-multiplication, no overflow). Arithmetic operators reduce intermediate values via GCD and throw OverflowException if the true result does not fit in a 64-bit numerator/denominator, instead of silently wrapping.
- RomanNumeralChord
Result of roman numeral analysis
- SecondaryDominant
Secondary dominant chord (V or V7) targeting a diatonic degree. This is intentionally modeled as chromatic (non-diatonic) harmony.
- SpnNote
Musical note in scientific pitch notation (pitch class + octave). Backed by MIDI semantics: C-1 = 0, C4 = 60.
- TimeSignature
Time signature / meter.
Enums
- ChordQuality
Recognized chord qualities.
- CircleDirection
Direction of travel around the circle of fifths.
- DiatonicChordType
Whether a diatonic chord is built as a triad or a seventh chord.
- DynamicsType
Type of dynamics directive.
- HarmonicFunction
Harmonic function of a chord
- MinorDominantStyle
How the dominant (degree V) is treated in a minor key.
- ScaleDegree
Scale degree in roman numeral notation