Table of Contents

Class FiguredBassRealizer

Namespace
Celeritas.Core.FiguredBass
Assembly
Celeritas.dll

Realizes figured bass notation into actual chord voicings

public sealed class FiguredBassRealizer
Inheritance
FiguredBassRealizer
Inherited Members

Constructors

FiguredBassRealizer(FiguredBassOptions?)

Creates a realizer with the given options, or defaults when options is null.

public FiguredBassRealizer(FiguredBassOptions? options = null)

Parameters

options FiguredBassOptions

FiguredBassRealizer(FiguredBassRealizerOptions)

Creates a realizer with extended realizer options (voice crossing, movement limits).

public FiguredBassRealizer(FiguredBassRealizerOptions options)

Parameters

options FiguredBassRealizerOptions

Exceptions

ArgumentNullException

options is null.

Methods

ParseAccidentals(string)

Parse accidentals from figured bass string (e.g., "#3", "b7", "#3/#5"), keyed by the figure each one alters.

public static Dictionary<int, char> ParseAccidentals(string figuresStr)

Parameters

figuresStr string

Returns

Dictionary<int, char>

Remarks

Reads the same tokens ParseFigures(string) does. Before that, an accidental was recognised only immediately in front of a single digit: "6#" and "6+" — the postfix forms older editions use — were silently dropped, "b10" put its flat on a figure 1 that does not exist and left the tenth natural, and a bare "#", which every figured-bass reader knows as a raised third, altered nothing. Each of those realized as a chord the figures did not ask for, with no error to say so.

Exceptions

ArgumentNullException

figuresStr is null.

ParseFigures(string)

Parse figured bass notation string (e.g., "6", "7", "6/5", "#3/#5").

public static int[] ParseFigures(string figuresStr)

Parameters

figuresStr string

Returns

int[]

Remarks

Figures are separated by a slash, a comma, a dash or whitespace — the ways a stack of figures gets written on one line — so "6/4", "6 4", "6-4" and "6,4" are all a six-four. An accidental may precede its figure ("#6"), follow it ("6#"), or be written as a trailing plus for a sharp ("6+"), and a figure may run to two digits ("b10"). An accidental with no figure at all ("#") is the figured-bass convention for the third, and reads as "#3". The accidentals are read by ParseAccidentals(string) from the same tokens, so the two methods cannot disagree about which figure an accidental belongs to.

Exceptions

ArgumentNullException

figuresStr is null.

Realize(FiguredBassSymbol[])

Realize a sequence of figured bass symbols into chord voicings

public NoteEvent[] Realize(FiguredBassSymbol[] symbols)

Parameters

symbols FiguredBassSymbol[]

Returns

NoteEvent[]

Exceptions

ArgumentNullException

symbols is null.

RealizeSymbol(FiguredBassSymbol)

Realize a single figured bass symbol

public NoteEvent[] RealizeSymbol(FiguredBassSymbol symbol)

Parameters

symbol FiguredBassSymbol

Returns

NoteEvent[]

Exceptions

ArgumentNullException

symbol is null.