[Contents] · [Home] · [Mail]

SALIERI Language - getPitchTonal

getPitchTonal: sequence x sequence x integer -> integer x integer
getPitchTonal: sequence x integer -> integer x integer

Call syntax:
getPitchTonal(seq, sc, i)
getPitchTonal(seq, sc)

getPitchTonal returns a list containing the scale position and alteration of the note at index position i of sequence seq. with respect to scale sc. If no index position is specified, i = 1 is assumed. Note, that the first tone in the scale has scale position 0.

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.

Index positions are counted starting with 1.

Error conditions:
If i is not a valid index position, i.e., i < 1 or i > length(seq), or the note at that position is a rest, or the specfied note's pitch-classes is not represented in sc, an empty list LIST() is returned. (Rests can be detected using the isRest function.)

If sc is not a proper scale, the result of getPitchTonal is not well defined and should be considered meaningless.

For tonal operations like getPitchTonal, there is a significant difference between enharmonic pitches like c# and cis (see examples).

> cMajor:=[c1 d e f g a h]
> gMajor:=[g1 a h c2 d e f#]
> getPitchTonal([c1/4 c#],cMajor,2)
Result= LIST(0,1)
> getPitchTonal([c1/4 c#],gMajor,2)
Result= LIST(-4,1)
> getPitchTonal([cis2],gMajor)
Result= LIST()
> getPitchTonal([c#2],gMajor)
Result= LIST(3,1)
> getPitchTonal([c1 d _ ],gMajor,3)
Result= LIST()
> getPitchTonal([c1 d _ ],gMajor,-1)
Result= LIST()

See also: transpTonal, transcr, getPitch, isRest, length.

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