[Contents] · [Home] · [Mail]

SALIERI Language - segment (Object Type)

Objects of type segment represent multiple voice musical scores. Like sequence constants, constants of type segment are specified using basic GUIDO notation, a music representation format designed along with the SALIERI Language. A segment constant is a series of note sequences s_i (the voices or parts) seperated by commas and delimited by curly braces {s_1,s_2, ... s_n}. Analogously, the syntax SEGM(s_1,s_2, ... s_n) can be used; but as this considered obsolete its usage should be avoided.

Within the SALIERI System, segments are always normalised in such a way, that all the voices have the same duration; this is achieved by appending rests where required (poly-normalisation).

The voices within a segment are numbered 1,2,etc. and the ordering of the voices is considered relevant, i.e., {[c&1/4],[a&0/4]} is not equal to {[a&0/4],[c&1/4]}. However, there is no requirement to sort the voices in a particular way (lowest first or last) also this might be a good idea to do for certain applications.

The basic operations on segments include functions for determining the number of parts of a segment (parts), extracting individual voices (part), concatenation segments (+) and synchronisation (poly).

Besides these there is a large number of predefined musical functions which can be used to analyse and variate segments; many operations on sequences can be used for segments as well, where they are applied to each voice inididually.

Example:
> sg := {[d&2/2 c/6 d& e& f/2], [d&0/2. h&-1/2]}
> sg
Result= SEGM([ d&2/2 c2/6 d&2/6 e&2/6 f2/2 ],[ d&0*3/4 h&-1/2 _/4 ])
> parts(sg)
Result= 2
> part(sg,2)
Result= [ d&0*3/4 h&-1/2 _/4 ]
> {[c1/2],[e1/4],[g1/4]}+{[d1/2],[g1/2]}
Result= SEGM([ c1/2 d1/2 ],[ e1/4 _/4 g1/2 ],[ g1/4 _/4 _/2 ])
> poly({[c1/4],[e1/4],[g1/4]},{[c2/4],[c0/2]})
Result= SEGM([ c1/4 _/4 ],[ e1/4 _/4 ],[ g1/4 _/4 ],[ c2/4 _/4 ],[ c0/2 ])

See also: segment, musical functions, predefined functions.


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