GenoMus download genotype functions about

sConcatS

description

Concatenates two scores sequentially.
index: 15 (introduced in version 1.00)

syntax

sConcatS(score1, score2)

arguments

score1scoreF
First score to be concatenated.

score2scoreF
Second score to be concatenated. All voices of this score will be written starting at the rhythmic end point of the first score.

examples

Two simple scores, each with a single random event, concatenated.
↓ specimen

sConcatS(
   s(
      v(
         e(
            nRnd(),
            mRnd(),
            aRnd(),
            iRnd()))),
   s(
      v(
         e(
            nRnd(),
            mRnd(),
            aRnd(),
            iRnd()))))

Concatenation of a generative Brownian process, evaluated twice through self-reference with sAutoref. The random melody generated by lBrownian begins the second iteration from another randomly chosen starting point, selected by pRnd.
↓ specimen

sConcatS(
    s(
        vPerpetuumMobileLoop(
            n(0.12),
            lmWrap(
                lBrownian(
                    pRnd(),
                    p(0.1),
                    q(30),
                    p(0.23))),
            la(60),
            li(60))),
        sAutoref(1))

sConcatS example

Nested variation of the previous example: sConcatS, which concatenates a process like the previous one with a new repetition of the same, referenced again with sAutoref. Both scores of 2 voices are concatenated voice by voice.
↓ specimen

sConcatS(
    sConcatS(
        sAddV(
            s(
                vPerpetuumMobileLoop(
                n(0.12),
                lmWrap(
                    lBrownian(
                        pRnd(),
                        p(0.07),
                        q(16),
                        p(0.23))),
                la(50),
                li(80))),
            vAutoref(1)),
        sAutoref(2)),
    sAutoref(3))

sConcatS example

A new nested variation of the previous process: now three voices in parallel repeat the melody generated with lBrownian, but their length is variable, as it is determined by qRnd. With two nested sConcat, this same process is concatenated four times. It can be seen how in each of the four juxtaposed sequences it starts with three voices and they gradually disappear. Once the last voice has finished, the next cycle is concatenated. Thus, it can be seen that for the voice-to-voice concatenation, it waits until an entire block has finished before the juxtaposition.
↓ specimen

sConcatS(
    sConcatS(
        sAddV(
            sAddV(
                s(
                    vPerpetuumMobileLoop(
                    n(0.12),
                    lmWrap(
                        lBrownian(
                            pRnd(),
                            p(0.1),
                            qRnd(),
                            p(0.23))),
                    la(70),
                    li(60))),
                vAutoref(1)),
            vAutoref(1)),
        sAutoref(3)),
    sAutoref(4))

sConcatS example