[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.