loopsegp
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## loopsegp

loopsegp — Signaux de contrôle basés sur des segments de droite.

## Description

Génère un signal de contrôle constitué de segments de droite délimités par deux ou plus points spécifiés. L'enveloppe entière peut être parcourue en boucle à une vitesse variable. Chaque coordonnée de segment peut aussi varier au taux-k.

## Syntaxe

    ksig loopsegp  kphase, kvalue0, kdur0, kvalue1 \
          [, kdur1, ... , kdurN-1, kvalueN]

## Exécution

ksig - signal de sortie.

kphase - point de la séquence lu, exprimé en fraction d'un cycle (de 0 à 1)

kvalue0 ...kvalueN - valeurs des points.

kdur0 ...kdurN-1 - durée des points exprimée en fractions d'un cycle.

L'opcode loopsegp est semblable à loopseg ; la seule différence étant que, à la place de la fréquence, une phase variable est utilisée. Si l'on utilise un phaseur pour obtenir la valeur de la phase, on aura un comportement identique à celui de loopseg, mais on peut obtenir des résultats intéressants avec des phases à l'évolution non linéaire, ce qui rend loopsegp plus puissant et plus général que loopseg.

## Exemples

Voici un exemple de l'opcode loopsegp. Il utilise le fichier loopsegp.csd.

Exemple 458. Exemple de l'opcode loopsegp.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    -odac      ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o loopsegp.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    instr 1
    ktrig metro 22/8 ; triggers used to generate new direction values
    kdir  trandom ktrig,-2.99,2.99
    kdir  =       0.5*int(kdir) ; kdir will either -1, -0.5, 0, 0.5 or 1
    ; kphase - looping pointer
    kphase phasor kdir
    ; a loop sequence of midi note numbers and durations
    knote loopsegp  kphase, 40,1,40,0, 43,1,43,0, 49,2,48,0, \
     47,1,47,0, 46,1,46,0, 46,1,47,0, 49,1,49,0, 43,1,43,0, 46,1,46,0, 40,1,39,0
    kmul  rspline 0.1,0.8,0.5,5                         ; modulation of buzz tone
    asig  gbuzz   0.2, cpsmidinn(knote), 30, 3, kmul, 1 ; buzz tone
          outs    asig, asig

          schedkwhen ktrig,0,0,2,0,0.1 ; play metronome
    endin

    instr 2 ; metronome
    acps  expon   180+rnd(40),p3,50
    aamp  expon   0.05+rnd(0.05),p3,0.001
    asig  poscil  aamp-0.001,acps,2
          outs    asig,asig
    endin

    </CsInstruments>
    <CsScore>
    ; cosine wave.
    f 1 0 16384 11 1
    ; sine wave.
    f 2 0 16384 10 1

    i 1 0 360 0.25

    e
    </CsScore>
    </CsoundSynthesizer>

## Crédits

Ecrit par Gabriel Maldonado.

Nouveau dans Csound 5. (Auparavant, disponible seulement dans CsoundAV)

Précédent | Niveau supérieur | Suivant
loopseg | Sommaire | looptseg