[Contents] · [Home] · [Mail]

SALIERI Language - transpTonal

transpTonal: segment x sequence x integer -> segment
transpTonal: sequence x sequence x integer -> sequence

Call syntax:
transp(segm, sc, i)

transpTonal returns the segment obtained by tonal transposition of each voice of segm by i steps with respect to scale sc.

Scales are sequences which are ordered with respect to pitch, such that no pitch-class occurs more than once, and which encompass an ambitus of less than one octave. Scales may contain alterations, as long as no base pitch class is represented more than once. Scales must not contain rests.

The tonal transpostion process is realised by detecting the scale-positions of each individual tone with respect to scale sc and increasing these by i. In this process, alterations are interpreted with respect to the pitches in the respective scales and consequently, they are translated along with the base pitch-classes (see examples). Positive values of i realise upward transpositions, negative i can be used to achieve downward transpositions.

transpTonal can also be applied to sequences instead of segments and returns then a sequence as its result value.

Error conditions:
Notes with pitch-classes not represented in sc are replaced by rests in the resulting segment while no error condition arises. If sc is not a proper scale, the result of transpTonal is not well defined and should be considered meaningless.

For tonal operations like transpTonal, there is a significant difference between enharmonic pitches like c# and cis (see examples). Special caution should be exercised when using the diatonic noteName setting, where chromatic pitch-classes are translated into diatonic pitches by the output-routines. When confused about the results of tonal operations, set noteNames(I> to chromatic.

> cMajor:=[c d e f g a h]
> gMajor:=[g a h c2 d e f#]
> seq:=[c1/4 f a# _ e3]
> transpTonal(seq,cMajor,5) > transpTonal(seq,gMajor,-3) > transpTonal([c1/4 cis d], cMajor, +1)
Result= [ d1/4 _/4 e1/4 ]
> transpTonal([c1/4 c# d], cMajor, +1)
Result= [ d1/4 d#1/4 e1/4 ]

See also: getPitchTonal, transcr, transp, System Settings.

[Contents] · [Home] · [Mail]
© sic!systems, page frame designed by hh; this page has been automatically generated from the SALIERI Documentation Database.