CAST Transforms: Inharmonicity

revised 2/3/98

Introduction

The frequencies of all partials are modified in order to perturb the harmonic relationship that may exist between them.

Parameters

Message Argument(s) Type(s) Description
stretch Partial frequency stretch factor Float This parameter implements a power law rule. It should be a value around 1.0. The frequency of the n'th partial (0 based) is multiplied by stretch to the power n.
 add Partial frequency offset (Hertz) Float After the stretch computation is done, the value of add is added to all partials. This causes a frequency shift as well is a change in the partial frequencies when viewed as ratios one with the other.

For example, suppose you're synthesizing a tone with 10 partials with frequencies 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000.

Examples

For the following examples execute: demosoftcast /usr/local/cast/lib/data/coleman/lick1.fmt.

The identity :

/voices/0/inharm/stretch 1.0
/voices/0/inharm/add 0.0
/voices/0/tm/goto 0.0

Expansion:

/voices/0/inharm/stretch 1.05
/voices/0/inharm/add 0.0
/voices/0/tm/goto 0.0

Contraction:

/voices/0/inharm/stretch 0.95
/voices/0/inharm/add 0.0
/voices/0/tm/goto 0.0

Add:

/voices/0/inharm/stretch 1.0
/voices/0/inharm/add 50.0
/voices/0/tm/goto 0.0

Subtract:

/voices/0/inharm/stretch 1.0
/voices/0/inharm/add -50.0
/voices/0/tm/goto 0.0