new DHCsettings( preset )

Description

The main Dynamic Harmonics Calculator class

Parameters
Name Type Default Description
preset string false

A JSON string containing...

Details

Members


global :Object

Description

Global settings

Properties
Name Type Description
hz_accuracy number

Number of decimal places (on UI) for numbers expressed in hertz (Hz)

cent_accuracy number

Number of decimal places (on UI) for numbers expressed in cents

enharmonic_nn 'sharp' | 'flat' | 'relative'

Enharmonic note naming; 'sharp' for [#], 'flat' for [b] or "relative" for [#/b]

middle_c number

Middle C octave (-1 = from octave -1 >> Middle C = 60) - Starting octave

Details
Object

controller :Object

Description

Controller settings

Properties
Name Type Description
pb Object

Controller's Pitch Bend settings

Name Type Description
range cent

Range value in cents (use hundreds when use MIDI-OUT and possibly the same as the instrument)

amount number

Current input controller pitchbend amount.
Value from -8192 to +8191, normalized to the ratio from -1 to 0,99987792968750
Init amount is always 0.

receive_mode 'keymap' | 'tsnap-channel' | 'tsnap-divider'

FT/HT controller note receiving mode

tsnap Object

Tone snapping receiving mode settings

Name Type Description
tolerance midicent

Snap tolerance in midicent; it's the maximum difference within which you can consider
two frequencies as the same note

divider midinnum

The note, on a MIDI piano keyboard, that divides the FTs from HTs;
the notes smaller or equal to the divider will be considered FT, the greater ones will be considered HT

channel Object

Namesapace for tone snapping Channel Mode settings

Name Type Description
ft midichan

The MIDI channel assigned to FTs; all notes received on this channel will be considered as FT

ht midichan

The MIDI channel assigned to HTs; all notes received on this channel will be considered as HT

Details
Object

- Move to midi-in (one per input channel?)


fm :Object

Description

Fundamental Mother (FM) settings

Properties
Name Type Description
hz hertz

Frequency expressed in hertz (Hz)

mc midicent

Frequency expressed in midi.cents (mc)

init 'mc' | 'hz'

What unit to use to initialize, 'hz' or 'mc'

Details
Object

ft :Object

Description

Fundamental Tones (FTs) scale tuning method settings

Properties
Name Type Description
nEDx Object

"Equal Temperament" tuning method parameters

Name Type Description
unit number

The ratio to divide

division number

The equal divisions

h_s Object

"Harmonics and subharmonics" tuning method parameters

Name Type Description
natural Object

Natural (no transposition)

Name Type Description
h_tr tratio

Transpose ratio in decimal for Harmonics

s_tr tratio

Transpose ratio in decimal for Subharmonics

sameOctave Object

Same octave transposition

Name Type Description
h_tr tratio

Transpose ratio in decimal for Harmonics

s_tr tratio

Transpose ratio in decimal for Subharmonics

selected 'natural' | 'sameOctave'

Default/current sub-method selected

file Object

Tuning files method (currently not used)

selected 'nEDx' | 'h_s' | 'file'

Default/current method selected

steps number

+/- Steps for {DHC#tables.ft}

'steps' to final range: MIDI Note number range considerations

32 = -32 > +32 : (old default: I think +-64 is too wide, but let's try)

64 = -64 > +64 : FM = midi#63 or midi#64 to use the full MIDI note range

( midi#63 out of range on -1 )

( midi#64 out of range on 128 )

Details
Object

ht :Object

Description

Harmonic/subharmonic Tones (HTs) scale tuning settings

Properties
Name Type Description
transpose Object

Harmonics and subharmonics transpose

Name Type Description
h tratio

Transpose ratio in decimal for Harmonics

s tratio

Transpose ratio in decimal for Subharmonics

curr_ft xtnum

The current FT (that generated the last HT table); init value must be 0

curr_ft xtnum

The last pressed HT; init value should be null

Details
Object