Maestro - Midi Player Tool Kit for Unity Version 2.19.0
Loading...
Searching...
No Matches
MidiPlayerTK.MPTKChordProgressionPreset

Preset chord progression data with mood tags and helpers that convert Roman numerals into playable chord-library entries (MPTKChordName + tonic). Degree token grammar: [accidentals][Roman degree][optional suffix]. More...

Public Member Functions

 MPTKChordProgressionPreset (string id, string name, MPTKTonalMode mode, MPTKProgressionGenre genre, MPTKHarmonyFlavor harmonyFlavor, string[] moodTags, string[] degrees, string example, int intensity, int harmonicTension)
 Creates a new progression preset descriptor.

Public Attributes

string Id
 Stable preset identifier.
string Name
 Display name of the preset.
MPTKTonalMode Mode
 Tonal mode used by the progression.
MPTKProgressionGenre Genre
 Style family of the progression.
MPTKHarmonyFlavor HarmonyFlavor
 Harmonic language classification.
string[] MoodTags
 Mood keywords attached to the preset.
string[] Degrees
 Progression steps in Roman-degree notation. Example tokens: "I", "V", "vi", "IV", "bII", "V7", "Imaj7", "viio", "iib57".
string Example
 Human-readable progression example in a reference key.
int Intensity
 Subjective energy rating from 1 (low) to 5 (high).
int HarmonicTension
 Subjective harmonic tension rating from 1 (low) to 5 (high).

Detailed Description

Preset chord progression data with mood tags and helpers that convert Roman numerals into playable chord-library entries (MPTKChordName + tonic). Degree token grammar: [accidentals][Roman degree][optional suffix].

  • Accidentals: zero or more 'b' or '#', for example "bII", "##IV".
  • Roman degree core: I, II, III, IV, V, VI, VII (uppercase or lowercase). Case does not change the scale degree index, only the default triad quality
    • uppercase starts from major-triad quality,
    • lowercase starts from minor-triad quality.
  • Optional suffix markers understood by the parser: "7", "maj7", "sus", "sus4", "sus2", "dim", "o", "b5", "#5", "aug", "+". Practical examples in C:
  • "I - V - vi - IV" -> C - G - Am - F
  • "I - iii - IV - iv" -> C - Em - F - Fm Canonical degree cores are 7 values (I..VII, upper/lower case intent), but raw token strings are unbounded because accidental prefixes and suffix text can be combined freely. Notes:
  • Use ASCII only in the API.
  • Half-diminished chords should be written as m7b5-style Roman tokens, for example: "iib57".
  • Diminished chords can be written with "o" or "dim", for example: "viio" or "viidim7".

Constructor & Destructor Documentation

◆ MPTKChordProgressionPreset()

MidiPlayerTK.MPTKChordProgressionPreset.MPTKChordProgressionPreset ( string id,
string name,
MPTKTonalMode mode,
MPTKProgressionGenre genre,
MPTKHarmonyFlavor harmonyFlavor,
string[] moodTags,
string[] degrees,
string example,
int intensity,
int harmonicTension )

Creates a new progression preset descriptor.

Parameters
idStable preset identifier.
nameDisplay name of the preset.
modeTonal mode used by the progression.
genreStyle family of the progression.
harmonyFlavorHarmonic language classification.
moodTagsMood keywords attached to the preset.
degreesProgression steps in Roman-degree notation.
exampleHuman-readable progression example.
intensitySubjective energy rating from 1 (low) to 5 (high).
harmonicTensionSubjective harmonic tension rating from 1 (low) to 5 (high).