[Contents] · [Home] · [Mail]

SALIERI Language - transcr

Type:
transcr: segment x sequence x sequence -> segment
transcr: sequence x sequence x sequence -> sequence

Call syntax:
transcr(segm, srcScale, dstScale)

Description:
transcr returns the segment obtained by translating each voice of segm from scale srcScale to dstScale.

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 transcription process is realised by detecting the scale-positions of each individual tone with respect to scale srcScale and translating it to the respective scale position in dstScale. 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).

transcr 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 srcScale are replaced by rests in the resulting segment while no error condition arises. If one of srcScale or dstScale is not a proper scale, the result of transcr is not well defined and should be considered meaningless.

Attention!
For tonal operations like transcr, 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.

Example:
> cMajor:=[c d e f g a h]
> gMajor:=[g a h c2 d e f#]
> seq:=[_/8 d1 c f a# h]
> transcr(seq,cMajor,gMajor) > transcr(seq,gMajor,cMajor) > transcr([c1/4 cis d], cMajor, gMajor)
Result= [ g1/4 _/4 a1/4 ]
> transcr([c1/4 c# d], cMajor, gMajor)
Result= [ g1/4 _/4 a1/4 ]

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


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