[Contents] ·
[Home] ·
[Mail]

## SALIERI Language - poly

** Type:**

poly: segment x segment x ... -> segment

** Call syntax:**

poly(*segm_1*,
*segm_2*, ...)

{*segm_1*,
*segm_2*, ...}

** Description:**

*poly* is one of the basic operations on objects
of type segment. It returns a segment which is obtained
by adding the voices of *segm_1*,
*segm_2*, etc. in such a way that
all the voices from the different *segm_i* start
simultanously (vertical composition).

The resulting segment has #*segm1* +
#*segm2* + ... voices which are filled with
rests at their right end, if necessary, to make their
relative duration identical (poly-normalisation).

As a shorthand for *poly(segm1, segm2, ...)* the
equivalent notation *{segm1, segm2, ...}* can be used.
Also any of the *segm_i* can be sequences which are
treated as one voice segments.

** Example:**

> sg1 := [ {g1/4,h} {g/2,c2} {e1/4,a} {e/2,g} ]

> sg2 := [ {g0/4,d1} {e0/2,c1} {c0/4,c1} {e0/2,h} ]

> poly(sg1,sg2) := SEGM

*Result= SEGM([ g1/4 g1/2 e1/4 e1/2 ],[ h1/4 c2/2 a1/4 g1/2 ],[ g0/4 e0/2 c0/4 e0/2 ],[ d1/4 c1/2 c1/4 h0/2 ])*

> {sg1,[g0/4 c/2 a/4 e/2]}

*Result= SEGM([ g1/4 g1/2 e1/4 e1/2 ],[ h1/4 c2/2 a1/4 g1/2 ],[ g0/4 c0/2 a0/4 e0/2])*

> {sg1,[g0/4 c/2]}

*Result= SEGM([ g1/4 g1/2 e1/4 e1/2 ],[ h1/4 c2/2 a1/4 g1/2 ],[ g0/4 c0/2 _*3/4])*

** See also:**
SEGM,
+,
parts,
part.

[Contents] ·
[Home] ·
[Mail]

*© sic!systems, page frame designed by
hh;
this page has been automatically generated from the SALIERI
Documentation Database.
*